2016-05-05 6 views
0

Ich mag würde Änderungen an einer Konfigurationsdatei verfolgen. Der Grund dafür ist, dass mehrere Benutzer darauf zugreifen, um verschiedene Probleme zu lösen, aber hin und wieder brechen diese Korrekturen etwas anderes. diff-Funktion in Zabbix zeigt, dass eine Datei geändert wurde, aber ich möchte, dass Zabbix auch verfolgt, was sich geändert hat. Gibt es eine Kombination von Auslösern, die mich das erlauben würden? Jede Hilfe wird sehr geschätzt.Zabbix - Spur Konfigurationsdateien

Antwort

1

Haben Sie Dateiprüfsumme oder Inhalte in der Position speichern? In jedem Fall gibt es keine integrierte Möglichkeit, dies zu tun, aber Sie können es mit einem Skript implementieren.

Wenn Prüfsumme, müssen Sie einen Weg, um die vorherige Version, eine neue Version zu speichern und den diff Befehl ausführen. Am einfachsten wäre ein Benutzerparameter, der zwischen einer temporären Kopie der Datei und der aktuellen Kopie einen Unterschied macht und dann die aktuelle Datei über die temporäre Kopie kopiert. In diesem Fall würden Sie Diff-Ergebnisse direkt in einem Element speichern, und Ihr Trigger würde prüfen, dass der letzte Wert keine leere Zeichenfolge ist. Weitere Informationen zu Benutzerparametern finden Sie unter https://www.zabbix.com/documentation/3.0/manual/config/items/userparameters.

Wenn Sie Dateiinhalte bereits speichern, vermutlich wollen sie wieder zu verwenden. Dies wäre etwas komplizierter, da Sie das Skript immer dann starten müssen, wenn ein neuer Wert eintrifft - vielleicht könnte ein spezieller Trigger eine Aktion auslösen, die die letzten beiden Werte vergleicht (wahrscheinlich unter Verwendung der API) und dann das Ergebnis drücken in einem anderen Gegenstand, der einen anderen Auslöser hat. Wenn Sie keinen guten Grund dafür haben, würde ich mich für den ersten Ansatz entscheiden.

+0

Ricklv, vielen Dank für Ihre Antwort! Wenn Sie sagen, dass Sie eine Möglichkeit benötigen, die vorherige Version zu speichern, wie kann ich das tun? Speichern Sie 2 Dateien und führen Sie Diff aus, war meine erste Idee, aber ich habe keine Idee, wie das geht. –

+0

der nächste Satz schlägt eine Methode vor :) – Richlv

0

Machen Sie eine Kopie von Ihrer Datei

file.txt.copy oder so ähnlich. Machen Sie diese Datei nur schreibbar von zabbix.

Erstellen Sie ein Element und Trigger auf zabbix zu überprüfen, wenn die Datei (mit diff oder Prüfsumme)

eine Aktion auf zabbix Erstellen geändert wurde, ein Skript auszuführen, wird

1 - diff zwischen datei.txt und file.txt.copy und senden Sie diese diference an Ihre E-Mail

2 - Kopieren file.txt file.txt.copy so können Sie die diff beim nächsten Mal die Datei ändern tun.

Um eine Aktion mit Skript reate. Erstellen Sie eine Aktion auf zabbix. Gehe zur Registerkarte "Operationen". Wählen Sie "Remote Command" aus der Option. Wählen Sie ein benutzerdefiniertes Skript. Setzen Sie das Skript mit dem gesamten Pfad und den Args.

Probe

/opt/script/my_script.sh 

Der Benutzer zabbix muss über die Berechtigung um das Skript zu ruinieren.

Zabbix docs

+0

Danke Vitorino, ich bin in der Lage, alles zu tun, aber ich habe Probleme mit der Erstellung der Aktion. In welchem ​​Teil der Aktion definiere ich das Skript? Bitte verweisen Sie mich nicht auf die Zabbix-Dokumentation, da diese im Aktionsbereich sehr fehlt. –

+0

Meine Antwort wurde geändert und es fehlt nicht an Informationen in der zabbix Dokumentation. –