質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%

Q&A

解決済

2回答

13238閲覧

Zabbixで特定のフォルダ以下の変更を監視したい

akrn5

総合スコア10

0グッド

0クリップ

投稿2016/10/09 06:30

Zabbixでサービスを監視しています。
特定のフォルダ配下の変更を検知するトリガーを設定することは可能でしょうか?

具体的には、/etc/配下のフォルダに変更があった場合に、通知が来るように設定をしたいです。

デフォルトで/etc/passwdの変更を検知することはできるみたいなので、
これを利用すれば、特定のファイルについては監視ができそうですが、
何分ファイル数が多く、全てを監視するのが手間だと思い質問させていただきました。

vfs.file.cksum[/etc/passwd]

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matsu

2016/10/09 09:57

一応、Zabbixもバージョンによりできることが変わってくるのでバージョンも明記した方が良いです。
akrn5

2016/10/09 12:45

ご指摘、ありがとうございます。Zabbix 2.4.6を使用しています。
guest

回答2

0

ベストアンサー

Zabbix でディレクトリ以下のファイルを自動で監視するアイテムは用意されていないようです。

監視対象ファイルが決まっているのであれば、API や XMLインポートでアイテムを登録するなど、省力化できると思います。

監視対象が /etc/ 以下の全てのファイルであれば、custom Low-level discovery ルールを自作するとできるかもしれません。
find /etc/ -type f でファイル一覧を作成し、それぞれに vfs.file.cksum[] とトリガーを登録するような感じで。

(注意)
vfs.file.cksum[] は zabbix ユーザー権限(Zabbix Agent 実行ユーザー権限)でファイルを読みますので、root ユーザーしか読めないファイルは監視することができません。

Zabbix 以外で監視する方法(1)

tripwireaide など、ファイル改竄検知ソフトウェアが利用できると思います。
cron で 1日1回など定期的に実行し、結果をメールやファイルに出力します。

この出力はレポートのような形式だったと思うので、そのまま Zabbix と連携させるのは難しいですが、シェルスクリプトなどでレポートから文字列を抽出し、zabbix_sender で送るような方法が考えられます。

Zabbix 以外で監視する方法(2)

また、チェックサムでの判定にこだわらなければ、システムコールを検知する方法もあります。

(audit を使う例) # auditctl -w /etc/ -p wa /etc/ 以下のファイル、ディレクトリについて、w (write), a (attribute change)を検知し、 /var/log/audit/audit.log に出力する。
(inotify を使う例) # inotifywait -m -e create -e modify -e delete -e attrib -r /etc --format '%T %e %w%f' --timefmt '%F %T' -o <logfile> /etc/ 以下のファイル、ディレクトリについて、create, modity, delete, attrib イベントを検知し、 ログファイルに出力する。

これらのログファイルを Zabbix でログ監視すればいいと思います。
ただし、/etc/ 以下に作成される一時ファイル(ロックファイルなど)も監視対象となってしまいますし、特に audit は出力が複数行になるなど多いので、検知漏れがなく、かつ、不要なものは拾わないよう、正規表現などでフィルターした方がよさそうです。

投稿2016/10/09 15:31

編集2016/10/10 10:59
TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akrn5

2016/10/12 11:21

ありがとうございました!色々な方法があるんですね。 Zabbix以外で監視する方法も教えていただきありがとうございます!
guest

0

確認はできていませんが、ディレクトリで指定できる可能性があります。

また、2.2までしかサポートしていないようですが、
別のアイテムのvfs.file.timeではディレクトリの更新日時を監視することができます。
(こちらでファイル指定ですがディレクトリ指定が可能との情報がありました。そのためvfs.file.cksumでディレクトリ指定が可能ではないかということにつながっています。)

※すみません。cksumというコマンドはディレクトリには対応していませんでした。
ということでvfs.file.cksumではディレクトリの監視はできません。

投稿2016/10/09 13:39

編集2016/10/09 14:05
matsu

総合スコア702

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matsu

2016/10/09 14:08

2.4.6でもvfs.file.timeをサポートしているかもしれないので、確認してみてください。
akrn5

2016/10/12 11:22

ご回答、ありがとうございました。確かにディレクトリの更新日時は監視できるのですが、どのファイルか、まではおえないようなので、諦めてスクリプトでも書こうと思います…or2ご回答いただきありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問