Hallo zusammen,
da es meine ersten schritte auf dem Gebiet der Shell Skript Erstellung gewesen sind und vieles Neuland für mich gewesen ist freue ich mich, heute um so mehr, hier wieder zwei tolle Tools anbieten zu können für euer Homebridge Setup.
Anforderungen:
- Beide Tools benötigen ein Telegram Account mit eingerichtetem Bot.
- Eine Anleitung zum Bot erstellen findet ihr hier:
https://praxistipps.chip.de/te…-erstellen-so-gehts_99599
- Tool reporter.sh benötigt Homebridge als systemd Service eingerichtet. Init.d wird nicht unterstützt.
Funktionen:
reporter.sh
- Überwachen von Homebridge Instanzen
- Linux Multiuser tauglich
- Ausführen einer Aktion auf Grundlage eines Ereignis
- Benachrichtigen per Telegram
logwatch.sh
- System Zusammenfassung erstellen über die Software Logwatch
- Homebridge Plugin Updates anzeigen
- System und Pakete Update anzeigen
- Linux Multiuser tauglich
- Benachrichtigen per Telegram
Hinweis:
- Die Software ntfy wird nicht mehr benötigt wie bei meinem ersten Anlauf, es wird jetzt direkt auf die API von Telegram zugegriffen.
Homebridge & Systemüberwachung mit ntfy und Telegram Push (systemd)
- Eine detaillierte Erklärung der einzelnen Funktionen bzw. Abschnitte der Tools befinden sich im Skript.
Installation:
- Manuell gem. dieser Anleitung
- Automatisch über das hbridge_install Tool
Tool: reporter.sh
Beschreibung:
Das Tool reporter.sh ermöglicht eine Live Überwachung jeder einzelnen Instanz eurer Homebridge sowie eine Überwachung jeglicher Art von Ereignissen die im Journalctl mitgeschrieben werden. Beim Auftreten eines Ereignis z.B. der Ausfall einer Instanz wird direkt eine Nachricht an Telegram gesendet mit der jeweiligen Bezeichnung der Instanz. Außerdem ist es möglich beim Eintreten eines Ereignis zusätzlich zu der Nachricht an Telegram eine Aktion auszuführen, z.B. ein Restart etc.
Das Skript ist ausgelegt mit der hbridge.cfg Config eingerichtet zu werden, es kann aber auch ohne diese benutzt werden wenn die entsprechenden Daten hier im Skript angegeben werden.
Was mir besonders gut gefällt bei diesem Tool, ist das hier zusätzlich die Möglichkeit besteht eine Nachrichtenbegrenzung festzulegen. Was bedeutet das genau, normalerweise startet ein Homebridge Dienst alle 10 Sek neu dadurch würde alle 10 Sek eine Nachricht versendet werden. Ziemlich nervig Nachts
Durch die Nachrichtenbegrenzung besteht die Möglichkeit vorzugeben das nur alle x Zeit eine Nachricht versendet wird solang das Ereignis weiter existiert.
Anleitung:
Schritt 1: (reporter.sh Skript anlegen)
Datei anlegen:
sudo nano /usr/local/bin/reporter.sh
Skript einfügen, speichern und Schreibrechte vergeben
sudo chmod 755 /usr/local/bin/reporter.sh
Download:
Schritt 2: (reporter.service anlegen)
Datei anlegen:
sudo nano /etc/systemd/system/reporter.service
Service Unit einfügen und in der Zeile User=pi den Benutzernamen ändern bei dem der Ordner hbridge_install liegt. Anschließend speichern.
[Unit]
Description=reporter.service
After=network.target
[Service]
User=pi
Type=simple
ExecStart=/usr/local/bin/reporter.sh
Restart=always
SyslogIdentifier=reporter.service
[Install]
WantedBy=multi-user.target
Alles anzeigen
Schritt 3: (reporter.service aktivieren und starten)
Befehle:
sudo systemctl daemon-reload
sudo systemctl enable reporter.service
sudo systemctl restart reporter.service
Ab jetzt ist die Überwachung durch das reporter.sh Tool bei jedem System Start automatisch aktiviert und es wird eine Benachrichtigung gemäß der festgelegten Suchbegriffe auf ein Ereignis erfolgen. Eine Benachrichtigung über denn regulären Start oder Stopp einer Homebridge / Instanz erfolgt nicht. Nur bei Absturz. Sollte das gewünscht sein muss der Suchbegriff dementsprechend erweitert oder geändert werden.
Manuell getestet werden kann der Homebridge Ausfall z.B. durch einen Fehler in der Config.json und einem restart der Homebridge.
Tool: logwatch.sh
Beschreibung:
Das Tool logwatch.sh ermöglicht in Zusammenarbeit mit der Software Logwatch eine tägliche Zusammenfassung der System Logdateien. Es werden alle wichtigen Ereignisse gebündelt und per Telegram versendete.
Zusätzlich wird noch eine Zusammenfassung über ausstehende Firmware, Pakete, node und npm (Plugin) Updates versendet.
Anleitung:
Schritt 1: (Logwatch, npm-check und n Software Installieren)
Befehl ausführen:
sudo apt-get update
sudo apt-get install logwatch
sudo npm install -g n
sudo npm install -g npm-check
Config Datei öffnen:
sudo nano /usr/share/logwatch/default.conf/logwatch.conf
Zeile Detail ändern in High.
Schritt 2: (logwatch.sh Skript anlegen)
Datei anlegen:
sudo nano /usr/local/bin/logwatch.sh
Skript einfügen, speichern und Schreibrechte vergeben
sudo chmod 755 /usr/local/bin/logwatch.sh
Download
Schritt 3: (logwatch.service anlegen)
Datei anlegen:
sudo nano /etc/systemd/system/logwatch.service
Service Unit einfügen und speichern.
[Unit]
Description=logwatch.service
Wants=network.target
[Service]
Type=oneshot
User=pi
ExecStart=/bin/bash /usr/local/bin/logwatch.sh
[Install]
WantedBy=multi-user.target
Alles anzeigen
Schritt 4: (logwatch.timer anlegen)
Datei anlegen:
sudo nano /etc/systemd/system/logwatch.timer
Timer Unit einfügen und speichern.
[Unit]
Description=logwatch.timer
[Timer]
Unit=logwatch.service
OnCalendar=Mon-Sun *-*-* 03:00:00
[Install]
WantedBy=timers.target
In der Zeile OnCalendar=Mon-Sun *-*-* 03:00:00 wird eingestellt wann der Timer denn logwatch.service ausführt und eine Logwatch Zusammenfassung versendet wird. In der Vorlage wird Täglich um 03:00 Uhr Nachts eine Logwatch Zusammenfassung gesendet.
Verschiedene Möglichkeiten wie die Zeile OnCalender angepasst werden kann gibt es hier oder bei Google.
Schritt 5: (logwatch.timer aktivieren und starten)
sudo systemctl daemon-reload
sudo systemctl enable logwatch.timer
sudo systemctl restart logwatch.timer
Prüfen ob Timer aktiviert ist:
systemctl list-timers --all
Manuell getestet werden kann die Funktiontüchtigkeit durch Eingabe von sudo /bin/bash /usr/local/bin/logwatch.shim Terminal.
Schlusswort:
Diese beiden Tools bieten auf relativ einfache weise eine Möglichkeit euer komplettes System und das zugehörige Homebridge Setup zu Überwachen. Ich hoffe es gefällt euch
Gruß Nastra