Skip to content

Yagra documentation

Yagra is an open-source network monitoring system (NMS). It watches network devices and servers over ICMP, SNMP, and API calls, tracking liveness, performance, and thresholds, and raising alerts on anomalies.

It ships as Docker containers, with a Rust backend and a React WebUI. Tens of thousands of nodes and distributed polling were assumptions from the start, not additions: a single-node stack scales out to remote-site pollers and highly available cores by configuration, not rewrite.

  • Active monitoring — ICMP liveness, SNMP v2c/v3 (including GETBULK per-interface collection), HTTP/URL checks with TLS-expiry tracking, DNS resolution monitors, and Cisco Meraki devices via the read-only Dashboard API.
  • Discovery & classification — IP-range discovery, automatic device classification, editable device profiles, collection templates, a curated MIB/OID catalog, and a folder tree pulled read-only from NetBox.
  • Alert quality — dwell-time hysteresis, flapping detection, dependency suppression with root-cause roll-up, maintenance windows, and notification channels including PagerDuty and Jira Service Management with a native fire/resolve lifecycle.
  • Passive events — syslog, SNMP traps (v1/v2c + informs, decoded to human-readable names), and inbound webhooks, matched against event rules and searchable at scale.
  • Traffic flow — NetFlow v5/v9, IPFIX, and sFlow v5 into a dedicated flow store, with top talkers, ports, protocols, AS conversations, and offline IP→ASN enrichment.
  • Forwarding — relays received syslog, traps, and flow exports byte-for-byte to a SIEM or collector over UDP/TCP/TLS. Filters choose what goes. It can also stream normalized rows into BigQuery. Everything leaves from one egress point.
  • Dashboards & reports — widget-based dashboards (shared and per-user), a topology map with dependency states, and scheduled reports with HTML/CSV/PDF export.
  • Troubleshoot analyses & AI RCA — on-demand analyses across metrics, events, and flows (anomaly, correlation, capacity, flap, scan detection, and more), plus an opt-in AI root-cause explanation grounded in the incident’s evidence.
  • Distributed polling — poller pools at remote sites, assigned by location affinity and failed over automatically, with store-and-forward buffering that rides out network partitions without losing metric history.
  • High availability — multiple core instances with automatic leader election and failover, and sessions that survive a failover.
  • Users, roles & SSO — Viewer/Operator/Admin roles, single sign-on via OpenID Connect alongside local accounts, and an audit log of who changed what.
  • MCP for AI clients — an opt-in tool surface at /mcp so an AI assistant can query status, metrics, flows, and events, run Troubleshoot analyses, and perform a few audited write actions. It never configures network devices.

These docs track the latest release of Yagra. Behavior that changed between versions is recorded in the release notes. See the changelog for where to find them and how container images are tagged.