カスタムのアイテム作成について

お世話になります。

zabbixにおいて、カスタムのアイテムを作成することは可能でしょうか?
(例えば、10分間でWebサーバにアクセスした回数を表示)

よろしくお願い致します。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

zabbixにおいて、カスタムのアイテムを作成することは可能でしょうか?
(例えば、10分間でWebサーバにアクセスした回数を表示)

Webサーバがアクセスされた回数であれば、スクリプトやプログラ
ムの実行などで値を取得できれば可能です。
具体的には、そのスクリプトやプログラムを利用して、

 ・UserParameterの機能
 ・外部チェックの機能
 ・SSHやTelnetチェックの機能

などのうちのいずれかを利用することになるでしょう。

以下の例は、UserParameterを利用した場合です。
例えば、WebサーバにApacheを利用されているのであれば、status
モジュールを有効にして、apachectlコマンドでApacheの状態を取
得できるようにします。

参考:
 最終回 Apacheパフォーマンス・チューニングの実践
 http://www.atmarkit.co.jp/flinux/rensai/apache16/apache16b.html

設定ができれば、
<code>
# apachectl status
</code>
でApacheの状態が表示されますので、表示された「Total accesses」
の値を取得すればよいはずです。

例えば、
<code>
# apachectl status | grep accesses | awk '{print $3;}'
</code>
と実行すれば数値のみ取得できると思います。
# Apacheのバージョンが違うと出力が違うかもしれませんのでご注
# 意下さい。

ここまでできれば、あとはZabbixエージェントのUserParameterと
して登録してZabbixサーバから取得できるようにします。
ここで、CentOSの標準のapachectlそのままでは、Zabbixエージェ
ントから呼び出せないので、apachectlのファイルをコピーして、
apachectl内の
<code>
LYNX="/usr/bin/links -dump"
</code>
を以下のように書き換えた別のファイルを作成しておきます。
<code>
LYNX="/usr/bin/links -dump -no-home"
</code>
ここでは、「/usr/sbin/apachectl2」という名前で作成したと仮定
します。

UserParameterの設定は、ZABBIX-JPのRPMを利用されている場合は、

 ・/etc/zabbix/zabbix_agentd.conf に直接記述する
 ・/etc/zabbix/zabbix_agentd.d/ ディレクトリ以下にファイル
  を作成してその中に記述する

のどちらでも構いません。
記述する内容は以下の通りです。
<code>
UserParameter=apache.accesses,/usr/sbin/apachectl2 status|grep accesses |awk '{print $3;}'
</code>
記述を追加・変更した後は、Zabbixエージェントを再起動してくだ
さい。

そして、この作成した設定を利用して以下のようなアイテムを作成
します。

 タイプ : Zabbixエージェント
 キー  : apache.accesses
 データ型: 数値(整数)
 データの形式: 10進数
 更新間隔(秒): 600
 保存時の計算: 差分

これで、10分ごとにデータの収集が行われ、前回との差分を取りま
すので、10分間にアクセスされた回数が取得できることとなります。

ファイルのパスやファイル名は、適宜、ご自身の環境に合わせて変
更して下さい。