# IRIS Hub Monitor
# Introduction
IRIShub can report and serve the Prometheus metrics, which can be consumed by Prometheus collector(s).
This functionality is disabled by default.
To enable the Prometheus metrics, set prometheus = true
in your config file(config.toml). Metrics will be served under /metrics on 26660 port by default. This port can be changed in the config file (prometheus_listen_addr = ":26660"
).
# Metrics
Application metrics, namespace: iris
Name | Type | Tags | Description |
---|---|---|---|
module_stake_bonded_token | Gauge | validator_address | Total bonded token by validator |
module_stake_loosen_token | Gauge | Total loose tokens | |
module_stake_burned_token | Gauge | Total burned token | |
module_stake_slashed_token | Counter | validator_address | Total slashed token by validator |
module_stake_jailed | Gauge | validator_address | Jailed status by validator, either 0 (not jailed) or 1 (jailed) |
module_stake_power | Gauge | validator_address | Voting power by validator |
module_upgrade_upgrade | Gauge | Whether new software needs to be installed, either 0 (no) or 1 (yes) | |
module_upgrade_signal | Gauge | validator_address, version | Whether validator have run the new version software, either 0 (no) or 1 (yes) |
module_service_active_requests | Gauge | Number of active requests | |
module_gov_parameter | Gauge | parameter_key | Parameter of governance |
module_gov_proposal_status | Gauge | proposal_id | Status of proposal, 0:DepositPeriod 1:VotingPeriod 2:Pass 3:Reject 4:Other |
module_gov_vote | Gauge | proposal_id, validator_address | Validator vote result of a proposal, 0:Yes 1:No 2:NoWithVeto 3:Abstain |
module_distribution_community_tax | Gauge | height | Community tax accumulation |
v0_invariant_failure | Counter | error | Invariant failure stats |
Consensus metrics, namespace: tendermint
Name | Type | Tags | Description |
---|---|---|---|
consensus_height | Gauge | Height of the chain | |
consensus_failure | Counter | height | Consensus failure |
consensus_validators | Gauge | Number of validators | |
consensus_validators_power | Gauge | Total voting power of all validators | |
consensus_missing_validators | Gauge | Number of validators who did not sign | |
consensus_missing_validators_power | Gauge | Total voting power of the missing validators | |
consensus_byzantine_validators | Gauge | Number of validators who tried to double sign | |
consensus_byzantine_validators_power | Gauge | Total voting power of the byzantine validators | |
consensus_block_interval_seconds | Histogram | Time between this and last block (Block.Header.Time) in seconds | |
consensus_rounds | Gauge | Number of rounds | |
consensus_num_txs | Gauge | Number of transactions | |
consensus_block_parts | Counter | peer_id | Number of blockparts transmitted by peer |
consensus_latest_block_height | Gauge | /status sync_info number | |
consensus_fast_syncing | Gauge | Either 0 (not fast syncing) or 1 (syncing) | |
consensus_total_txs | Gauge | Total number of transactions committed | |
consensus_block_size_bytes | Gauge | Block size in bytes | |
p2p_peers | Gauge | Number of peers node's connected to | |
p2p_peer_receive_bytes_total | Counter | peer_id | Number of bytes received from a given peer |
p2p_peer_send_bytes_total | Counter | peer_id | Number of bytes sent to a given peer |
p2p_peer_pending_send_bytes | Gauge | peer_id | Number of pending bytes to be sent to a given peer |
p2p_num_txs | Gauge | peer_id | Number of transactions submitted by each peer_id |
mempool_size | Gauge | Number of uncommitted transactions | |
mempool_tx_size_bytes | Histogram | Transaction sizes in bytes | |
mempool_failed_txs | Counter | Number of failed transactions | |
mempool_recheck_times | Counter | Number of transactions rechecked in the mempool | |
state_block_processing_time | Histogram | Time between BeginBlock and EndBlock in ms | |
state_recheck_time | Histogram | Time cost on recheck in ms | |
state_app_hash_conflict | Counter | proposer, height | App hash conflict error |
IRIShub metrics also contains tendermint metrics, Visit tendermint metrics (opens new window) for more information.
# Start Monitor
This is an example for getting started with the IRIShub Monitor by using docker.
# Edit Prometheus config file
You can download the example prometheus.yml (opens new window) to the ~/volumes/prometheus/
and add a job under the scrape_configs
of the prometheus.yml
:
- job_name: irishub
static_configs:
- targets: ['localhost:26660']
labels:
instance: myvalidator
TIP
The value of targets is the prometheus_listen_addr
in your config.toml
# Start Prometheus
docker run -d --name=prometheus -p 9090:9090 -v ~/volumes/prometheus:/etc/prometheus prom/prometheus
You should be able to browse to a status page about prometheus at http://localhost:9090 (opens new window)
# Start Grafana
docker run -d --name=grafana -p 3000:3000 grafana/grafana
You can visit http://localhost:3000/ (opens new window) to open grafana and create your own dashboard.
TIP
The default username and password are both admin. We strongly recommend immediately changing your username & password after login.
A Grafana dashboard compatible with all the cosmos-sdk and tendermint based blockchains: cosmos-dashboard (opens new window)