Definitiv eine ganz coole Kombi.

Heute bin ich über das Module vSphereDB für ICINGA geflogen: https://github.com/Icinga/icingaweb2-module-vsphere
Eins schon mal vorweg: Thomas Gelf… Du bist absolut genial!
Jeder der mit vSphere zu tun hat, macht sich irgendwie Gedanken, wie bekomme ich einen einfachen Überblick über die Anlage? Noch besser ist, wie kann ich jemandem das Monitoring zur Verfügung zu stellen, ohne dass dieser auf die Anlage direkt Zugriff hat. Mit diesem Modul kann ich nun genau das machen.
Hier mal die Steps zur Installation (Ich starte hier ab einer Installation Icinga mit Icinga Director und Maps als Modul.):
- Voraussetzungen installieren
- Datenbank erstellen
- Module bereitstellen
- Datebankresource einrichten
- Service installieren
- vCenter anbinden
- SSL Zertifikat
- Updates
Voraussetzungen installieren
apt-get update
apt-get install php-soap
Datenbank erstellen
mysql -u root -p
CREATE DATABASE icinga2_vsphere CHARACTER SET 'utf8mb4' COLLATE utf8mb4_bin;
GRANT ALL ON icinga2_vsphere.* TO 'USERNAME'@'localhost' IDENTIFIED BY 'PASSWORD';
Module bereitstellen
cd /usr/share/icingaweb2/modules
git clone https://github.com/Icinga/icingaweb2-module-reactbundle --branch stable/0.4.1 reactbundle
icingacli module enable reactbundle
cd /usr/share/icingaweb2/modules
git clone https://github.com/Icinga/icingaweb2-module-ipl --branch stable/0.1.1 ipl
icingacli module enable ipl
cd /usr/share/icingaweb2/modules
git clone https://github.com/Icinga/icingaweb2-module-incubator --branch stable/0.1.1 incubator
icingacli module enable incubator
cd /usr/share/icingaweb2/modules
git clone https://github.com/Icinga/icingaweb2-module-vspheredb vspheredb
icingacli module enable vspheredb
Datenbankresource einrichten
- Anmelden in Icinga
- Navigieren zu Configuration -> Application -> Resources
- Create a New Resource
- Resource Type: SQL Database
- Resource Name: db_icinga2_vsphere
- Database Type: MySQL
- Host: localhost
- Port:
- Database Name: icinga2_vsphere
- Username: USERNAME
- Password: PASSWORD
- Charakter Set: utf8mb4
- Validate Configuration -> successfully
- Save Changes
Server neu starten.
shutdown -r now
Modul einrichten
- Anmelden in Icinga
- Virtualization (VMware) auswählen
- Resource auswählen: db_icinga2_vsphere
- Validate
- Create Schema
Service installieren
cd /usr/share/icingaweb2/modules/vspheredb
cp contrib/systemd/icinga-vspheredb.service /etc/systemd/system/
nano /etc/systemd/system/icinga-vspheredb.service
Hier muss nun an der Stelle von User: icingaweb2 ein Benutzer eingetragen werden, der über genügend Rechte verfügt.
systemctl daemon-reload
systemctl enable icinga-vspheredb
systemctl start icinga-vspheredb
vCenter anbinden
- Navigiere zu Virtualization (VMware) -> Servers
- Add
- vCenter (or ESX) host*: SERVERNAME VCENTER
- Protocol*: HTTPS
- Verify Peer: Yes
- Verify Host: Yes
- Username: USERNAME VCENTER (ReadOnly Benutzer empfohlen!)
- Password: PASSWORD
- Proxy: – please choose –
SSL-Zertifikat
So die grösste “Schwierigkeit” war das Thema mit dem Zertifikat. Dazu machst du nun folgendes:
- Navigiere zu “https://VCENTER”
- Auf der rechten Seite findest du einen Link “Download trusted root CA certificate”
- Lade diesee herunter und entpacke den Ordner “lin”
- Verbinde dich via WinSCP auf den Icinga-Server.
- Navigiere zu “/etc/ssl/certs/”
- Kopiere den Inhalt vom Ordner “lin” in den Ordner “certs”
So und nun starten wir den Server nochmal durch. Damit werden alle Dienste gestartet und Icinga sollte via SOAP im Stande sein, die ganzen Daten aus dem vSphere übertragen zu können.
Updates
Wie halte ich mir das ganze up-to-date? Ich habe mir für die ganzen GitHub-Daten einen Batch gebaut, der von Ordner zu Ordner geht und diese gegenüber GitHub prüft. Der liegt im Verzeichnis des UpdateUsers und kann dann bequem ausgeführt werden via:
sh UpdateGitHub.sh
Der Inhalt des Scripts sieht so aus:
echo "************************************"
echo "ICINGA director"
echo "************************************"
cd /usr/share/icingaweb2/modules/director/
git pull
echo "************************************"
echo ""
echo "************************************"
echo "ICINGA map"
echo "************************************"
cd /usr/share/icingaweb2/modules/map/
git pull
echo "************************************"
echo ""
echo "************************************"
echo "ICINGA mapDatatype"
echo "************************************"
cd /usr/share/icingaweb2/modules/mapDatatype
git pull
echo "************************************"
echo ""
echo "************************************"
echo "ICINGA dashing-icinga2"
echo "************************************"
cd /usr/share/dashing-icinga2
git pull
echo "************************************"
echo ""
echo "************************************"
echo "ICINGA reactbundle"
echo "************************************"
cd /usr/share/icingaweb2/modules/reactbundle
git pull
echo "************************************"
echo ""
echo "************************************"
echo "ICINGA ipl"
echo "************************************"
cd /usr/share/icingaweb2/modules/ipl
git pull
echo "************************************"
echo ""
echo "************************************"
echo "ICINGA incubator"
echo "************************************"
cd /usr/share/icingaweb2/modules/incubator
git pull
echo "************************************"
echo ""
echo "************************************"
echo "ICINGA vspheredb"
echo "************************************"
cd /usr/share/icingaweb2/modules/vspheredb
git pull
echo "************************************"
Hi Diego,
ist vielleicht eine dumme Frage … ich habe mit das Modul auch installiert und auch der automatisch Host/VM Import funktioniert.
Aber wie erstelle ich daraus jetzt einen Check der z.B. die Usage der Datastores prüft oder die CPU Usage der ESX Host?
Gruß Marco
Hallo Marco,
habe es nie geschaft, daraus einen Alarm zu generieren.
Das habe ich nur geschaft, indem ich diese Variante genutzt hatte und mit Pearl das ganze abgefragt hatte:
https://exchange.nagios.org/directory/Plugins/Operating-Systems/%2A-Virtual-Environments/VMWare/Vmware-ESX-%26-VM-host/details
Das vSphere Modul hilft dir einfach sehr gut, eine Übersicht über alles zu erhalten und z.B. siehst du darin extrem schnell, ob Ballooning ein Thema ist.
Lieben Gruss
Diego
Hallo Diego,
ja sieht so aus was wäre es nur für ein “manuelles Monitoring”.
Wir haben die Check jetzt doch weiter über das check_esx realisiert.
Gruß Marco