Content
Dateianzeige für monitoring (0.4.2)
usr/share/doc/monitoring/monitoring.txt#----------------------------------------------------------------------------
# /usr/share/doc/monitoring/monitoring.txt - Documentation for Monitoring
#
# Creation: 18.10.2005 Stephan Sanders
# Last Update: 04.07.2006 Stephan Sanders
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#----------------------------------------------------------------------------
Monitoring & Report Tool for Eisfair
-----------------------------------------------------------------------------
Beschreibung:
Mit diesem Tool ist es moeglich, bestimmte Werte zu monitoren
und bei ueber oder unterschreitung alarme auszugeben.
Die Ausgabe kann dabei via mail, sms oder spez. Kommando erfolgen.
Sofern ein Alarm aufgetreten ist, und dieser Status aller Abfragen un-
veraendert bleibt, gibt es keine weitere Benachrichtigung.
Erst bei neuen Alarmen bzw. wenn die Alarme nicht mehr auftreten wird eine
Benachrichtigung ausgefuehrt.
Folgende Quellen sind bisher implementiert:
- Eistemp (Ueberwachung von Temperaturen der Sensoren)
- ping, ping6 (Testet verbindung zu einem Host.
- loadavg (Ueberwachung der CPU-Last)
- lmsensors (Ueberwachung von HW-Systemwerten)
- smtp, pop3, ftp
- http - echoping testet die verfuegbarkeit eines https-Servers
- cmd -- eigene shellscripte oder abfragen
- hddtemp - Ueberwachung der Festplattentemperatur via SMART
- ps - Laufende Prozesse ueberwachen
- df - Freien Speicherplatz einer Partition ueberwachen
- https - echoping zum testen eines https-Servers
-----------------------------------------------------------
Konfiguration:
-------------------------
START_MONITORING='no'
Aktiviere Monitoring?
-------------------------
MONITORING_CRON='*/15 * * * *'
Crontab zum ausfuehren der Abfrage
Beispiel fuehrt das Script alle 15 Minuten aus.
-------------------------
MONITORING_FLAGCONTROL='yes'
yes --> es werden nur Aenderungen im status gemeldet.
(Alarm --> 1. Mail, Alarmende --> 2.Mail)
no --> es wird jeder Alarm gemeldet, auch schon
gemeldete Alarme!
-------------------------
MONITORING_GROUP_N='1'
Anzahl der Monitoring-Gruppen
-------------------------
MONITORING_GROUP_1_ACTIVE='yes'
Ist diese Gruppe aktiv?
-------------------------
MONITORING_GROUP_1_MAIL='root@localhost'
Mailempfaenger fuer diese Gruppe
-------------------------
MONITORING_GROUP_1_MAILSUBJECT=''
Mail-Betreff fuer diese Gruppe
Dieser Betreff wird auch fuer die SMS benutzt.
-------------------------
MONITORING_GROUP_1_YAPS=''
Hier kann eine Handynummer eingetragen werden.
Versand erfolgt dann mit YAPS
Hierfuer ist das Paket "yaps" erforderlich!
-------------------------
MONITORING_GROUP_1_CMD=''
Kommando ausfuehren im Alarmfall
-------------------------
MONITORING_GROUP_1_SOURCE_N='1'
Wieviele Messwerte fuer diese Gruppe
-------------------------
MONITORING_GROUP_1_SOURCE_1_TYPE='eistemp'
Typ des Messwerts (eg eistemp; loadavg; ping; lmsensors; http; pop3; smtp; ftp; cmd; hddtemp; ps; df; https; apcups)
Die Einstellung "eistemp" benoetigt das Paket "eistemp"
Die Einstellung "lmsensors" benoetigt das Paket "lmsensors"
Die Einstellung "hddtemp" benoetigt das Paket "hddtemp"
Die Einstellung "apcups" benoetigt das Paket "apcups"
-------------------------
MONITORING_GROUP_1_SOURCE_1_CMD=''
Bei Type cmd wird hier der Befehl fuer
den Messwert oder das Shellscript angegeben!
-------------------------
MONITORING_GROUP_1_SOURCE_1_NAME='1'
Name dieses Wertes
-------------------------
MONITORING_GROUP_1_SOURCE_1_UNIT=''
Einheit fuer diesen Wert
-------------------------
MONITORING_GROUP_1_SOURCE_1_MIN=''
Minimum Wert
-------------------------
MONITORING_GROUP_1_SOURCE_1_MAX=''
Maximum Wert
----------------------------------------------------------------
Parameter fuer Eistemp
MONITORING_GROUP_1_SOURCE_1_TYPE='eistemp'
MONITORING_GROUP_1_SOURCE_1_NAME='SENSORNR' #eg 1...
MONITORING_GROUP_1_SOURCE_1_UNIT='Grad C'
MONITORING_GROUP_1_SOURCE_1_MAX='52' Max Value
MONITORING_GROUP_1_SOURCE_1_MIN='42' Min Value
Anmerkung:
Es koennen nur ganze Zahlen ausgewertet Werden.
Also keine 30,5 ! Nur 30 bzw 31
-----------------------------------------------------------
Parameter fuer ping und ping6
MONITORING_GROUP_1_SOURCE_1_TYPE='ping'
MONITORING_GROUP_1_SOURCE_1_NAME='www.fli4l.de' # IP or Name
MONITORING_GROUP_1_SOURCE_1_UNIT='' # nicht benoetigt
MONITORING_GROUP_1_SOURCE_1_MAX='4' # Anzahl der zu sendenden Pakete
MONITORING_GROUP_1_SOURCE_1_MIN='2' # Minimum Wert fuer fping
-----------------------------------------------------------
Parameter fuer loadavg
MONITORING_GROUP_1_SOURCE_1_TYPE='loadavg'
MONITORING_GROUP_1_SOURCE_1_NAME='1' # 1 = 1 Minuten Wert
2 = 5 Minuten Wert
3 = 10 Minuten Wert
MONITORING_GROUP_1_SOURCE_1_UNIT='%' # nicht benoetigt
MONITORING_GROUP_1_SOURCE_1_MAX='99' # max Value
MONITORING_GROUP_1_SOURCE_1_MIN='33' # min Value
-----------------------------------------------------------
Parameter fuer lmsensors
MONITORING_GROUP_1_SOURCE_1_TYPE='lmsensors'
MONITORING_GROUP_1_SOURCE_1_NAME='fan1'
Am besten: /usr/bin/sensors aufrufen und Namen ablesen!
fan1 Wert des ersten Luefters
volt12 12 Volt Spannung
temp1 Temp.Sensor 1
- mehr Infos findet ihr bei lmsensors
wenn die Namen bei lmsensors selbst gesetzt wurden, bitte moeglichst
auf Sonderzeichen verzichten und diesen Alias hier eintragen.
"+" und "-" sind ok.
"fan1" alias = "Fan-CPU"
somit muss "Fan-CPU" eingetragen werden
MONITORING_GROUP_1_SOURCE_1_UNIT='RPM, Volt oder Grad C' # nicht benoetigt
MONITORING_GROUP_1_SOURCE_1_MAX='99' # max Value
MONITORING_GROUP_1_SOURCE_1_MIN='33' # min Value
-----------------------------------------------------------
Parameter fuer http und https
MONITORING_GROUP_1_SOURCE_1_TYPE='https|http'
MONITORING_GROUP_1_SOURCE_1_NAME='www.fli4l.de' # IP or Name
MONITORING_GROUP_1_SOURCE_1_UNIT='' # wird nicht benoetigt
MONITORING_GROUP_1_SOURCE_1_MAX='' # wird nicht benoetigt
MONITORING_GROUP_1_SOURCE_1_MIN='' # wird nicht benoetigt
Wenn echoping erfolgreich kein Fehlerfall
Ohne Antwort --> Not available
-----------------------------------------------------------
Parameter fuer pop3
MONITORING_GROUP_1_SOURCE_1_TYPE='pop3'
MONITORING_GROUP_1_SOURCE_1_NAME='pop.web.de' # IP or Name
MONITORING_GROUP_1_SOURCE_1_UNIT='' # wird nicht benoetigt
MONITORING_GROUP_1_SOURCE_1_MAX='' # wird nicht benoetigt
MONITORING_GROUP_1_SOURCE_1_MIN='' # wird nicht benoetigt
Wenn Connection erfolgreich kein Fehlerfall
Ohne Antwort --> Fail
Es wird hier ausgewertet ob der Server beim verbinden "+OK"
zuruecksendet.
-----------------------------------------------------------
Parameter fuer smtp
MONITORING_GROUP_1_SOURCE_1_TYPE='smtp'
MONITORING_GROUP_1_SOURCE_1_NAME='mail.web.de' # IP or Name
MONITORING_GROUP_1_SOURCE_1_UNIT='' # wird nicht benoetigt
MONITORING_GROUP_1_SOURCE_1_MAX='' # wird nicht benoetigt
MONITORING_GROUP_1_SOURCE_1_MIN='' # wird nicht benoetigt
Wenn Connection erfolgreich kein Fehlerfall
Ohne Antwort --> Fail
Es wird hier ausgewertet ob der Server beim verbinden "220"
zuruecksendet.
-----------------------------------------------------------
Parameter fuer ftp
MONITORING_GROUP_1_SOURCE_1_TYPE='ftp'
MONITORING_GROUP_1_SOURCE_1_NAME='ftpserver.local.net' # IP or Name
MONITORING_GROUP_1_SOURCE_1_UNIT='' # wird nicht benoetigt
MONITORING_GROUP_1_SOURCE_1_MAX='' # wird nicht benoetigt
MONITORING_GROUP_1_SOURCE_1_MIN='' # wird nicht benoetigt
Wenn Connection erfolgreich kein Fehlerfall
Ohne Antwort --> Fail
Es wird hier ausgewertet ob der Server beim verbinden "220"
zuruecksendet.
-----------------------------------------------------------
Parameter fuer cmd
MONITORING_GROUP_1_SOURCE_1_TYPE='cmd'
MONITORING_GROUP_1_SOURCE_1_CMD='/usr/local/bin/test.sh' # Command oder Shellscript
MONITORING_GROUP_1_SOURCE_1_NAME='' # Anzeigename
MONITORING_GROUP_1_SOURCE_1_UNIT='' # Einheit, falls benoetigt
MONITORING_GROUP_1_SOURCE_1_MAX='' # Maximalwert
MONITORING_GROUP_1_SOURCE_1_MIN='' # Minimalwert
Es kann ein beliebiges Shell-Script benutzt werden.
Es wird dabei der Rueckgabewert ausgewertet. Dementsprechend
sollte die Ausgabe aus einer Zahl bestehen, mit der es dann
moeglich ist eine min/max-Abfrage auszufuehren.
-----------------------------------------------------------
Parameter fuer hddtemp
MONITORING_GROUP_1_SOURCE_1_TYPE='hddtemp'
MONITORING_GROUP_1_SOURCE_1_NAME='/dev/hda' # Devicename!
# eg. /dev/sdc
MONITORING_GROUP_1_SOURCE_1_UNIT='' # Einheit
MONITORING_GROUP_1_SOURCE_1_MAX='45' # max Value
MONITORING_GROUP_1_SOURCE_1_MIN='' # min Value | Do you really need it?
Fuer diese Quelle wird das Paket hddtemp benoetigt.
-----------------------------------------------------------
Parameter fuer ps
MONITORING_GROUP_1_SOURCE_1_TYPE='ps'
MONITORING_GROUP_1_SOURCE_1_NAME='/usr/local/bin/hddtemp' # Prozess
# Name des Prozesses wie er gestartet wird.
# evt. testen und ggf ps ax aufrufen
MONITORING_GROUP_1_SOURCE_1_UNIT='' # nicht benoetigt
MONITORING_GROUP_1_SOURCE_1_MAX='' # nicht benoetigt
MONITORING_GROUP_1_SOURCE_1_MIN='' # nicht benoetigt
-----------------------------------------------------------
Parameter fuer df
MONITORING_GROUP_1_SOURCE_1_TYPE='df'
MONITORING_GROUP_1_SOURCE_1_NAME='/dev/hda3' # Name der Partition
MONITORING_GROUP_1_SOURCE_1_UNIT='' # nicht benoetigt! immer MB
MONITORING_GROUP_1_SOURCE_1_MAX='' # nicht benoetigt
MONITORING_GROUP_1_SOURCE_1_MIN='50000' # <=> 50GB
-----------------------------------------------------------
Parameter fuer apcups
MONITORING_GROUP_1_SOURCE_1_TYPE='apcups'
MONITORING_GROUP_1_SOURCE_1_NAME='BCHARGE' # Name der Partition
MONITORING_GROUP_1_SOURCE_1_UNIT='' # Einheit fuer den Wert
MONITORING_GROUP_1_SOURCE_1_MAX='' # Max-Value
MONITORING_GROUP_1_SOURCE_1_MIN='30' # Min-Value | hier 30%
Diese Funktion benoetigt das Paket "apcupsd"!
Bitte wie im gesamten Monitoring nur ganze Zahlen angeben!
Gross/Kleinschreibung des Namens bitte beachten!
Es koennen Werte aus der Datei /etc/apcupsd/apcupsd.status abgefragt werden.
Einige Beispiele:
LINEV --> Netzspannung EINGANG
BATTV --> Batteriespannung
BCHARGE --> Batterieladung
OUTPUTV --> Ausgangsspannung
LOADPCT --> Ausgangslast
ITEMP --> Interne Temperatur
... (siehe /etc/apcups.status)
Dazu muessen allerdings in der Config von apcups 2 Variablen
richtig konfiguriert sein!
STATTIME 60 # hier die Sekunden
STATFILE /etc/apcupsd/apcupsd.status
Es ist teilweise sinnvoller Benachrichtigungen durch apcups durchzufuehren.
(Monitoring wird nur durch cron gestartet)
Der apcupsd reagiert ggf. sofort.
Unter /etc/apcupss/ befinden sich die Config und Script-Dateien.
Hilfe findet man in den Dateien, bzw in der Dokumentation zu
apcupsd.
-----------------------------------------------------------
Menuebeschreibung:
1: View documentation
--> Oeffnet diesen Text
2: Edit configuration
--> Bearbeiten der Konfiguration
3: Edit eMail-header
--> Hier kann der Header fuer die Mail bearbeitet werden.
4: Edit eMail-footer
--> Hier kann der Footer fuer die Mail bearbeitet werden.
5: Run monitoring.sh
--> fuehrt das Shell-Script aus welches sonst von
cron gestartet wird. (Manuelles Monitoring)
6: Show actual values
--> zeigt die aktuellen Werte und Grenzwerte im Menue an.