Ich hatte nun mehr als einmal erheblich Probleme mit der mysql-Datenbank nach einem Stromausfall. Da das Problem nicht wirklich auf mysql-Ebene gelöst werden kann, wollte ich es Hardware-seitig mit Hilfe einer „unterbrechungsfreien Stromversorgung (USV)“ lösen – bzw. zumindest lindern oder seltener auftreten lassen. Dies habe ich mit einer USV und dem apcupsd erreicht:
Dazu habe ich mir eine kleine USV von APC für „Home-Use“ gekauft. Damit verfolge ich verschiedene Ziele:
- Kleine Stromausfälle oder -Schwankungen zu überbrücken, ohne dass der Betrieb davon beeinträchtigt wird.
- Bei längeren Stromausfällen der automatische Herunterfahren der Systeme sicherstellen.
Ziel 1 und durch einfaches „Zwischenstecken“ der USV ja schon gelöst.
Ziel 2 ist da schon aufwändiger: Dazu muss das System ja irgendwie von der USV „mitbekommen“, dass Stromausfall ist. Dazu habe ich zunächst versucht, eine geeignete Software für ESX/Vmware-Software von der APC-Homepage herunterzuladen. Die ist aber so unübersichtlich, dass ich es dort aufgegeben habe. Dafür habe ich eine Alternative gefunden:
Der apdupsd ist eine OpenSource-Implementierung eines Linux-Daemons, der mit der USV „spricht“ und alle (für mich) wichtigen funktionen bereitstellt. Es gibt auch eine ausführliche Anleitung.
Der apupsd
Damit habe ich folgendes gemacht:
apt-get install apcupsd
ls -la /etc/apcupsd/
vi /etc/apcupsd/apcupsd.conf
systemctl enable apcupsd
Nun läuft der Dämon, stellt eine Verbindung via USB zur USV her und horcht auf Port 3551. So kann man nun schonmal alle Werte der USV auslesen:
apcaccess status 127.0.0.1:3551
Außerdem kann man z.B. schon über eine lokale URL den Status der USV sehen: Bei mir ist das http://martiniesrv/cgi-bin/apcupsd/upsstats.cgi?host=127.0.0.1&img1=1&img2=6&img3=5&temp=C&refresh=30
Zabbix Monitoring:
- installiert von https://share.zabbix.com/power-ups/apc/template-apcupsd
userparameter_apcupsd.conf
aus dem github Repo nach/etc/zabbix/zabbix_agentd.d/userparameter_apcupsd.conf
kopiert und angepasst.- eigenes
/etc/apcupsd/doshutdown
erstellt. - Zabbix-Template um weitere Items erweitert.
Überwacht und gemeldet wird nun z.B. wenn die USB-Verbindung zur USV nicht mehr läuft, wenn die Batterie nicht mehr voll ist oder wenn die Batterie (laut USV) nur noch weniger als 10 Minuten halten kann.
Selbsttest
Außerdem habe ich (nach Anleitung) einen Selbsttest der USV durchgeführt:
systemctl stop apcupsd
apctest
– dort den Anweisungen folgen.
Dies soll man nun ca. 1x pro Jahr durchführen.
Fazit
Nach zwischenzeitlicher Frustration auf der APC-Webseite bin ich nun sehr froh über die gelungene Integration der USV mit Zabbix in meinem System. War im Endeffekt wirklich nicht aufwändig.