Server Installation/munin: Unterschied zwischen den Versionen
Erscheinungsbild
Inhalt gelöscht Inhalt hinzugefügt
| (14 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
Software für |
Software für das Monitoring von Hosts im Opennet (Verkehr, AP-Zustände, ...). Allgemeines zum Opennet Dienst siehe [[Opennet munin]]. |
||
== Installation == |
|||
Munin zusammen mit rrdcached einrichten, um die IO-Last zu reduzieren: <pre>apt install munin rrdcached</pre> |
|||
Graphen werden on-demand (beim Abruf via CGI) erzeugt. |
|||
=== Munin === |
|||
* erzeugt Graphen zum Systemzustand, insbesondere Netztraffic |
|||
* die munin-spezifischen Direktiven sind unter ''/etc/apache2/...'' zu finden: |
|||
* Default-Installation ausreichend, Zugriff via Web (''apache'') |
|||
<pre> |
|||
* ''Require all granted'' in ''/etc/apache2/conf-enables/munin.conf'' aufnehmen |
|||
DocumentRoot /var/cache/munin/www |
|||
<Directory /var/cache/munin/www> |
|||
=== Betrieb === |
|||
Require all granted |
|||
Options None |
|||
</Directory> |
|||
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph |
|||
==== Script AP Monitoring ==== |
|||
<Location /munin-cgi/munin-cgi-graph> |
|||
Require all granted |
|||
<IfModule mod_fcgid.c> |
|||
SetHandler fcgid-script |
|||
</IfModule> |
|||
<IfModule !mod_fcgid.c> |
|||
SetHandler cgi-script |
|||
</IfModule> |
|||
</Location> |
|||
</pre> |
|||
* die obige Datei ist via ''Include'' in allen site-Definitionen einzutragen |
|||
* einen cron-Job zur Beräumung alter rrd- und png-Dateien anlegen: |
|||
<pre> |
|||
18 5 * * 3 find /var/lib/munin -type f -mtime +365 -delete |
|||
</pre> |
|||
=== rrdcached === |
|||
#!/bin/bash |
|||
* Rechte und Timing in ''/etc/default/rrdcached'': |
|||
# |
|||
OPTS="-w 1800 -z 1800 -f 3600 -s munin -m 660 -l unix:/var/run/rrdcached.sock -j /var/lib/rrdcached/journal/ -F -b /var/lib/munin -B" |
|||
# Opennet Munin Scripts |
|||
# Mathias Mahnke, created 2016/08/22 |
|||
=== AP-Listen-Aktualisierung === |
|||
# Opennet Admin Group <admin@opennet-initiative.de> |
|||
Regelmäßig läuft ein Skript, das alle APs mit laufendem munin-Dienst ermittelt und daraus eine Konfigurationsdatei für munin erzeugt. Somit müssen die APs lediglich mit munin ausgestattet werden (Paket-Installation ''on-monitoring''), ohne dass eine weitere Interaktion mit dem munin-Server erforderlich ist. |
|||
# |
|||
# stop on error and unset variables |
|||
* Skript unter [[Media:munin-oni-update-hosts.sh|/usr/local/bin/munin-oni-update-hosts]] ablegen |
|||
set -eu |
|||
* Cron-Jobs unter ''/etc/cron.d/munin-oni-update'' eintragen: |
|||
# define variables, adopt if needed |
|||
<pre> |
|||
MUNINSCRIPT_GROUP="ap" |
|||
*/10 * * * * root /usr/local/bin/munin-oni-update-hosts update-unused |
|||
MUNINSCRIPT_RANGE=(1 2 3) |
|||
34 4 * * * root /usr/local/bin/munin-oni-update-hosts update-all && /usr/local/bin/munin-oni-update-hosts remove-outdated |
|||
MUNINSCRIPT_PREFIX="AP" |
|||
</pre> |
|||
MUNINSCRIPT_SUFFIX="aps.on" |
|||
# output the munin configuration part for APs |
|||
=== E-Mail Alarmierung für Server === |
|||
for range in "${MUNINSCRIPT_RANGE[@]}" |
|||
do |
|||
* Mail Werkzeug installieren per ''apt install bsd-mailx'' |
|||
for num in {1..255} |
|||
* Konfiguration unter ''/etc/munin/munin.conf.d/_mail.conf'' ablegen |
|||
do |
|||
<pre> |
|||
echo "[$MUNINSCRIPT_GROUP;$MUNINSCRIPT_PREFIX$range.$num]" |
|||
contact.<mailname>.command mail -s "[${var:group};${var:host}] -> ${var:graph_title} -> |
|||
echo " address $range.$num.$MUNINSCRIPT_SUFFIX" |
|||
warnings: ${var:wfields} / |
|||
criticals: ${var:cfields} / |
|||
unknowns: ${var:ufields}" <mailaddress>@opennet-initiative.de |
|||
done |
|||
[server;] |
|||
done |
|||
contacts <mailname> |
|||
exit 0 |
|||
[ap;] |
|||
contacts no |
|||
</pre> |
|||
== Betrieb == |
|||
=== Abfrage von Hosts === |
|||
Unter ''/etc/munin/munin-conf.d/'' liegen mehrere Dateien, in denen die verschiedenen Hosts aufgeführt sind, die überwacht werden sollen. |
|||
==== Server ==== |
|||
* für Server könnte es dieser Block in der Datei ''server.conf'' sein: |
|||
<pre> |
|||
[<standort>;<servername>] |
|||
address <servername>.on |
|||
use_node_name yes |
|||
</pre> |
|||
* ein paar Minuten später dürfte der neue Rechner im munin-Web-Interface auf [[Server/howmei]] auftauchen: https://monitor.opennet-initiative.de/ |
|||
* falls es nicht klappt, dann simuliere eine Datenabfrage von howmei aus in Richtung des zu überwachenden Servers (mit ''telnet'' oder ''netcat''): |
|||
<pre> |
|||
netcat <servername>.on munin |
|||
</pre> |
|||
* der üblichste Grund für ein Fehlschlagen ist die fehlende ''allow''-Zeile in der ''munin-node.conf'' oder der fehlende munin-node-Neustart |
|||
==== Access-Points ==== |
|||
* in der Datei ''/etc/munin/munin-conf.d/ap.conf'' sind alle aktuell überwachten APs aufgeführt |
|||
** die Überwachung wird durch Installation des ''on-monitoring''-Pakets aktiviert |
|||
** alternativ: ''muninlite'' installieren und ''xinetd'' aktivieren |
|||
* diese Datei wird automatisiert erstellt (siehe unten) - manuelle Änderungen werden also regelmäßig überschrieben |
|||
* alle APs, die in den üblichen Netzwerkbereichen (192.168.[123].0/24) erreichbar sind, werden automatisch erfasst, sofern auf ihnen ein munin-Dienst läuft |
|||
** Test: ''telnet 192.168.x.y munin'' (oder mit ''netcat'') |
|||
==== Einsicht in die Munin Datenbank / Schwellwerte ==== |
|||
* die Inhalte der einzelnen Checks und ihren aktuellen Schwellwerten je Plugin sind abrufbar unter |
|||
# grep "maki.*avgwrwait.warning" /var/lib/munin/datafile |
|||
server;maki:diskstats_latency.mapper_backup_storage.avgwrwait.warning 0:3 |
|||
[..] |
|||
* daraus können in ''/etc/munin/munin-conf.d/'' neue Schwellwerte erzeugt und hinterlegt werden |
|||
[[Kategorie:Server]] |
[[Kategorie:Server]] |
||
Aktuelle Version vom 8. Februar 2019, 02:53 Uhr
Software für das Monitoring von Hosts im Opennet (Verkehr, AP-Zustände, ...). Allgemeines zum Opennet Dienst siehe Opennet munin.
Installation
Munin zusammen mit rrdcached einrichten, um die IO-Last zu reduzieren:
apt install munin rrdcached
Graphen werden on-demand (beim Abruf via CGI) erzeugt.
Munin
- die munin-spezifischen Direktiven sind unter /etc/apache2/... zu finden:
DocumentRoot /var/cache/munin/www
<Directory /var/cache/munin/www>
Require all granted
Options None
</Directory>
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
Require all granted
<IfModule mod_fcgid.c>
SetHandler fcgid-script
</IfModule>
<IfModule !mod_fcgid.c>
SetHandler cgi-script
</IfModule>
</Location>
- die obige Datei ist via Include in allen site-Definitionen einzutragen
- einen cron-Job zur Beräumung alter rrd- und png-Dateien anlegen:
18 5 * * 3 find /var/lib/munin -type f -mtime +365 -delete
rrdcached
- Rechte und Timing in /etc/default/rrdcached:
OPTS="-w 1800 -z 1800 -f 3600 -s munin -m 660 -l unix:/var/run/rrdcached.sock -j /var/lib/rrdcached/journal/ -F -b /var/lib/munin -B"
AP-Listen-Aktualisierung
Regelmäßig läuft ein Skript, das alle APs mit laufendem munin-Dienst ermittelt und daraus eine Konfigurationsdatei für munin erzeugt. Somit müssen die APs lediglich mit munin ausgestattet werden (Paket-Installation on-monitoring), ohne dass eine weitere Interaktion mit dem munin-Server erforderlich ist.
- Skript unter /usr/local/bin/munin-oni-update-hosts ablegen
- Cron-Jobs unter /etc/cron.d/munin-oni-update eintragen:
*/10 * * * * root /usr/local/bin/munin-oni-update-hosts update-unused 34 4 * * * root /usr/local/bin/munin-oni-update-hosts update-all && /usr/local/bin/munin-oni-update-hosts remove-outdated
E-Mail Alarmierung für Server
- Mail Werkzeug installieren per apt install bsd-mailx
- Konfiguration unter /etc/munin/munin.conf.d/_mail.conf ablegen
contact.<mailname>.command mail -s "[${var:group};${var:host}] -> ${var:graph_title} ->
warnings: ${var:wfields} /
criticals: ${var:cfields} /
unknowns: ${var:ufields}" <mailaddress>@opennet-initiative.de
[server;]
contacts <mailname>
[ap;]
contacts no
Betrieb
Abfrage von Hosts
Unter /etc/munin/munin-conf.d/ liegen mehrere Dateien, in denen die verschiedenen Hosts aufgeführt sind, die überwacht werden sollen.
Server
- für Server könnte es dieser Block in der Datei server.conf sein:
[<standort>;<servername>]
address <servername>.on
use_node_name yes
- ein paar Minuten später dürfte der neue Rechner im munin-Web-Interface auf Server/howmei auftauchen: https://monitor.opennet-initiative.de/
- falls es nicht klappt, dann simuliere eine Datenabfrage von howmei aus in Richtung des zu überwachenden Servers (mit telnet oder netcat):
netcat <servername>.on munin
- der üblichste Grund für ein Fehlschlagen ist die fehlende allow-Zeile in der munin-node.conf oder der fehlende munin-node-Neustart
Access-Points
- in der Datei /etc/munin/munin-conf.d/ap.conf sind alle aktuell überwachten APs aufgeführt
- die Überwachung wird durch Installation des on-monitoring-Pakets aktiviert
- alternativ: muninlite installieren und xinetd aktivieren
- diese Datei wird automatisiert erstellt (siehe unten) - manuelle Änderungen werden also regelmäßig überschrieben
- alle APs, die in den üblichen Netzwerkbereichen (192.168.[123].0/24) erreichbar sind, werden automatisch erfasst, sofern auf ihnen ein munin-Dienst läuft
- Test: telnet 192.168.x.y munin (oder mit netcat)
Einsicht in die Munin Datenbank / Schwellwerte
- die Inhalte der einzelnen Checks und ihren aktuellen Schwellwerten je Plugin sind abrufbar unter
# grep "maki.*avgwrwait.warning" /var/lib/munin/datafile server;maki:diskstats_latency.mapper_backup_storage.avgwrwait.warning 0:3 [..]
- daraus können in /etc/munin/munin-conf.d/ neue Schwellwerte erzeugt und hinterlegt werden