*目次 [#rbc94a8d]
#Contents
*アイテム/トリガー設定 [#l0792540]
**ping監視 [#kf47a202]
***fping設定 [#nddb3344]
ZABBIXのping監視はfpingを使用する。~
RPMパッケージでfpingを導入後、root以外のユーザからfpingを実行できるようにパーミッションを変更する。
chmod 755 /usr/sbin/fping
***ping監視の実行間隔 [#tc6c1205]
WebUIからの実行間隔設定は無視されるため、ZABBIXサーバの設定ファイル(/etc/zabbix/zabbix_server.conf)の以下の設定で実行秒数を指定する。
PingerFrequency = 60
***ping監視用トリガー設定 [#s83b0830]
-5分で応答がない場合にアラートを上げる。(300秒間の返値の平均が0の場合)
|書式|{%HOST%:icmpping.avg(300)}=0|
**ポート監視 [#g1cad7b6]
***アイテム設定 [#v1af44f2]
アイテム設定にて以下の要領で設定を行う。
-ポート監視
|タイプ|ZABBIXエージェント|
|キー|net.tcp.service[<Protocol>,<IP Address>,<Port>]|
|データ型|数値(整数)|
キーの必須項目は<Protocol>のみで、他は必要に応じて設定を行う。
-例(NTP)~
net.tcp.service[udp,,123]
-例(SWAT)~
net.tcp.service[tcp,,901]
-例(VMware-MUI)
net.tcp.service[tcp,,8333]
**Windowsサービス監視 [#f6b5264e]
***サービス登録済みプログラム (アイテム設定)[#rab2c3e3]
サービスとして登録されているプログラムの死活監視は以下の項にて設定ができる。
-サービス監視
|タイプ|ZABBIXエージェント|
|キー|service_state[<SERVICE_NAME>]|
|データ型|数値(浮動少数)|
-例(DHCP Client)
service_state[Dhcp]
-例(EventLog)
service_state[Eventlog]
-SERVICE_NAMEの参照箇所
&ref(service_name.png);
***サービス登録済みプログラム (トリガー設定) [#d433eb95]
実行中以外にアラートを上げるトリガー設定は以下となる。
-戻り値が0以外の場合アラート
{{HOSTNAME}:service_state[SERVICE_NAME].last(0)}#0
アイテムにより取得される値は以下となる。
-service_state戻り値
|0|実行中|
|1|一時停止中|
|2|開始待ち|
|3|一時停止待ち|
|4|続行待ち|
|5|停止待ち|
|6|停止|
|7|不明|
|255|該当サービスなし|
***サービス登録できないプログラム (アイテム設定)[#r149c556]
サービス登録できないプログラムの死活監視はEXEファイルの起動数をカウントする方式で行う。
-プロセス数監視
|タイプ|ZABBIXエージェント|
|キー|proc.num[<ProcessName>]|
|データ型|数値(浮動少数)|
-例(Explorer)
proc.num[explorer.exe]
***サービス登録できないプログラム (トリガー設定) [#w7ba4d44]
起動しているプロセスが無い場合にアラートを上げるトリガー設定は以下となる。
-戻り値が0以外の場合アラート
{{HOSTNAME}:proc.num[<ProcessName>].last(0)}=0
**Windowsのイベントログ監視 [#p7bf693f]
イベントログはエージェントのアクティブチェック機能を使用する。~
日本語対応はいまいちな模様(1.4系)~
***アイテム設定 [#dcc0971b]
-システム~
|タイプ|ZABBIXエージェント(アクティブ)|
|キー|eventlog[system]|
|データ型|ログ|
-アプリケーション~
|タイプ|ZABBIXエージェント(アクティブ)|
|キー|eventlog[application]|
|データ型|ログ|
-セキュリティ~
|タイプ|ZABBIXエージェント(アクティブ)|
|キー|eventlog[security]|
|データ型|ログ|
***トリガー設定 [#j02b3891]
トリガーには以下の項目が設定可能
-ログの出力元アプリケーションを指定~
|書式|{%HOST%:eventlog[system].logsource(文字列)}=判定|
|判定|1=文字列にマッチする|
|~|0=文字列にマッチしない|
-ログ内の文字列を指定~
|書式|{%HOST%:eventlog[system].iregexp(文字列)}=判定|
|判定|1=文字列にマッチする|
|~|0=文字列にマッチしない|
-ログ内の深刻度(重要度)を指定~
|書式|{%HOST%:eventlog[system].logseverity()}=判定|
|判定|1=情報|
|~|2=警告|
|~|3=|
|~|4=エラー|
***参考 [#o11d2957]
http://www.zabbix.com/wiki/doku.php?id=howto:monitoringwindows
**Windowsのパフォーマンスカウンタを使用した監視 [#ad271862]
ZABBIXエージェントではサポートしていない数値(ネットワークトラフィックなど)を取得する際にはパフォーマンスカウンタを使用する方法がある。~
~
これは、[コントロールパネル]→[管理ツール]→[パフォーマンス]にて閲覧できる値を取得できる機能で、OSが表示している各種パフォーマンス情報のデータとなる。~
~
-パフォーマンスモニタ
&ref(pref_1.png);
~
~
[Network Interface]、[Processor]などのオブジェクトの中に値を意味するカウンタ([Bytes Total/sec]など)が格納されている。~
また、複数のNICが存在する場合などにはインスタンスにて取得するデバイスを指定する。~
-カウンタの表示画面
&ref(pref_2.png);
~
***アイテム設定 [#g2b20812]
アイテムは以下の要領にて設定を行う。
|タイプ|ZABBIXエージェント|
|キー|perf_counter[<オブジェクト>(<インスタンス>)\<カウンタ>]|
|データ型|数値(浮動少数)|
-例(ネットワーク負荷(送信のみ) / NIC1(VMwaer NIC))
perf_counter[\Network Interface(VMware Accelerated AMD PCNet Adapter)\Bytes Sent/sec]
***トリガー設定 [#y160fb9c]
トリガー設定は他の監視と同等
**Linuxログ監視 [#s222d10f]
Linuxで生成されるログの監視設定。
***読み取り権限の付与 [#l82173f5]
syslog系はroot権限のみ読み取りが可能であるため、そのままではZABBIXで監視を行なうことができない。~
このため、zabbixユーザに読み取り権限を付与する。
-zabbixユーザをrootグループに含める
usermod -g zabbix -G root zabbix
-logrotateにパーミッション変更の処理を追記~
/etc/logrotate.d/syslogに以下の変更を加える。
postrotate
/bin/chmod 640 /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron
-既存ログのパーミッションを変更
cd /var/log
/bin/chmod 640 /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron
**リソース監視 [#je69f8e6]
***CPU負荷の監視 [#wf67669e]
CPU負荷監視はOSにより設定と取得可能項目が異なる。~
-Windows~
コア単位でのCPU負荷を取得(初期状態では最大8コアまで監視可能)~
CPU(コア)の番号は0〜nとなる。
|タイプ|ZABBIXエージェント|
|キー|system.cpu.util[<cpu(core No.)>,,<mode>]|
|データ|数値(浮動少数)|
-CPU1(コア1)の負荷を取得する場合の設定
system.cpu.util[0,,]
-Solaris~
システム全体のidle率を取得(コア単位の値取得は不可)
|タイプ|ZABBIXエージェント|
|キー|system.cpu.util[,idle,<mode>]|
|データ|数値(浮動少数)|
-5分平均のidle率を取得する場合設定
system.cpu.util[idle,avg5]
-Linux~
システム全体のidle率を取得(コア単位の値取得は不可)
|タイプ|ZABBIXエージェント|
|キー|system.cpu.util[,idle,<mode>]|
|データ|数値(浮動少数)|
-1分平均のidle率を取得する場合設定
system.cpu.util[,idle,avg1]
**ネットワーク機器の監視 [#sf460e51]
通常はSNMPv1もしくはSNMPv2のテンプレートを使用する。~
テンプレートには50ポート分の設定があらかじめ組み込まれているため、通常はこれで間に合うと思われる。~
テンプレートを使用する場合の注意点は以下。~
***トラフィックの監視 [#h12d9677]
なぜか初期設定ではトラフィックの実数を取得する設定となっている。~
bps単位での取得が必要となるため、以下の設定を行う。~
(一項目ずつ変更するのはしんどいため、「一括更新(mass update)」を使用すると良い)~
|項目名(英)|項目名(日)|値(英)|値(日)|
|Type of information|データ型|Numeric(float)|数値(浮動少数)|
|Units|単位|bps|bps|
|Use multiplier|乗数を使用|Custom multiplier|乗数|
|Custom multiplier|乗数|8|8|
|Store value|保存時の計算|Delta(speed per second)|差分/時間|
*アクション [#xbfa404f]
**リモートコマンド設定 [#l44f5b34]
障害発生時に自動実行させるコマンドの設定。~
設定はzabbix-agend、sudo、zabbixサーバの三箇所に行う。~
***Agent側の設定 [#q9f7a8a4]
-リモートコマンドの有効化~
初期設定状態ではリモートコマンド機能は無効に設定されている。~
/etc/zabbix/zabbix-agent.confの下記行のコメントアウトを外すことで、リモートコマンドを有効化できる。
EnableRemoteCommands=1
設定を反映させるため、zabbix-agentdを再起動する。
/etc/init.d/zabbix-agentd restart
-sudoの設定~
zabbix-agentdの実行ユーザにてコマンドを実行できるようにsudoの設定を行う。~
# visudo
実行するコマンドに合わせて以下の設定を行う。
zabbix localhost=(root) NOPASSWD:/etc/init.d/sshd # sshの起動・停止を行う場合
zabbix localhost=(root) NOPASSWD:/etc/init.d/vsftpd # vsftpの起動・停止を行う場合
zabbix localhost=(root) NOPASSWD:/etc/init.d/apachectl # apacheの起動・停止を行う場合
***ZABBIXサーバ側の設定 [#c262851f]
ZABBIXサーバのWebインターフェイスから以下の設定を行う。~
管理アカウントにてログイン後、[設定]→[アクション]を開き、[アクションの作成]を押す。~
[名前]:任意の名称を設定
[イベントソース]:トリガーを設定
[計算タイプ]:コンディションの演算子指定(and/or、or、and)
[コンディション]:動作条件の設定(*後述)
[オペレーション]:動作内容の設定(*後述)
[ステータス]:アクションの有効/無効
-コンディション設定
サービスの再起動を行う場合は以下のコンディションを設定する。(sshd停止時に再起動する場合)
トリガー = "Sshd is not running on Host"
トリガーの深刻度 = "軽度の障害"
-オペレーション設定
サービス起動コマンドの指定は以下の書式にて行う。~
[HOST]:sudo /etc/init.d/sshd start
ZABBIX 1.4では空白を含むホスト名を指定するとエラーとなる。(2008.11.05)
*全般 [#ib86883d]
**監視データの保存期間 [#kd271521]
監視データはヒストリとトレンドの2種類が保管される。~
各データの保存期間は初期設定では以下となっている。
ヒストリ(生データ):7日
トレンド(統計データ):365日