Monitoring with Ethstats
Last edited on January 5, 2023Ethstats is a service that displays real time and historical statistics about individual +nodes connected to a network and about the network itself. Individual node statistics include +the last received block, block time, propagation time, connected peers, latency etc. Network +metrics include the number of nodes, average block times, node geolocation, +transaction counts etc.
+These statistics are presented to the user in the form of a dashboard served to a web browser. +This can be configured using the public Ethstats server for Ethereum mainnet or some +public testnets, or using a local copy of Ethstats for private networks. This page will +demonstrate how to set up an Ethstats dashboard for private and public networks.
+Prerequisites
+To follow the instructions on this page the following are required:
+- Geth
- Node
- NPM
- Git
Ethstats
+Ethstats has three components:
+-
+
a server that consumes data sent to it by each individual node on a network and serves +statistics generated from that data.
+ -
+
a client that queries a node and sends its data to the server
+ -
+
a dashboard that displays the statistics generated by the server
+
The summary dashboard for Ethereum Mainnet can be viewed at ethstats.dev.
+
Note that the Ethstats dashboard is not a reliable source of information about the entire Ethereum +network because submitting data to the Ethstats server is voluntary and has to be configured by +individual nodes. Therefore, many nodes are omitted from the summary statistics.
+How to use
+To report statistics about the local node to Ethstats, an Ethstats server and Ethstats client both have +to be installed alongside Geth. There are several options for installing Ethstats clients and servers, +each with detailed installation instructions. They all share the common trait that an Ethstats service is +started with a specific URL that can be passed to Geth.
+ + + + +If enabled, Geth spins up a minimal Ethstats reporting daemon that pushes statistics about the +local node to the Ethstats server.
+To enable this, start Geth with the ethstats flag, passing the Ethstats service (nodename:secret@host:port) URL.
+geth <other commands> --ethstats node1:secret:127.0.0.1:9000
+The local node will then report to Ethstats, and the statistics will be displayed in a dashboard that can be +accessed via the web browser.
+Note on WS_secret
+The WS_secret parameter is required for connecting to an Ethstats server. For a local network this can be user-defined +on startup by providing it as an environment variable. However, for Ethereum mainnet and the public testnets predefined +values must be known. Historically these have been made available on Gitter and Skype channels or of a forum, but these are +no longer in use. The user will have to track down existing Ethstats users to request the WS_secret.