About Stake Local Labels
How Stake Local uses Prometheus Labels
About Stake Local Labels
In Prometheus, labels
are used to tag data as it is collected. Labels can be defined by the data source, by Prometheus directly, by the Prometheus target configuration, and by the Prometheus job configuration. The Stake Local Dashboard uses labels extensively for categorization, filtering, configuration, and interoperability between data source. These labels are defined in the Prometheus target configuration files configured in the next few sections.
As you configure the Prometheus targets, update the labels as needed for your staking architecture.
Nearly all of the labels required by the dashboard have reasonable default values that will work as-is for monitoring a mainnet consensus/execution group. You can leave the default values or update them later to customize your dashboard.
Note: Changing the labels at a later time may cause the colors on some dashboard panels to change at the point in time where the label values changed.
network
The network
label is used to tag the Ethereum network that applies to the data source. These labels are used to display the network name in some dashboard panels, and can be used for creating new panels that compare different networks.
Example values:
Mainnet
Goerli
Sepolia
Default value: Mainnet
Some of the Prometheus targets will not be associated with a specific network. For example, the GitHub target is not specific to a particular Ethereum network.
host
The host
label is used to tag the host/system on which clients/services are running. This is primarily used for filtering node_exporter data to specific hosts, but it is also used to compare metrics across all software running on the same host.
Example values:
nuc01
Prysm/Geth Mainnet System
sir-stake-a-lot
Default value: Default Host
service
The service
label is used to define the display name of the service being run. This is the name of the service as it will show up on the dashboard panels.
A unique name should be given to each client instance to ensure that clients can be distinguished from one another, particularly if you are running multiple instances of a client.
Consensus clients with separate beacon and validator metrics should be distinguished in their service label.
Example values:
Prysm Beacon
Teku
Nimbus
Lighthouse Beacon
Lodestar Beacon
Geth
Erigon
Nethermind
Besu
Prysm Validator
Lighthouse Validator
Prysm Mainnet
Lighthouse Goerli
Geth Sepolia
Internet Testnet 02
Default value: Client specific
client
The client
label is used to match GitHub release information to the current running client. Values appear similar to the default service label values, these values should not be modified.
Example values:
Prysm
Geth
Lighthouse
Lodestar
Erigon
Besu
Teku
Nimbus
Nethermind
Default value: Client specific
Do not modify the client labels from their default values. This may negatively affect GitHub integration.
group
The group
label is primarily used to name consensus/execution client pairs and their supporting software. This allows the dashboard to display results for only those services supporting a single client pair. To work correctly, the group label must be spelled identically for all software in the same group.
Example values:
Prysm/Geth Mainnet
Teku/Besu Goerli
Mainnet
Default value: Default Group
Some of the Prometheus targets will not be associated with a specific group. For example, the GitHub target is not specific to a particular consensus/execution client group.
explorer
The explorer
label configures the domain name of the third-party consensus or execution layer explorer for external links in dashboard panels. The explorer label should be customized for the Ethereum network and layer (consensus/execution) of the data source.
By default, consensus clients are configured to go to beaconcha.in
and execution clients are configured to go to etherscan.io
. Other explorers can be used if their URL paths are the same as those for the current explorers.
Example values:
beaconcha.in
etherscan.io
goerli.beaconcha.in
goerli.etherscan.io
sepolia.beaconcha.in
sepolia.etherscan.io
Default values: beaconcha.in or etherscan.io
json_exporter
The json_exporter
label is used to define the instance of json_exporter that will be handling API requests for the Prometheus target.
Keep the default value unless you are running json_exporter on a different host than Prometheus.
Example values:
127.0.0.1:7979
192.168.0.10:7979
localhost:7979
Default value: 127.0.0.1:7979
instance
The instance
label defines the address and port of the client API from which Ethereum address and validator statuses/balances are collected. Ethereum address Prometheus targets must have the address and port of an execution client defined, while validator Prometheus targets must have the address and port of a consensus client defined.
Example values:
127.0.0.1:5052
localhost:5051
192.168.0.10:8545
Execution client default value: 127.0.0.1:8545
A port is not provided for the consensus client default value, because consensus clients do not all use the same port for their API. This value must be updated during the configuration process.
Last updated