2016-05-05 6 views
0

1つの設定ファイルの変更を追跡したいと思います。その理由は、複数のユーザーがさまざまな問題を解決するために複数のユーザーにアクセスしていることですが、今のところ問題が解決しています。 Zabbixのdiff関数は、ファイルが変更されたことを示していますが、私はZabbixに変更されたものも記録させたいと思います。私にそれをさせるトリガーの組み合わせはありますか?どんな助けでも大歓迎です。Zabbix - トラック設定ファイル

答えて

1

ファイルのチェックサムまたは内容をアイテムに保存していますか?どのような場合でも、組み込みの方法はありませんが、スクリプトを使用して実装できます。

チェックサムの場合、以前のバージョン、新しいバージョンを保存してdiffコマンドを実行する方法が必要です。最も簡単なのは、ファイルの一時コピーと現在のコピーとの間でdiffを実行し、現在のファイルを一時コピーにコピーするユーザーパラメータです。この場合、diff結果を直接項目に格納し、トリガーは最後の値が空の文字列でないことをチェックします。ユーザーパラメータの詳細については、https://www.zabbix.com/documentation/3.0/manual/config/items/userparametersを参照してください。

すでにファイルの内容を保存している場合は、おそらく再利用したいと考えています。新しい値が到着するたびにスクリプトを開始しなければならないので、これはちょっと複雑になります。恐らく特殊なトリガーが最後の2つの値(APIを使用している可能性があります)を比較するアクションを開始し、もう1つのトリガーを持つ別のアイテムにこのようにする理由がない限り、私は最初のアプローチを選択します。

+0

リックル、お返事ありがとうございます! 「あなたは以前のバージョンを保存する方法が必要です」と言ったら、どうすればいいのですか? Store 2のファイルとdiffの実行は私の最初のアイデアでしたが、私はそうする方法を知らない。 –

+0

次の文は1つの方法を示唆しています:) – Richlv

0

file.txt.copyなどをコピーしてください。このファイルはzabbixだけが書き込み可能にします。

スクリプトを実行するようにZABBIXにアクションを作成

(差分またはチェックサムを使用して)ファイルが変更されたときに確認するZABBIXの項目とトリガーを作成することであろう

1 - file.txtを間差分file.txt.copyをコピーして、この電子メールをあなたの電子メールに送ってください。

2 - 次回のファイル変更時にdiffを実行できるように、file.txtをfile.txt.copyにコピーしてください。

スクリプトを使用してアクションをリベートする。 zabbixでアクションを作成します。 [操作]タブに移動します。オプションから「リモートコマンド」を選択します。 カスタムスクリプトを選択します。 パス全体と引数を含むスクリプトを入力します。

サンプル

/opt/script/my_script.sh 

ユーザーZABBIXはスクリプトを台無しにする権限を持っている必要があります。

Zabbix docs

+0

Vitorinoありがとう、私はすべてを行うことができますが、私はアクションを作成することに問題があります。アクションのどの部分でスクリプトを定義しますか? Zabbixのドキュメントには、アクションエリアには欠けているので、私に言及しないでください。 –

+0

私の答えが変更され、zabbixのドキュメントに情報が欠落していません。 –