Icinga2 Features

Hello everyone,

can someone please help me tick off these features that are applicable to Icinga2 in one place. The website and documentation has this scattered everywhere and i am not too sure where to find all the answers. I understand that this list is pretty broad and like i said so far i have not found a software that covers all of it, i just want to find out what is supported by Icinga. So here we go:

  1. Monitoring via SNMP supported vendors such as Juniper Arista Mikrotik PaloAlto Cisco Aruba and others
  2. Additional features for these vendors vis SNMP or other means: BGP states, ISIS states, Cisco IPSLA, Cisco CBQOS, mikrotik queues and Juniper QoS.
  3. Notifications integration such as mattermost, slack, whatsapp, email, signal other?
  4. Reporting HTML CSV PDF formats.
  5. Reporting automated reports for SLA data, QoS reports, link utilization and others. Work hours reporting set per group of devices.
  6. Threshold reporting and sending reports via email and/or some other channel
  7. Hosts aliases and showing aliases in the reports if needed.
  8. Granular permissions to the system. A client can see his/her list of devices and click through them but it can also see parts of core equipment like interface graphs, cpu graphs, specific application graphs. Then access to its maps and dashboards.
  9. The above brings me to the Maps support? Drawing map out of LLDP data? Show status of hosts on the map and link through put live. Geolocation Maps? Maybe an ability to see outage on the map as a group of devices.
  10. Event and event correlation. Manage events see the history of what happened to the specific event through acknowledging for example.
  11. Classification of the events priority.
  12. Ability to alert on specific events and escalate further to a separate group after specific time has passed.
  13. Host grouping. Hosts can belong to multiple groups.
  14. Some form of basic inventory data that can be monitored. Like OS version OS types.
  15. Ability to search and export that search in execel format. What i mean by this would be an ability to show a list of all hosts of type cisco, state up/down/unknown, version of software, location filter.
  16. Integration with some ticketing system like zammad jira otrs or any other currently supported.
  17. Ability to send a same format alerts into the ticketing system so that tickets can be auto closed.
  18. TopN bottomN type of dashboard and/or reporting.
  19. Ability to monitor via DNS names and jsu straight IP and giving hosts any name needed.
  20. Health information for devices, Power supply, temp, routing engine, fans, dBM on optics and other such stats.
  21. Traffic stats per interface and overall per device.
  22. REST api to add or remove hosts
  23. Distributed Master/Slave setup with distributed pollers.
  24. Authentication Local and LDAP integration
  25. Suppress alerts based on a parent child relationship.
  26. Some form of integration with external CMDB via API.
  27. Anomaly detection and Trend predictions.
  28. Execute external scripts when events happen. This is user defined obviously
  29. Device discovery and device rediscovery when needed by user. Ideally a button i click to see a new graph that was configured.
  30. Flap protection (this is a pretty big one to try and eliminate false positives as much as possible). so many monitoring systems claim to have this but it does not work.
  31. Bulk edit of hosts. for example i want to change a template for all marked hosts, or new SNMP string or groups or enable/disable. You get the idea, things that be in common on multiple devices.
  32. interface stats average min max and total. it would be nice if you can show a legend below and have hr ability to hide the legend.
  33. Ability for custom development that can be paid for if needed.
  34. Ability to monitor virtual chassis and alert on a faulty host hat belongs to a virtual chassis.
  35. Control what is being polled on devices for example bulk polling once a day to save resources. Then do not poll any interfaces without descriptions or do not poll any interfaces for a particular type of router because they are management interfaces and others such rules.
  36. Manage initial installation and configuration with Puppet or Ansible.

Hello

  1. Monitoring via SNMP supported vendors such as Juniper Arista Mikrotik PaloAlto Cisco Aruba and others
  2. Additional features for these vendors vis SNMP or other means: BGP states, ISIS states, Cisco IPSLA, Cisco CBQOS, mikrotik queues and Juniper QoS.
  3. Ability to monitor virtual chassis and alert on a faulty host hat belongs to a virtual chassis.
  4. interface stats average min max and total. it would be nice if you can show a legend below and have hr ability to hide the legend.
  5. Traffic stats per interface and overall per device.
  6. Ability to monitor via DNS names and jsu straight IP and giving hosts any name needed.
  7. Health information for devices, Power supply, temp, routing engine, fans, dBM on optics and other such stats.

Maybe, For those questions, icinga is a nagios fork, and so implement the standart nagios input/output system for checks, so plugins you could find on the nagios/icinga exchange implementing what you need should work here, i cant say however for each of thoses vendor if there is what you need, you will need to search by yourself :wink:
But most of thoses are standart KPI in monitoring, and so, are supported by long written plugins.

  1. Notifications integration such as mattermost, slack, whatsapp, email, signal other?

Yes, the notification system can do many things, mail/mattermost/slack are supported, i’m not sure for others, you should give a look to icinga exchange :
https://exchange.icinga.com/search?q=notification

  1. Reporting HTML CSV PDF formats.

Yes, You can natively export dashboard to PDF/CSV/JSON in icingaweb2, i guess save page directly as html should work too.

  1. Reporting automated reports for SLA data, QoS reports, link utilization and others. Work hours reporting set per group of devices.

No, not at my knowledge, maybe throught plugins

  1. Threshold reporting and sending reports via email and/or some other channel

No, not at my knowledge, maybe thought plugins

  1. Hosts aliases and showing aliases in the reports if needed.

You can configure display names for hosts which differs from it’s configuration name, so i’m not sure if it’s what you mean by aliases.

  1. Granular permissions to the system. A client can see his/her list of devices and click through them but it can also see parts of core equipment like interface graphs, cpu graphs, specific application graphs. Then access to its maps and dashboards.

Yes, you can have granular permissions for icingaweb based on various authentication sources (ldap, etc)

9)    The above brings me to the Maps support? Drawing map out of LLDP data? Show status of hosts on the map and link through put live. Geolocation Maps? Maybe an ability to see outage on the map as a group of devices.

Icinga is nagios based, so nagvis is supported, you can also use custom plugin like the openstreetmap one

10)   Event and event correlation. Manage events see the history of what happened to the specific event through acknowledging for example.

You can get the state/acknowledgement history by clicking on host/service in icingaweb, but if you need something much more event based to query it in specific ways you need, you could export it to ELK/Splunk/Logstash/Elasticsearch by hand or using already existing plugins.

  1. Classification of the events priority.

Not sure to understand, please develop.

  1. Ability to alert on specific events and escalate further to a separate group after specific time has passed.

Not sure to fully understand, i would say this kind of behaviour is more dependent of your ticketing system rather than the monitoring engine itself but thought notification system and custom scripting you could push your escalation where it’s needed …

  1. Host grouping. Hosts can belong to multiple groups.

Yes

  1. Some form of basic inventory data that can be monitored. Like OS version OS types

No, natively icinga is not meant to collect data actively to be used as inventory, but you can tag your host/services with custom variables so that it’ll be easier for your to assign checks/make conditions.

  1. Ability to search and export that search in execel format. What i mean by this would be an ability to show a list of all hosts of type cisco, state up/down/unknown, version of software, location filter.

yes, you can export dashboard or searches from icingaweb in csv to rework it with excel if needed.

  1. Integration with some ticketing system like zammad jira otrs or any other currently supported.

yes, jira integration is supported, not sure for others.

  1. Ability to send a same format alerts into the ticketing system so that tickets can be auto closed.

not sure to understand, however you could plug your ticketing system to icinga thought api to acknowledge checks if needed.

  1. TopN bottomN type of dashboard and/or reporting.

Not sure what you mean here, but icingaweb supports dashboards, and more vizualisation be added depending on your needs.
https://exchange.icinga.com/search?q=dashboard

  1. REST api to add or remove hosts

Yes, the REST api is definitively one of the icinga strongest point.

  1. Distributed Master/Slave setup with distributed pollers.

Yes, however, distributed pollers in a same zone are recommended to two maximum, they will share load and checks, a known bug prevents from making a zone with 10 poller in HA for example.

  1. Authentication Local and LDAP integration

Yes for icingaweb

  1. Suppress alerts based on a parent child relationship.

Yes, however, multiple parents dependencies can be tricky to implement by yourself since it is not natively supported.

  1. Some form of integration with external CMDB via API.

Yes

  1. Anomaly detection and Trend predictions.

No, not natively, you’ll need to export icinga data to another tool to make that.

  1. Execute external scripts when events happen. This is user defined obviously.

Yes, you can trigger notification to run a script on a passive check to implement this for example.

  1. Device discovery and device rediscovery when needed by user. Ideally a button i click to see a new graph that was configured.

It’s not natively supported at my knowledge.

  1. Flap protection (this is a pretty big one to try and eliminate false positives as much as possible). so many monitoring systems claim to have this but it does not work.

Icinga implement flapping, more informations here :
https://icinga.com/docs/icinga2/latest/doc/08-advanced-topics/#check-flapping

  1. Bulk edit of hosts. for example i want to change a template for all marked hosts, or new SNMP string or groups or enable/disable. You get the idea, things that be in common on multiple devices.

Yes, icinga support templates, however, you cant change them at runtime, you’ll need to restart icinga after a template editing.

  1. Ability for custom development that can be paid for if needed.

I dont know, I’d prefer to let icinga team answer by themselves about it, however i know that icinga enjoys sponsoring for developping new features.

  1. Control what is being polled on devices for example bulk polling once a day to save resources. Then do not poll any interfaces without descriptions or do not poll any interfaces for a particular type of router because they are management interfaces and others such rules.

I’m not sure i grasp you whole needs here, but from what i understand i can see two ways of doing this :

  • dedicated check that plays once a day
  • implement a caching system for what you want to avoid to poll in your collect script.
  1. Manage initial installation and configuration with Puppet or Ansible.

Both are supported
https://github.com/Icinga/puppet-icinga2
https://github.com/Icinga/ansible-playbooks

I’ll give you a personnal feedback about icinga : It’s a great tool, it’s biggest advantages in my opinion are it’s ease to install, manage, maintain and integrate with most of other monitoring solutions parts (grafana, tsdb, etc) for both the frontend and backend parts, because it is based on standart protocols, methods and technologies. Also the way configuration works allows you to deploy a lot of check with few efforts needed but can still give you the opportunity to deal with specific cases when required. The downside is the scaling limited to two nodes per zone, but it’s not a problem unless you start hitting huge number of hosts (like 100k+, assuming you have decent servers). On overall, and from my experience, Icinga is a reliable tool.

Also, based on your questions, i dont think a monitoring tool implementing all of this exists, especially in open source based solutions, nowandays monitoring (especially for big infrastructures) is more about stacking different tools which are complementary to each others with custom developments required for some parts.

Beside my answers, i strongly advise you to make your own opinion and experience by grabbing an icinga image here and test it.
https://github.com/Icinga/icinga-vagrant

1 Like

Hello there!

Big thanks @Someone for answering the first bunch of questions!

This post looks a lot like an RFP to me though, for which the forum is not the right space, as it is meant for users of Icinga to help each other out with their setups.

If you need professional support, I would suggest contacting our sales department.
They will be happy to help you :slight_smile:

Best of luck!
Feu

That’s fine but thank you @Someone for giving me a good indication on what features are supported in a single page.