ZABICOMの設定方法 - サーバー監視編
第1回ではZABICOMの概念を、第2回ではネットワーク機器の監視方法を解説しました。今回は、ZABICOMのエージェントを用いたサーバー監視方法を解説します。
ZABICOM / Zabbixでのサーバー監視
ネットワーク機器と同様、監視対象となるサーバー機器を登録します。ネットワーク機器監視の場合、ホスト名は(ZABICOMシステム内で一意であれば)機器名と一致させる必要はありませんでしたが、サーバー監視の場合は、監視対象サーバーにインストールしたエージェントの設定ファイルであるzabbix_agentd.confに書かれたHostnameの値と一致させる必要があります。
図1: zabbix_agent.confファイル(クリックで拡大) |
この値が異なっていた場合、ログ監視などに必要となる「アイテム・タイプ: Zabbixエージェント(アクティブ)」のアイテムが収集できません。
ZABICOMエージェントが使う通信用のポート番号は、通常10050を使います。別のポートを使いたい場合は、zabbix_agentd.confのListenPortと[Zabbixエージェントのポート]の値を変更します。ZABICOMエージェントを配置した監視対象サーバー上の設定ファイルを編集する必要があるので注意してください。
ホスト登録 | |
---|---|
名前 | zabbix_agentd.confのHostnameの値と同一にします。 |
Zabbixエージェントのポート | 10050 |
ZABICOMエージェントによるCPU使用率監視
サーバー運用においては、CPU使用率やロード・アベレージなどのリソース負荷を監視・分析することによって、性能のチューニングや将来のキャパシティ・プランニングに役立てることができます。以下では、Zabbixエージェントのアイテム設定の例として、LinuxサーバーでCPUアイドル(idle)率を収集する方法を解説します。
図2: CPU idle率を取得する設定画面(クリックで拡大) |
CPU idle率 | |
---|---|
タイプ | Zabbixエージェント |
キー | system.cpu.util[,idle,avg1] |
データ型 | 数値(浮動小数) |
単位 | % |
上記の例では、サーバー全体における1分平均のCPU idle率を取得しています。
OSが複数のCPUコアを認識しているサーバーでは、アイテム・キーの第1引数に対してCPUコアを識別する番号を入力することで、コアごとの値を取得できます。また、CPU使用率はavg1(1分平均)、avg5(5分平均)、avg15(15分平均)を指定して取得できます。
なお、ZABICOMでは、CPUのトータル使用率というアイテム・キーは存在しません。CPUのトータル使用率を監視したい場合は、system使用率とuser使用率を合計するか、あるいは100%からidle率を引いたものをCPUのトータル使用率と見なして監視します。
最新版のZABICOM1.8では、アイテム・タイプ[計算]が実装されました。これにより、CPUのトータル使用率などのような、ほかのアイテムを元にした計算結果をアイテムとして登録できるようになりました。
Windowsサーバーの場合、system.cpu.utilでは、system使用率しか取得できません。Windowsサーバーに対して細かなCPU使用率監視を行いたい場合は、パフォーマンス・カウンターの値を取得し、監視を行います。
CPU使用率(Windows) | |
---|---|
タイプ | Zabbixエージェント |
キー | perf_counter[\Processor(_Total)\%Processor Time] |
データ型 | 数値(浮動小数) |
単位 | % |
パフォーマンス・カウンターの値を取得する場合、引数にはパフォーマンス・カウンターのカウンター名を指定する必要があります。
図3: パフォーマンス・モニターのプロパティ(クリックで拡大) |
パフォーマンス・カウンターのカウンター名は「パフォーマンス・モニターのプロパティ」から確認することができます。
ZABICOMエージェントによるトラフィック監視
続いて、サーバーのネットワーク・トラフィックを監視するための設定方法を解説します。
受信トラフィック(Linux) | |
---|---|
タイプ | Zabbixエージェント |
キー | net.if.in[eth0,bytes] |
データ型 | 数値(浮動小数) |
単位 | bps(ビット/秒) |
乗数 | 8 |
保存時の計算 | 差分/時間 |
第2回で説明したネットワーク機器のトラフィック監視のように、bytesをbitsに変換するため乗数に8を設定しています。この例ではeth0のインタフェースを指定していますが、loやeth1などほかのインタフェースを監視する場合は、アイテム・キーの第1引数の値を変更します。
ZABICOMエージェントによるネットワーク監視では、バイト数だけでなくパケット数やエラー・パケット数も監視できます。目的に合わせてアイテム・キーとその引数を選択することで、多彩な監視が可能です。
送信トラフィックを測定する場合は、アイテム・キーnet.if.outを使います。
送信トラフィック(Linux) | |
---|---|
タイプ | Zabbixエージェント |
キー | net.if.out[eth0,bytes] |
データ型 | 数値(浮動小数) |
単位 | bps(ビット/秒) |
乗数 | 8 |
保存時の計算 | 差分/時間 |
Windowsサーバーのネットワーク・トラフィックを監視する場合、やはりパフォーマンス・カウンターの値を取得しますが、パフォーマンス・カウンターのカウンター名はハードウエアによって変化するため、注意が必要です。
受信トラフィック(Windows) | |
---|---|
タイプ | Zabbixエージェント |
キー | perf_counter[\Network Interface(Realtek RTL8168C[P]_8111C[P] Family PCI-E Gigabit Ethernet NIC [NDIS 6.0])\Bytes Received/sec] |
データ型 | 数値(浮動小数) |
単位 | bps(ビット/秒) |
乗数 | 8 |
保存時の計算 | 無し |
Windowsの場合、Linuxのeth0のような共通のインタフェース名は使えません。上記の例で『Realtek RTL8168C[P]_8111C[P] Family PCI-E Gigabit Ethernet NIC [NDIS 6.0]』と表示されている部分は、サーバーに搭載されているNICの名称によって変化します。Windowsサーバーでトラフィック監視を行う場合は、監視対象のサーバーが搭載しているNICの名称を確認してください。
送信トラフィック(Windows) | |
---|---|
タイプ | Zabbixエージェント |
キー | perf_counter[\Network Interface(Realtek RTL8168C[P]_8111C[P] Family PCI-E Gigabit Ethernet NIC [NDIS 6.0])\Bytes Sent/sec] |
データ型 | 数値(浮動小数) |
単位 | bps(ビット/秒) |
乗数 | 8 |
保存時の計算 | 無し |