Was mich sehr irritiert, ist das in der EventConsole bei der Regelerstellung(Eventconsole -> Rule Packs -> New Rule) andere Variablen für die Mustererkennung auswählbar sind, als die Parameter, die man den Shellscripten bei den Actions dann weiter gibt.
Bei der Regel kann man folgende Kriterien auswählen:
- Text (Regex)
- Host
- source IP
- syslog(TAG,PRIO,FACILITY,LEVEL)
- service level
- time period
Bei den Shellscripten kann man diese Variablen auswählen.
- $ID$
- $APPLICATION$
- $STATE$
- $HOST$
- $TEXT$
- ...
Letzteres sieht so nach Nagios-Macros aus.
Was mich irritiert ist, was hat das mit den syslog-Geschichten da auf sich? Ja. Ich weiss was diese Syslog-Begriffe bedeuten, aber auf welche Logdateien beziehen sich diese Regeln? nagios.log? mkeventd.log? In den beiden Dateien sehe ich kein Syslog-Style-Format. Und die Variable "Text" im Rule-Match ist wohl nicht identisch mit dem Macro $TEXT$ des Scriptargumentes - oder aber es ist identisch wobei der Text alleine dann darin reicht nicht aus um die Regel sicher zu identifizieren.
Was helfen würde, wäre auch, wenn man die Syslog-Variablen, die für das Matching verwendet werden, auch dem Script übergeben kann. Dann könnte ich mir das ausgeben lassen und sehe wenigstens Mal was dort drin steht.
Was mir im Moment als sinnvolle Option nur bleibt, ist einen Wildcard-Match zu verwenden und alles weitere in einem Script zu regeln, dass dann Zugriff auf alle wichtigen Variablen und somit die wichtigen Daten haben kann.