3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Zabbix 2.0 でアイテムキーを作成する

Posted at

経緯

system.run のアイテムキーで find コマンド使ってファイル数等を集計して監視していたのですが、ファイル数が多いと find の結果が返ってくるまでのタイムラグで監視の遅延が発生していたので、アイテムキーを自作して監視方法を変更しました。

環境

  • CentOS 5.7 64bit
  • Zabbix Server 2.0
  • Zabbix Agent 2.0.8

監視要件

  • 監視対象ディレクトリに15分以上存在するファイルがあった際にアラートを上げる

監視方法

変更前

  • system.run のアイテムキーで find コマンド使ってファイル数等を集計

変更後

  • 監視対象サーバのスクリプトにて監視対象ディレクトリのファイル数をカウントし、その結果をZabbixで取得

手順

1. スクリプトの作成

1.1. ディレクトリのファイル数を取得してファイルに吐き出すスクリプトを作成

file_check.sh
# !/bin/sh

QUEUE="<監視対象ディレクトリ>"
WAIT_TIME="15"

rm -f /tmp/queue.wait

for QUEUE_WAIT_DIR in `echo ${QUEUE}`
do
        QUEUE_WAIT_NUM=`find ${QUEUE_WAIT_DIR} -type f -mmin +${WAIT_TIME} | wc -l`
        if [ -e ${QUEUE_WAIT_DIR} ] ; then
          echo "${QUEUE_WAIT_DIR} ${QUEUE_WAIT_NUM}" >> /tmp/queue.wait
        fi
done

1.2. cronに作成したスクリプトを登録

crontab
$ crontab -e
* * * * * <作成したスクリプト> > /dev/null 2>&1

2. zabbix-agentd.confへのパラメータ追加

2.1. 下記パラメータを最終行に追加

引数付きパラメータについてはこちらを参考にして下さい。
下記のqueue.sizequeue.waitがキーの名前となります。
監視対象ディレクトリ内のファイル数の数値だけを取得します。

zabbix_agentd.conf
# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=queue.wait[*],grep $1 /tmp/queue.wait | cut -f 2 -d " "

2.2. zabbix-agentプロセスの再起動

# service zabbix-agent restart

3. アイテムとトリガーの作成

3.1. ZabbixサーバのGUIからこんな感じでアイテムを作成する

WS000365.png

3.2. 続いてトリガーを作成する

WS000366.png

3.3. 条件式について

  • いつもトリガーの条件式の書き方忘れてしまうので書いておきます。
{テンプレート名:queue.wait[<監視対象ディレクトリ>].count(#2,0,gt)}>0

上記は、直近2回の計測で監視対象ディレクトリにファイルが1つでもある状態が1回でもあったらトリガーを発動させます。

書式
{テンプレート名:アイテム名.count(直近何回から取得するか, 値, "gtとかeqとか")}>回数

以上!

後記

Zabbix難しいです。
もっと色々できるのに全然活用できてないので精進します!
こんなまどろっこしいやり方やってる時点であれな感じですね!

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?