As a partner that sells and provides exclusive Icinga support in the US, we have learned through experience that Icinga 2 isn’t a fit for all organizations. In this article, we share seven examples where we would not recommend Icinga 2.
1. Using Icinga to collect all your SNMP data
Icinga 2 is not a huge SNMP database. For example, if you had a 48 port switch and wanted to monitor how much bandwidth is being used on all 48 ports, you would have to write 48 different services on Icinga 2. An SNMP-specific monitoring tool on the other hand would allow you to ingest all the SNMP data at once.
If you need specific SNMP data, Icinga 2 is great, but if you are monitoring several devices like switches, cameras, sensors, and manufacture-specific hardware where there is a large amount of SNMP data required, an SNMP monitoring tool might be a better fit.
2. Using Icinga for all your application monitoring
An application monitoring tool is special because it looks deeply into your software and its architecture to detect bottlenecks and performance issues in real time. Icinga 2 is not an application monitoring tool, although it can be extended to do some application monitoring functions.
Alternative products like AppDynamics are available that do application monitoring extremely well with end-to-end transaction tracing, dynamic baselining and detection of performance root causes such as memory leaks and slow database queries.
Where Icinga 2 can perform specific checks that result in OK, WARNING, CRITICAL, a true application monitoring tool goes deeper helping you to diagnose and fix the issue.
3. Using Icinga as your network throughput tool
Icinga 2 is not a network throughput monitoring tool. If you have a lot of data on your private network or on the internet, like a high frequency trading service, NetFlow is a critical component of your monitoring strategy.
If the term NetFlow is new to you, it is a standard protocol from Cisco for transferring network analysis data across a network. The goal is to not burden your routers and switches with analyzing network traffic. Rather, with NetFlow, you can offload the network analysis to other resources with with available CPU.
NetFlow is a specific use case in IT monitoring and one that specialized tools handle well. A NetFlow tool will focus on packet capture, traffic recording, and traffic analysis for bandwidth, bottlenecks and abnormal traffic patterns like large data transfers and high number of connections, among other things.
4. Using Icinga for database monitoring
Database monitoring is another special use case for monitoring. Typical database monitors will watch for database throughput, database size, query structure, index fragmentation, and performance monitoring with regards to query times, CPU, memory and disk.
Icinga 2 can monitor for database availability and sufficiency of resources. Icinga 2 also has access to plugins to perform additional database monitoring functions. Where Icinga 2 shines is providing the high-level health check and alerting of your database, but if you want a deeper level of database monitoring that includes performance monitoring and data that will help with issue resolution, there are alternative tools that can address these needs.
5. Using Icinga for Auto Discovery
Icinga 2 doesn’t perform auto discovery. It actually takes the alternative approach, which can be a good thing. Rather than have your monitoring tool tell you what servers you have and the thresholds they should be operating at, Icinga 2 insists that you tell your hosts and services, and what is important with regards to health thresholds.
Although there are auto discovery tools available, human intelligence is still needed to determine if the results are sensible or not. The simplest example is if you perform an auto scan of your network and there was a machine turned off, you would never see it or know it was missing.
6. Using Icinga as A Single Integration Platform
Because Icinga 2 is so flexible, many people assume it can be an integration platform for all of their monitoring tools. This isn’t the case.
Icinga 2 is a broad tool that is highly configurable and that performs well for your front line monitoring. To actually consolidate your monitoring and auxiliary data points, you can use ElasticSearch which works extremely well with Icinga 2.
The way that it works is this: Icingabeat is used to collect monitoring data from the Icinga 2 API and send it to Elasticsearch. Elasticsearch then becomes the unifying interface for all of your monitoring data and can be used to query and visualise your integrated dataset.
7. Using Icinga to collect Performance Metrics
Icinga 2 can tell you when a service changes from OK to WARNING to CRITICAL and its value at that time, but it can not tell you the history of values in between states. If you want to track performance metrics, we recommend you collect the data with Icinga 2 and then output it to a system – like Elasticsearch – that is intended to handle performance metrics.
The purpose of Icinga 2 is to alert you of a potential and actual problem in real-time rather than help you analyze trends over time.
We love Icinga 2 because of its flexibility, ease of use and enterprise hardened capabilities. It is a great tool for what it is designed to do: be a front line, high-level monitor for availability, connectivity, and resource health.
Because of its flexibility, you can go deep with Icinga 2 and monitor finite data points, but if you are looking for issue resolution tools, performance monitoring tools, or specialized monitoring tools, Icinga 2 might not be a good fit.
The ROI depends on your specific situation – is the cost to customize Icinga 2 to meet your needs worth it or is an alternative tool better suited. It’s a great question and one we can help you answer.