# Icinga — Modern Open Source Infrastructure Monitoring > A scalable monitoring system that checks availability and performance of network resources, notifying on outages and generating metrics. ## Install Save as a script file and run: # Icinga — Modern Open Source Infrastructure Monitoring ## Quick Use ```bash # Install on Ubuntu apt install icinga2 icingadb icingadb-redis icingaweb2 # Enable API and basic features icinga2 feature enable api icinga2 api setup systemctl restart icinga2 # Access web UI at https://localhost/icingaweb2 ``` ## Introduction Icinga is a monitoring system forked from Nagios that addresses scalability and modern infrastructure needs. It monitors network resources, sends alerts on failures, and generates performance data — with a distributed architecture that scales from a handful of servers to thousands of endpoints across multiple data centers. ## What Icinga Does - Monitors hosts and services via agent-based or agentless checks - Sends notifications via email, SMS, PagerDuty, and custom scripts - Collects and stores performance metrics for trending and capacity planning - Supports distributed monitoring across multiple zones and satellites - Provides a modern web dashboard with drill-down capabilities ## Architecture Overview Icinga 2 uses a C++ core with a domain-specific configuration language. The cluster architecture supports zones (logical groupings), endpoints (Icinga instances), and satellites (distributed check execution). IcingaDB replaces the legacy IDO module, storing state in Redis for real-time access and syncing to a relational database for historical data. Icinga Web 2 provides the PHP-based user interface. ## Self-Hosting & Configuration - Install core via official repositories (Debian, RHEL, SUSE, Windows) - Define hosts and services in DSL configuration files or Director GUI - Deploy agents on monitored hosts for local check execution - Configure notification rules with escalation chains and time periods - Integrate with Grafana for advanced metric visualization ## Key Features - Distributed monitoring with zone-based cluster topology - Configuration DSL with apply rules, templates, and runtime macros - REST API for automation, orchestration, and custom integrations - Director module for web-based configuration management - Backwards-compatible with Nagios check plugins ecosystem ## Comparison with Similar Tools - **Nagios** — Original project Icinga forked from; Icinga has better clustering and modern API - **Zabbix** — More built-in auto-discovery; Icinga offers stronger configuration DSL - **Prometheus** — Pull-based metrics focus; Icinga is traditional check-based with active alerting - **Sensu** — Agent-based with modern API; Icinga has broader legacy plugin compatibility ## FAQ **Q: Is Icinga compatible with Nagios plugins?** A: Yes. Icinga executes standard Nagios check plugins without modification, giving access to thousands of community checks. **Q: How does Icinga handle distributed monitoring?** A: Using zones and satellites. Parent zones delegate check execution to child zones, with configuration sync and state replication between endpoints. **Q: Can I monitor Kubernetes with Icinga?** A: Yes. Use the Kubernetes check plugins or integrate with the Icinga module for Kubernetes to monitor pods, deployments, and cluster health. **Q: What is the difference between Icinga 2 and Icinga Web 2?** A: Icinga 2 is the monitoring core that executes checks and sends alerts. Icinga Web 2 is the separate web frontend for visualization and configuration. ## Sources - https://github.com/Icinga/icinga2 - https://icinga.com/docs/icinga-2/latest/ --- Source: https://tokrepo.com/en/workflows/asset-621c5ec8 Author: Script Depot