← Articles
Solana Microscope: self-hosted program monitoring logo
solana

Solana Microscope: self-hosted program monitoring

· SEP 23, 2026 ·
Read
Share

just up. Grafana localhost:3000. Keep Yellowstone and Seer.

devrels.xyz/a/330

Solana Microscope is self-hosted monitoring and alerting for Solana programs. It consumes confirmed transactions from Yellowstone gRPC or a polling JSON-RPC endpoint, decodes with Carbon, and exposes Prometheus, Loki, and Grafana. You run the stack. Solana Foundation does not host it or receive deployment data.

One deployment watches one program and, optionally, one Squads multisig (v3, v4, or Smart Account/v5). Raw program-log string matching is not supported. Alerts target decoded instructions, decoded events, or normalized Squads activity. MIT. Seer stays as the debugger.

Signals

Records Microscope emits
SignalRecord
Instructionprogram_instruction
Eventprogram_event
Multisigmultisig_activity
Decode failureevent_decode_failure

Decoder is compiled in. program_id and the IDL are build inputs. At startup the indexer refuses a config that names a different program or IDL. Run just generate after changing either. Teaching example in-repo: Jupiter Lend. Foundation does not operate it.

Local stack

bash
git clone https://github.com/solana-foundation/solana-microscope.git
cd solana-microscope
cp microscope.toml.example microscope.toml
just up

Grafana: http://localhost:3000. Metrics: :9090/metrics. Health: :9091/healthz and /readyz. Local Prometheus/Loki retention is 30 days unless PROMETHEUS_RETENTION overrides. Grafana reloads alert provisioning only at process start; just up recreates Grafana. Direct docker compose up can leave old rules.

Default datasource is Yellowstone (GEYSER_URL, optional GEYSER_X_TOKEN). Set RPC_URL so restarts and gaps past the replay window can be filled. RPC-only mode: mode = "rpc", poll interval 5s, replay window 300 slots in the example. Alerts: kinds event, instruction, multisig. Channels Slack, Telegram, PagerDuty. Names must match the IDL or a Squads action or startup rejects them.

Cloud

Terraform under infra/aws and infra/gcp. Grafana stays on VM loopback, reached over SSH (IAP or SSM, no public inbound). Pin repository_ref to a SHA in production. Prebuilt images: fork and run Publish Docker Image; one image, one program, one IDL. Kubernetes notes in docs/kubernetes.md. Grafana Cloud overlay exists; give each deployment its own token.

Resources

Keep reading

Get new articles in your inbox

Technical deep-dives on Solana tooling, infrastructure, and ecosystem. No noise.

Solana Microscope: self-hosted program monitoring | devrels.xyz