ZABICOMの設定方法 - サーバー監視編

2010年12月21日(火)
伊藤 覚宏

第1回ではZABICOMの概念を、第2回ではネットワーク機器の監視方法を解説しました。今回は、ZABICOMのエージェントを用いたサーバー監視方法を解説します。

ZABICOM / Zabbixでのサーバー監視

ネットワーク機器と同様、監視対象となるサーバー機器を登録します。ネットワーク機器監視の場合、ホスト名は(ZABICOMシステム内で一意であれば)機器名と一致させる必要はありませんでしたが、サーバー監視の場合は、監視対象サーバーにインストールしたエージェントの設定ファイルであるzabbix_agentd.confに書かれたHostnameの値と一致させる必要があります。

図1: zabbix_agent.confファイル

図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アイドル率を取得する設定画面

図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: パフォーマンス・モニターのプロパティ

図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
保存時の計算 無し
NTTコムテクノロジー株式会社 サービス企画本部NMSイノベーションシステム室 Zabbix認定トレーナー

社内でのvSphereによる仮想環境の構築、運用を担当、Zabbix公式研修の講師を務める他、ZABICOMオリジナルテンプレートの設計、ZABICOMによる運用効率化手法の検討などZABICOMのポテンシャルを引き出すことに注力。現在はZABICOMのプリセールス、ユーザーサポートを担当。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています