Asentum

Run a Node

Monitoring & Logs

Keeping a validator healthy · Estimated read time: 5 minutes

Updated 2026-09-09: consensus wording aligned to Aura block production plus GRANDPA finality.

TL;DR

Every Asentum node exposes a health JSON endpoint, Prometheus metrics, and standard journalctl logs. Downtime is the #1 avoidable slashing risk (see Slashing Risks) - watch the right handful of signals and you'll catch problems before the chain does.

Tailing logs

Nodes run under systemd. To tail the log live:

journalctl -fu asentum-validator

From the desktop app, use Settings → View logs. From the VPS installer, use asentum-validator logs.

Logs are structured JSON by default. For human-readable output pipe through | jq.

Health endpoint

Every node serves GET /health returning a JSON status:

{
  "status": "ok",
  "role": "validator",
  "blockHeight": 24189,
  "peers": 12,
  "synced": true,
  "validatorStatus": "active"
}

Response is HTTP 200 if healthy, HTTP 503 if degraded (out of sync, no peers, or tombstoned).

Prometheus metrics

GET /metrics returns Prometheus-format metrics:

  • asentum_block_height
  • asentum_peers_count
  • asentum_missed_blocks_total
  • asentum_block_time_seconds (histogram)
  • asentum_validator_is_active (0 or 1)
  • asentum_validator_stake_wei

Point Prometheus at /metrics and pipe to Grafana - a reference dashboard is in the repo.

What to watch

  • Sync lag. If asentum_block_height falls behind the chain head by more than a few blocks, you're missing your proposer slots. Likely causes: network, disk I/O, CPU starvation.
  • Peers. Below ~5 peers you start missing vote gossip and risk falling out of sync. Check your ASENTUM_PEERS env var and confirm each peer's HTTP port is reachable.
  • Missed blocks. A non-zero rate is an early warning. It means your node failed to produce its assigned Aura slot or sign the GRANDPA finality vote on its turn. Sustained missing triggers downtime slashing.
  • Validator status. is_active dropping to 0 without an unbond is an emergency - either tombstoned or dropped from the committee.

Alerting

Recommended Prometheus alert rules:

- alert: AsentumBehind
  expr: asentum_block_height{} < max(asentum_block_height) - 5
  for: 2m

- alert: AsentumPeerLow
  expr: asentum_peers_count < 4
  for: 5m

- alert: AsentumMissedBlocks
  expr: rate(asentum_missed_blocks_total[5m]) > 0
  for: 10m

Wire these into Pagerduty, Discord, or whatever your team uses. You want to know within minutes, not days.

Read next