Icinga 2 è uno strumento di monitoraggio gratuito e open source che ti aiuta a monitorare le risorse di rete, ricevere un avviso in caso di interruzioni, anche essere in grado di generare i dati sulle prestazioni.
Icinga 2 è molto scalabile e puoi monitorare ambienti complessi da piccoli a più grandi in più posizioni.
Icinga 2 supporta tutte le principali distribuzioni come Debian , Ubuntu , CentOS/RHEL , Fedora , openSUSE, SLES, Gentoo, FreeBSD e ArchLinux.
Questo post copre brevemente l'installazione e la configurazione di Icinga 2 su CentOS 7 / RHEL 7 .
Passa all'utente root.
$ sudo su -
I pacchetti Icinga dipendono da altri pacchetti (es. plugin Nagios) che sono distribuiti nel repository EPEL. Quindi, configura il repository EPEL su CentOS 7 / RHEL 7 .
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Oltre a ciò, abilita i repository opzionali ed extra su RHEL 7.
subscription-manager repos --enable rhel-7-server-optional-rpms subscription-manager repos --enable rhel-7-server-extras-rpms
Aggiungi repository Icinga 2
Icinga fornisce il suo repository ufficiale per i loro pacchetti Quindi, installa il repository rpm
rpm --import https://packages.icinga.com/icinga.key yum install https://packages.icinga.com/epel/icinga-rpm-release-7-latest.noarch.rpm
Installa Icinga 2
yum -y install icinga2
Per avviare il servizio Icinga2, eseguire:
systemctl start icinga2
Per impostare il servizio Icinga 2 in modo che si avvii automaticamente all'avvio del sistema, eseguire:
systemctl enable icinga2
SELinux
Se il sistema ha SELinux abilitato, installare il pacchetto seguente per avere una politica mirata per Icinga 2.
yum install -y icinga2-selinux
Installa i plug-in Nagios
Senza i plugin, Icinga 2 non sa come monitorare i servizi esterni. Quindi installa i plugin Nagios sopra Icinga 2.
yum -y install nagios-plugins-all
Configurazione DB IDO MySQL
Il modulo DB IDO per Icinga 2 si occupa di esportare nel database tutte le informazioni di configurazione e di stato; abbiamo bisogno di un server di database per questo requisito.
Attualmente sono supportati MySQL e PostgreSQL. Qui useremo il server MySQL come server di database.
Se hai già un server MySQL sul tuo sistema, puoi saltare il passaggio seguente.
yum -y install mariadb-server mariadb
Avvia e abilita il servizio MariaDB.
systemctl start mariadb systemctl enable mariadbEsegui la configurazione iniziale di MariaDB utilizzando mysql_secure_installation comando.
Installa i moduli IDO per MySQL
Ora, installa i moduli IDO per MySQL usando il seguente comando. Puoi trovare il pacchetto icinga2-ido-mysql nel repository Icinga 2.
yum -y install icinga2-ido-mysql
Crea database per Icinga 2
Accedi a MariaDB usando il seguente comando.
mysql -u root -p
Crea un database per i moduli IDO, e questo viene utilizzato quando imposti l'interfaccia web di Icinga2.
CREATE DATABASE icinga2; grant all privileges on icinga2.* to icinga2@localhost identified by 'icinga123'; FLUSH PRIVILEGES; quit
Dopo aver creato il database, devi importare lo schema Icinga 2 IDO utilizzando il seguente comando.
mysql -u root -p icinga2 < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Abilita modulo IDO MySQL
Elenchiamo le funzionalità disponibili e abilitate in Icinga 2.
icinga2 feature list
Risultato:
Disabled features: api command compatlog debuglog elasticsearch gelf graphite influxdb livestatus opentsdb perfdata statusdata syslog Enabled features: checker ido-mysql mainlog notification
Puoi vedere che ido-mysql è già abilitato.
Se ido-mysql non è abilitato sul tuo sistema, quindi abilitalo utilizzando il comando seguente.
icinga2 feature enable ido-mysql
Inoltre, abilita il comando funzione che aiuta l'interfaccia web di Icinga e altri componenti aggiuntivi di Icinga a inviare comandi a Icinga 2 tramite la pipe dei comandi esterna.
icinga2 feature enable command
Configura il modulo IDO DB MySQL
Dopo aver abilitato i moduli IDO in Icinga 2, Icinga 2 inserisce il nuovo file di configurazione in /etc/icinga2/features-enabled/ido-mysql.conf in cui è necessario aggiornare manualmente le credenziali del database.
vi /etc/icinga2/features-enabled/ido-mysql.conf
Aggiorna il file sopra mostrato come di seguito.
user = "icinga2", password = "icinga123", host = "localhost", database = "icinga2"
Riavvia l'istanza Icinga 2 per rendere effettive queste funzionalità abilitate.
systemctl restart icinga2
Verifica lo stato del servizio Icinga 2.
systemctl status icinga2
Risultato:
● icinga2.service - Icinga host/service/network monitoring system Loaded: loaded (/usr/lib/systemd/system/icinga2.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2018-09-04 05:00:38 UTC; 23h ago Main PID: 11656 (icinga2) CGroup: /system.slice/icinga2.service ├─ 4520 /usr/lib64/nagios/plugins/check_ping -H 10.142.0.4 -c 5000,100% -w 3000,80% ├─ 4521 /usr/bin/ping -n -U -W 30 -c 5 10.142.0.4 ├─11656 /usr/lib64/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e └─11690 /usr/lib64/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e Sep 05 04:43:10 rhicinga2server icinga2[11656]: mail not found in $PATH. Consider installing it. Sep 05 04:43:10 rhicinga2server icinga2[11656]: [2018-09-05 04:35:29 +0000] information/WorkQueue: #10 (Json...in); Sep 05 04:43:10 rhicinga2server icinga2[11656]: [2018-09-05 04:35:30 +0000] information/WorkQueue: #7 (IdoMy...in); Sep 05 04:43:10 rhicinga2server icinga2[11656]: [2018-09-05 04:35:38 +0000] information/ConfigObject: Dumpin...ate' Sep 05 04:43:10 rhicinga2server icinga2[11656]: [2018-09-05 04:40:29 +0000] information/WorkQueue: #6 (ApiLi...in); Sep 05 04:43:10 rhicinga2server icinga2[11656]: [2018-09-05 04:40:29 +0000] information/WorkQueue: #5 (ApiLi...in); Sep 05 04:43:10 rhicinga2server icinga2[11656]: [2018-09-05 04:40:38 +0000] information/ConfigObject: Dumpin...ate'
Firewall
Configurare il firewall per consentire ai client Icinga 2 di comunicare con il server Icinga 2.
firewall-cmd --permanent --add-port=5665/tcp firewall-cmd --reload
Configurare l'interfaccia web di Icinga 2 nel nostro prossimo tutorial.
LEGGI :Come configurare Icinga Web 2 su CentOS 7 / RHEL 7
Questo è tutto.