# Monitoring Ethereum and Bitcoin Full Nodes with Netdata

**URL:** <https://community.netdata.cloud/t/monitoring-ethereum-and-bitcoin-full-nodes-with-netdata/1400>\
**Category:** General\
**Created:** [June 4, 2021, 2:08pm UTC](https://community.netdata.cloud/t/monitoring-ethereum-and-bitcoin-full-nodes-with-netdata/1400 "2021-06-04T14:08:20Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![OdysLam](https://yyz1.discourse-cdn.com/flex029/user_avatar/community.netdata.cloud/odyslam/32/98_2.png) [@OdysLam](https://community.netdata.cloud/u/OdysLam)\
**Post date:** [June 4, 2021, 2:08pm UTC](https://community.netdata.cloud/t/monitoring-ethereum-and-bitcoin-full-nodes-with-netdata/1400/1 "2021-06-04T14:08:20Z")

</div>

Hey everyone,

Over the last few days, I have been doing some experiments around monitoring blockchain-related applications with Netdata, which I think it’s a natural fit.

In case you are not familiar with space, here is an awesome primer on the main concepts behind blockchain:

[![](https://canada1.discourse-cdn.com/flex029/uploads/netdata2/original/2X/a/a405a3fc729072635d48ea7fedc370dab8659b44.jpeg "But how does bitcoin actually work?") ](https://www.youtube.com/watch?v=bBC-nXj3Ng4)

# Why Netdata + Blockchain

## Full-Node operators

 ![image](https://canada1.discourse-cdn.com/flex029/uploads/netdata2/original/1X/a8254edc1d877163a463019bcdf676c092559946.png)

First of all, there are roughly 2 ways that a full-node operator can make money. The first one is if they are a miner as well, that means that they invest _value_ into the system, boosting its security. What they get in return is the system’s reward.

Roughly, there are 2 types of _values_ that a miner can invest. In PoW systems, the miner invests computational power, which comes with a high cost in chips and electricity. In PoS systems, the miner invests capital in the form of the native cryptocurrency of the system.

In both systems, they are incentivized to play nicely, since in case they don’t, they lose _part_ of the value they have invested. In PoW that is wasted computations and in PoS that is part of the staked capital.

The other group of full-node operators is those who offer their full-node as a service to receive transactions, verify them and broadcast them in the network for miners to pick them up and bundle them in blocks.

In the case of an outage, both operators lose money. The miner because their system stops supplying the system with security (thus the system punishes it) and in the case of a full-node operator, they lose a particular time window for a particular transaction.

That second externality is most relevant to trading, where the right transaction must be submitted timely to be included and profit (e.g arbitrage). Ofc, if they offer ‘Full-node as a service’, they also lose clients. (e.g [Infura](https://infura.io/))

In both cases, we have very high stakes, where people need to monitor their systems and ensure a smooth 24/7 uptime at optimal performance. You can’t be a miner and suddenly lose 50% of your computational capacity because some GPU stopped working.

## Why Netdata

I think that the Netdata Agent fits naturally in this context, as it offers per-second metrics of _every_ system metric. Moreover, it does all the legwork for the user (auto-detection, auto-configuration, default alerts, chart creation).

Think about it. We have a large group of people, with very high financial stakes, who do not have the time, expertise and/or interest to set up complex monitoring solutions for their setups.

They just want something that works™️

We see that a considerable number of miners is not some big company that can spare to hire DevOps people to monitor and maintain their systems, but a lot of smaller operations.

These operations can’t afford to hire that specialized people.

Yet, they have the exact same needs.

So, this thread is actually a CTA for blockchain operators in the #Ethereum and #Bitcoin space.

I want to speak to you. so that I can better understand your needs and enrich Netdata with application-specific metrics.

That’s right. All the things that I mentioned above, not only for your system but for the full-node software itself.

Right now, we can gather _all_ the metrics from both [go-ethereum](https://github.com/ethereum/go-ethereum) and [OpenEthereum](https://github.com/openethereum/openethereum) full nodes, using our [Prometheus endpoint collector](https://learn.netdata.cloud/docs/agent/collectors/go.d.plugin/modules/prometheus).

**This is not ideal.**

What we really want is our own collector, which will gather the metrics that we want and organize them into meaningful charts. Then, based on these charts, we will create sane default alarms.

(BTW, there is an FAQ about collectors:

> [@What are collectors and how do they work?](https://community.netdata.cloud/t/what-are-collectors-and-how-do-they-work/1189):
>
> Netdata gathers data from data sources using a collector system. A collector can be implemented differently, but it’s a logical “unit” that: Gathers data from a data source Organizes raw data into charts (and performs any processing required) Stores the data into the [database](https://learn.netdata.cloud/docs/agent/database) and/or sends data to the [streaming](https://learn.netdata.cloud/docs/agent/streaming) module There are 2 kinds of collectors: Internal Collectors [External Collectors](https://learn.netdata.cloud/docs/agent/collectors/plugins.d) Internal Collectors are implemented inside the core Netdata Agent. External collectors are actually p…

This is where I need you.

Netdata is an OSS agent that democratizes monitoring, for everyone, for free. In order to do that, I need your domain expertise.

What metrics matter, why they matter, how should they be presented to the user. What grouping should we do?

If you are interested, leave a comment below and let’s bring zero-effort monitoring to the blockchain world! Ideally, we will implement these collectors in Golang, since we already have packages to gather data from prometheus endpoints.

---

<div class="post-metadata">

**Author:** ![OdysLam](https://yyz1.discourse-cdn.com/flex029/user_avatar/community.netdata.cloud/odyslam/32/98_2.png) [@OdysLam](https://community.netdata.cloud/u/OdysLam)\
**Post date:** [June 8, 2021, 3:18pm UTC](https://community.netdata.cloud/t/monitoring-ethereum-and-bitcoin-full-nodes-with-netdata/1400/2 "2021-06-08T15:18:49Z")

</div>

With the following PRs, Netdata will auto-detect most widely-used Ethereum full nodes!

> <https://github.com/netdata/netdata/pull/11220#pullrequestreview-678628681>
>
> This PR adds support to apps\_groups.conf for a couple of very common blockchain …technologies. 
> 
> Next step is to explore how to gether metrics from the blockchain nodes themselves, starting from Ethereum and blockchain

> <https://github.com/netdata/go.d.plugin/pull/580#event-4859043123>
>
> Tested :)

Check the video below, couple of highlights:

- eBPF monitoring for every application
- Minimal overhead: 2.500 metrics, but consume less than 1% of CPU
- Application-specific metrics thanks to our [Prometheus endpoint collector](https://learn.netdata.cloud/docs/agent/collectors/go.d.plugin/modules/prometheus)

---

<div class="post-metadata">

**Author:** ![OdysLam](https://yyz1.discourse-cdn.com/flex029/user_avatar/community.netdata.cloud/odyslam/32/98_2.png) [@OdysLam](https://community.netdata.cloud/u/OdysLam)\
**Post date:** [June 14, 2021, 12:04pm UTC](https://community.netdata.cloud/t/monitoring-ethereum-and-bitcoin-full-nodes-with-netdata/1400/3 "2021-06-14T12:04:20Z")

</div>

Follow the discussion for creating an Ethereum Collector in the following thread:

> [@Let's build a Golang collector for monitoring Ethereum Full Nodes](https://community.netdata.cloud/t/lets-build-a-golang-collector-for-monitoring-ethereum-full-nodes/1426/2):
>
> For starters, we need a template collector as the basis for our collector. We will use VerneMQ, as @ilyam8 kindly pointed out to me. Moreover, we have a golang guide to help us along the way:

---

<div class="post-metadata">

**Author:** ![DK.mpls](https://yyz1.discourse-cdn.com/flex029/user_avatar/community.netdata.cloud/dk.mpls/32/919_2.png) [@DK.mpls](https://community.netdata.cloud/u/DK.mpls)\
**Post date:** [June 14, 2021, 5:05pm UTC](https://community.netdata.cloud/t/monitoring-ethereum-and-bitcoin-full-nodes-with-netdata/1400/4 "2021-06-14T17:05:23Z")

</div>

> [@OdysLam](#):
>
> Think about it. We have a large group of people, with very high financial stakes, who do not have the time, expertise and/or interest to set up complex monitoring solutions for their setups.

Exactly! Looking forward to assisting.

---

<div class="post-metadata">

**Author:** ![OdysLam](https://yyz1.discourse-cdn.com/flex029/user_avatar/community.netdata.cloud/odyslam/32/98_2.png) [@OdysLam](https://community.netdata.cloud/u/OdysLam)\
**Post date:** [June 15, 2021, 5:05am UTC](https://community.netdata.cloud/t/monitoring-ethereum-and-bitcoin-full-nodes-with-netdata/1400/5 "2021-06-15T05:05:54Z")

</div>

@DK.mpls are you running an Ethereum node?

I would love your input regarding the metrics that geth is making available. I shared the metrics in the topic that I linked above.

If you like, drop me a message in our Discord server and let’s continue the discussion there!

---

<div class="post-metadata">

**Author:** ![OdysLam](https://yyz1.discourse-cdn.com/flex029/user_avatar/community.netdata.cloud/odyslam/32/98_2.png) [@OdysLam](https://community.netdata.cloud/u/OdysLam)\
**Post date:** [August 3, 2021, 11:28am UTC](https://community.netdata.cloud/t/monitoring-ethereum-and-bitcoin-full-nodes-with-netdata/1400/6 "2021-08-03T11:28:51Z")

</div>

Hey everyone, a quick update on this.

EthCC was a blast and I compiled a full guide on how to monitor an Ethereum Node and extend it!

We go into both system monitoring and how Geth affects the underlying system.

Feedback is more than welcome!

> **[How to monitor your Ethereum Node in under 5m](https://dev.to/odyslam/how-to-monitor-ethereum-node-in-under-5m-3n)**
>
> This piece is a blog post version of a workshop I gave at EthCC about monitoring an Ethereum Node...

---

<div class="post-metadata">

**Author:** ![PaulGreer](https://avatars.discourse-cdn.com/v4/letter/p/4af34b/32.png) [@PaulGreer](https://community.netdata.cloud/u/PaulGreer)\
**Post date:** [January 15, 2025, 7:58pm UTC](https://community.netdata.cloud/t/monitoring-ethereum-and-bitcoin-full-nodes-with-netdata/1400/7 "2025-01-15T19:58:35Z")

</div>

Netdata’s definitely a solid pick for keeping things running smoothly, especially when downtime can cost you big. I’ve been in a similar spot, juggling system monitoring and making sure everything’s ticking along while also trying to stay on top of all the compliance stuff like MiCA and FATF. It can get overwhelming, but I’ve found that mixing good monitoring tools with something that handles crypto compliance on the side really saves you a ton of headaches.
