Go-Ethereum-By-Instance

A Prometheus metric dashboard for go-ethereum, supports all blockchains compatible with go-ethereum

Go-Ethereum-By-Instance screenshot 1
Go-Ethereum-By-Instance screenshot 2
<p>When starting go-ethereum(aka: geth), it is necessary to add the <code>--metrics</code> and <code>--metrics.expensive</code> parameters. eg:</p> <div class="code-snippet "><div class="lang-toolbar"> <span class="lang-toolbar__item lang-toolbar__item-active">sh</span> <span class="code-clipboard"> <button x-data="app_code_snippet()" x-init="init()" @click="copy()"> <img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13"> <span>Copy</span> </button> </span> <div class="lang-toolbar__border"></div> </div><div class="code-snippet "> <pre data-expanded="false"><code class="language-sh">geth &lt;other commands&gt; --metrics --metrics.addr 127.0.0.1 --metrics.port 6060 --metrics.expensive</code></pre> </div> </div> <p>Prometheus collects metrics using the following method:</p> <div class="code-snippet "><div class="lang-toolbar"> <span class="lang-toolbar__item lang-toolbar__item-active">YAML</span> <span class="code-clipboard"> <button x-data="app_code_snippet()" x-init="init()" @click="copy()"> <img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13"> <span>Copy</span> </button> </span> <div class="lang-toolbar__border"></div> </div><div class="code-snippet "> <pre data-expanded="false"><code class="language-yaml"> - job_name: &#39;go-ethereum&#39; scrape_interval: 10s metrics_path: /debug/metrics/prometheus static_configs: - targets: - &#39;127.0.0.1:6060&#39; labels: chain: ethereum</code></pre> </div> </div> <p>And If you need to collect rpc related metrics, add a <a href="https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/" target="_blank" rel="noopener noreferrer">Prometheus recording rule</a> as below:</p> <div class="code-snippet "><div class="lang-toolbar"> <span class="lang-toolbar__item lang-toolbar__item-active">YAML</span> <span class="code-clipboard"> <button x-data="app_code_snippet()" x-init="init()" @click="copy()"> <img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13"> <span>Copy</span> </button> </span> <div class="lang-toolbar__border"></div> </div><div class="code-snippet "> <pre data-expanded="false"><code class="language-yaml"> groups: - name: geth_rpc_requests_rules rules: - expr: label_replace({__name__=~&#34;rpc_duration_.*_success&#34;}, &#34;method&#34;, &#34;$1&#34;, &#34;__name__&#34;, &#34;rpc_duration_(.&#43;)_success&#34;) record: geth_rpc_requests_success - expr: label_replace({__name__=~&#34;rpc_duration_.*_failure&#34;}, &#34;method&#34;, &#34;$1&#34;, &#34;__name__&#34;, &#34;rpc_duration_(.&#43;)_failure&#34;) record: geth_rpc_requests_failure - expr: label_replace({__name__=~&#34;rpc_duration_.*_success_count&#34;}, &#34;method&#34;, &#34;$1&#34;, &#34;__name__&#34;, &#34;rpc_duration_(.&#43;)_success_count&#34;) record: geth_rpc_requests_success_count - expr: label_replace({__name__=~&#34;rpc_duration_.*_failure_count&#34;}, &#34;method&#34;, &#34;$1&#34;, &#34;__name__&#34;, &#34;rpc_duration_(.&#43;)_failure_count&#34;) record: geth_rpc_requests_failure_count</code></pre> </div> </div>
Revisions
RevisionDescriptionCreated

Get this dashboard

Import the dashboard template

or

Download JSON

Datasource
Dependencies