Logfile-Typen
Neben dem Parameter »rotation« kennt ein Search auch den Parameter »type«. Er gibt an, um welche Art von Logfile es sich handelt. Wenn der Rotation-Parameter existiert, dann nimmt »type« den Wert »rotation« an. Das bedeutet, dass die Archivdateien für die Suche relevant sind. Gibt es keinen Rotation-Parameter, dann nimmt »type« den Wert »simple« an. Diese Einstellung ist sinnvoll, wenn eine Applikation immer wieder ein neues Logfile verwendet und das alte löscht oder wenn der Anwender in Kauf nehmen möchte, dass die letzten Zeilen in einer wegrotierten Logdatei unbeachtet bleiben.
Ein weiterer Typ von Logfiles, den »check_logfiles« ebenfalls durchsuchen kann, ist »virtual«. Verwendet wird diese Kennzeichnung beispielsweise für das »/proc«-Filesystem von Linux-Rechnern. (Auf diese Weise lässt sich schnell eine einfache Hardware-Überwachung bauen.) Die Dateien in diesem Filesystem wachsen nicht, sondern sind so zu behandeln, als seien sie jedes Mal unmittelbar vor dem Lesen neu entstanden. Diese Logfiles durchsucht das Plugin immer vollständig. Beispiel:
@searches = (
{
tag => 'host0',
logfile => '/sys/class/scsi_host/host0/state',
type => "virtual",
criticalpatterns => [
'Link [^Up]+' # Alarm, wenn nicht "Link Up" drinsteht],
options => 'noprotocol',
},
);
Dann gibt es den Typ »errpt« zum Durchsuchen von AIX Error Reports. Damit prüft das Plugin die Ausgabe des »errpt«-Kommandos auf Pattern so, als wäre sie eine gewöhnliche Logdatei. Noch experimentell ist der Typ »psloglist«, der es erlaubt, das Event-Log eines Windows-Rechners zu durchmustern.
Die Suche nach Mustern in den Logfiles lässt sich durch weitere Parameter steuern. Die wichtigsten fasst der Kasten "Suchparameter" zusammen. Eine vollständige Aufzählung findet sich unter [1]. Die Verwendung im Konfigurationsfile demonstriert Listing 4.
-
»archivedir« ist das Verzeichnis der rotierten
Logdateien.
-
»rotation« ist ein regulärer Ausdruck, mit dem
sich wegrotierte Archivdateien auffinden lassen. Für die gebräuchlichsten Pattern gibt es vordefinierte Werte.
-
»criticalpatterns« ist ein einzelnes Muster, nach
dem das Plugin im Logfile suchen soll. Soll das Plugin nach
mehreren Pattern einer Kategorie suchen, gibt man sie als Elemente eines Array an. Beispiel:
@searches = (
{
tag => 'minor_errors',
type => 'errpt',
criticalpatterns => ['ADAPTER ERROR',
'The largest dump device is too small.',
'The copy directory is too small.',
'Kernel heap use exceeds allocation count',
'Kernel heap use exceeds percentage thres',
'LINK ERROR',
'SCSI BUS OR DEVICE ERROR',
'SCSI DEVICE OR MEDIA ERROR',
'Possible malfunction on local adapter',
'ETHERNET DOWN',
'UNABLE TO ALLOCATE SPACE IN KERNEL HEAP'
],
}
);
-
»criticalexceptions« spezifiziert Pattern genauer:
Der Parameter klammert Spezialfälle aus.
-
»warningthreshold« bestimmt Schwellenwerte, wenn
erst eine bestimmte Anzahl von Treffern zählen soll:
»warningthreshold => n« bedeutet, dass nur jeder n-te Treffer zählt.
- »tag« ist ein eindeutiger Bezeichner.
- »logfile« ist die Logdatei der Applikation.
-
»okpatterns« setzen die Zähler auf null
zurück und löschen alle bisher gefundenen Critical- und Warning-Treffer.
-
»options« steuern durch zahlreiche, per Kommata
getrennte Optionen die Arbeitsweise noch feiner. Den einzelnen
Optionen kann »no« vorangestellt werden, um ihre Bedeutung umzukehren.
-
»nologfilenocry« bewirkt, dass es egal ist, ob das
Log existiert. Fehlt ein Logfile, gibt das Plugin normalerweise den Status »Unknown« weiter.
-
»syslogserver« bewirkt, dass das Plugin
ausschließlich die Messages des lokalen Hosts durchsucht, auch wenn im Logfile Messages von mehreren Servern stehen.
-
»syslogclient=Host« ähnelt der Server-Option,
aber diesmal kommen nur Messages von einem bestimmten Client unter
die Lupe. Diese Option ist für zentrale Syslog-Server interessant.
-
»nocase« bewirkt, dass Groß- und
Kleinschreibung in regulären Ausdrücken keine Rolle spielt.
-
»noprotocol« verhindert die Erzeugung eines
Protokoll-File, in dem normalerweise alle Zeilen des Logfile
landen, in denen die gesuchten Pattern vorkommen. Mit dieser Option
spart sich der Admin im Falle eines Alarms die langwierige Suche im Logfile nach diesen Textstellen.
|
Output und Performancedaten
In der Ausgabe von »check_logfiles« finden sich Hinweise zu den Fundstellen:
CRITICAL - (3 errors in check_logfiles.protocol-2007-10-10-16-21-09) InnoDB: Database page corruption on disk or a failed...
|mysql_lines=12 mysql_warnings=0mysql_criticals=3 mysql_unknowns=0
Neben dem üblichen Nagios-Exitcode ist hier an den Fortsetzungspunkten (»...«) zu erkennen, dass es noch weitere Zeilen mit Treffern gibt. Für jeden Search oder Tag liefert das Plugin außerdem einen Satz von vier Performancedaten:
-
»tag_lines« ist die Anzahl der untersuchten Zeilen
des Logfile.
-
»tag_warnings« ist die Anzahl der Zeilen, die
Warning-Patterns enthalten.
-
»tag_criticals« ist die Anzahl der Zeilen, die
Critical-Patterns enthalten.
-
»tag_unknowns« ist die Zahl der Zeilen, die
Unknown-Patterns enthalten.
| Whitepaper |
|
Usage Landscape Enterprise Open Source Data Integration
Die Nachfrage nach Datenintegrationslösungen für Unternehmen ist zunehmend gestiegen und vor allem das Interesse an Open Source Technologien wird immer größer. Doch wie und von wem werden Open Source Datenintegrationslösungen genutzt und welches Nutzungsverhalten lässt sich daraus ableiten? Das vorliegende White Paper präsentiert die Erfahrungswerte von über 1000 Open Source Nutzern und liefert fundierte Antworten auf diese Fragen.
Download PDF (Registrierung erforderlich)
|
|
Daten Migration - Eine Publikation von Bloor Research
Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|