19. 08. 2020 Giuseppe Di Garbo Icinga Web 2, NetEye

NetEye 4 Template Library (NTL) and Icinga Template Library

NetEye4 provides the Icinga Template Library and includes several plugins ready for use.

The Icinga Template Library (ITL) implements standard templates and object definitions which allows for the very quick and effective use of plugins.

These definitions are read-only and available through the Icinga Director > Commands > External Commands menu.

Most of the plugins and scripts used in these standard templates and object definitions are already available in NetEye 4, while others are yet to come.

To make NetEye 4 an increasingly updated system and be able to utilize Icinga plugins more quickly in NetEye, we have created a GIT repository named NTL (NetEye Template Library) which aims to document and make references, categorization and links available for all plugins in the Icinga Template Library with a specific reference to their download source (where possible).

The NTL repository is structured as follows:

/<category>/
/<category>/<plugin_name>                      # plugin name inside the ITL
/<category>/<plugin_name>/plugin_name.json     # plugin definition
/<category>/<plugin_name>/plugin_name.md       # plugin documentation

Each plugin has been categorized keeping the original name of the category present in the Icinga Template Library and two files have been created for each plugin:

  • A json file, with the purpose of defining the characteristics of the plugin (source type, plugin URL, version, downloadable, etc.) and to be able to use this file itself for the download and related documentation;
  • An md file, whose purpose is to collect usage examples and documentation for the plugin

Below is a brief description of each category in the Icinga Template Library.

The Icinga Template Library Categories

Generic ITL Templates and CheckCommand Definitions for Icinga 2

These two categories contain commands and built-in command templates made available by Icinga and therefore natively available on NetEye 4. For example, the icinga check returns performance data for the current Icinga instance, reports a warning if the last reload failed, and optionally allows for a minimum version.

CheckCommand Definitions for Monitoring Plugins

This category provides example configuration for plugin check commands provided by the Monitoring Plugins project.

The plugins of this category are available in NetEye 4 with the monitoring-plugins package in the path /usr/lib64/neteye/monitoring/plugins/

[root@neteye4 ns]# rpm -ql monitoring-plugins-2.2.0_neteye1.1.0-2.x86_64
/usr/lib64/neteye/monitoring/plugins/check_apt
/usr/lib64/neteye/monitoring/plugins/check_breeze
/usr/lib64/neteye/monitoring/plugins/check_by_ssh
…

CheckCommand definitions for Icinga 2 Windows Plugins

This category contains plugins for the Windows environment made available by the Icinga agent. They are therefore only available through Agent.

CheckCommand definitions for NSClient++

This category contains the plugins for the Windows environment made available by the NSClient++ agent. They are therefore only available through Agent.

CheckCommand Definitions for Manubulon SNMP

This category contains the plugins made available by the SNMP Manubulon project.

The plugins of this category are already available in NetEye 4 with the neteye-plugins package in the path /usr/lib64/neteye/monitoring/plugins/

[root@neteye4 ns]# rpm -ql neteye-plugins | grep snmp 

/usr/lib64/neteye/monitoring/plugins/check_snmp_env.pl
/usr/lib64/neteye/monitoring/plugins/check_snmp_environment.pl
/usr/lib64/neteye/monitoring/plugins/check_snmp_int.pl
/usr/lib64/neteye/monitoring/plugins/check_snmp_linkproof_nhr.pl
/usr/lib64/neteye/monitoring/plugins/check_snmp_load.pl
/usr/lib64/neteye/monitoring/plugins/check_snmp_mem.pl 

Contributed CheckCommand Definitions

This category provides various additional command definitions contributed by community members and is the category to which we have paid the most attention.

These plugins can be downloaded via the script ntl_download.sh.

Thanks to this script it is possible to automatically obtain the latest version available (to date) of each of the plugins defined with “downloadable = yes”

[root@neteye4 ntl]# ll /neteye/shared/monitoring/plugins/ntl/
total 1404
-rw-r--r--. 1 root root  20561 Aug 17 17:57 13-09-16_02-39-11_check_memcached.ls
-rw-r--r--. 1 root root  32052 Aug 17 17:58 check_adaptec_raid
-rw-r--r--. 1 root root   6274 Aug 17 17:58 check_apache_status.pl
-rw-r--r--. 1 root root   1985 Aug 17 17:57 check_cloudera_hdfs_files.py
-rw-r--r--. 1 root root   3182 Aug 17 17:57 check_cloudera_hdfs_space.py
-rw-r--r--. 1 root root   2795 Aug 17 17:57 check_cloudera_service_status.py
-rw-r--r--. 1 root root  23668 Aug 17 17:57 check_elasticsearch
-rw-r--r--. 1 root root  41279 Aug 17 17:58 check_esxi_hardware.py
-rw-r--r--. 1 root root  11527 Aug 17 17:58 check_fail2ban
-rw-r--r--. 1 root root   8253 Aug 17 17:58 check_glusterfs
-rw-r--r--. 1 root root   4996 Aug 17 17:58 check_graphite
-rw-r--r--. 1 root root  30575 Aug 17 17:58 check_haproxy
-rw-r--r--. 1 root root  15133 Aug 17 17:58 check_hddtemp.py
-rw-r--r--. 1 root root   9184 Aug 17 17:58 check_iftraffic.pl
-rw-r--r--. 1 root root   3978 Aug 17 17:58 check_iostat
-rw-r--r--. 1 root root  38289 Aug 17 17:58 check_ipmi_sensor
-rw-r--r--. 1 root root  22027 Aug 17 17:58 check_logstash
-rw-r--r--. 1 root root  47583 Aug 17 17:58 check_lsi_raid
-rw-r--r--. 1 root root   1374 Aug 17 17:58 check_lsyncd
-rw-r--r--. 1 root root  15013 Aug 17 17:58 check_mem.pl
-rw-r--r--. 1 root root  68735 Aug 17 17:57 check_mongodb.py
-rw-r--r--. 1 root root  18287 Aug 17 17:58 check_nginx_status.pl
-rw-r--r--. 1 root root  27352 Aug 17 17:58 check_phpfpm_status.pl
-rw-r--r--. 1 root root 457208 Aug 17 17:57 check_postgres.pl
-rw-r--r--. 1 root root  16979 Aug 17 17:58 check_rbl
-rw-r--r--. 1 root root 141805 Aug 17 17:58 check_redis.pl
-rw-r--r--. 1 root root   7885 Aug 17 17:58 check_sar_perf.py
-rw-r--r--. 1 root root  10952 Aug 17 17:58 check_squid
-rw-r--r--. 1 root root 112953 Aug 17 17:58 check_ssl_cert
-rw-r--r--. 1 root root   9089 Aug 17 17:58 check_temp.sh
-rw-r--r--. 1 root root 129460 Aug 17 17:58 check_vmware_esx.pl
-rw-r--r--. 1 root root  18949 Aug 17 17:58 check_yum
-rw-r--r--. 1 root root  15432 Aug 17 17:57 proxysql-nagios

Enjoy your NetEye Template Library!

Giuseppe Di Garbo

Giuseppe Di Garbo

Consultant at Würth Phoenix
Hi everybody. I’m Giuseppe and I was born in Milan in 1979. Since the early years of university, I was attracted by the Open Source world and operating system GNU\Linux. After graduation I had the opportunity to participate in a project of a startup for the realization of an Internet Service Provider. Before joining Würth Phoenix as SI consultant, I gained great experience as an IT consultant on projects related to business continuity and implementation of open source software compliant to ITIL processes of incident, change and service catalog management. My free time is completely dedicated to my wife and, as soon as possible, run away from Milan and his caotic time and trekking discover our beautiful mountain near Lecco for relax and lookup the (clean) sky.

Author

Giuseppe Di Garbo

Hi everybody. I’m Giuseppe and I was born in Milan in 1979. Since the early years of university, I was attracted by the Open Source world and operating system GNU\Linux. After graduation I had the opportunity to participate in a project of a startup for the realization of an Internet Service Provider. Before joining Würth Phoenix as SI consultant, I gained great experience as an IT consultant on projects related to business continuity and implementation of open source software compliant to ITIL processes of incident, change and service catalog management. My free time is completely dedicated to my wife and, as soon as possible, run away from Milan and his caotic time and trekking discover our beautiful mountain near Lecco for relax and lookup the (clean) sky.

Leave a Reply

Your email address will not be published. Required fields are marked *

Archive