You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

4 IPMIチェック

概要

Zabbixでは、Intelligent Platform Management Interface(IPMI)デバイスのヘルスと可用性を監視できます。IPMIチェックを実行するには、Zabbixサーバーが最初にIPMIサポート付きで構成されている必要があります。

IPMIは、コンピュータシステムのリモート「ライトアウト」または「アウトオブバンド」管理のための標準化されたインターフェースです。これにより、オペレーティングシステムやマシンの電源が入っているかどうかに関係なく、いわゆる「アウトオブバンド」管理カードからハードウェアの状態を直接監視できます。

ZabbixのIPMI監視は、IPMIサポートを持つデバイス(HP iLO、DELL DRAC、IBM RSA、Sun SSPなど)でのみ動作します。

IPMIマネージャープロセスは、IPMIポーラーによってIPMIチェックをスケジューリングします。 ホストは常に1つのIPMIポーラーによってのみポーリングされるため、BMCコントローラーへのオープン接続数が削減されます。そのため、BMCコントローラーの過負荷を心配することなく、IPMIポーラーの数を増やすことができます。IPMIマネージャープロセスは、少なくとも1つのIPMIポーラーが開始されると自動的に開始されます。

IPMIチェックの既知の問題も参照してください。

設定

ホストの設定

IPMI チェックを処理するために、ホストを設定する必要があります。
IPMI インターフェイスをを追加し、それぞれの IPアドレス およびポート番号を指定し、IPMI 認証パラメーターを定義する必要があります。

詳細は、configuration of hosts を参照してください。

Server の設定

デフォルトでは、ZabbixサーバはIPMIポーラーを起動するように設定されていないため、IPMIアイテムを追加しても動作しません。
これを変更するには、Zabbixサーバ設定ファイル(zabbix_server.conf) を root ユーザで開き、
次の行を探します。

# StartIPMIPollers=0

この行をアンコメントし、ポーラー数を 3 に設定すると、次のようになります。

StartIPMIPollers=3

ファイルを保存し、その後 zabbix_server を再起動します。

item の設定

ホストレベルでconfiguring an itemを行う場合:

  • Typeとして 'IPMIエージェント' を選択します。
  • ホスト内で一意である item key (例えば、ipmi.fan.rpm)を入力します。
  • Host interface には、関連するIPMIインターフェース(IPアドレスおよびポート番号)を選択します。 IPMIインターフェースはホスト上に存在する必要があることに注意してください。
  • IPMI センサー* (Dell Poweredge の 'FAN MOD 1A RPM' など) からメトリックを取得するように指定します。 デフォルトでは、センサー IDを指定する必要があります。接頭辞を使用することも可能です。
    • id: - センサーの ID を指定します。
    • name: - センサーのフルネームを指定します。 これは、フルネームを指定することによってのみセンサを区別できる場合に役立ちます。
  • それぞれの情報の種類を選択します(この場合は、'Numeric (float)' ディスクリートセンサーの場合は'Numeric (unsigned)')、単位(多くの場合'rpm')、およびその他の必要な項目属性を選択します。
サポートされているチェック

IPMIエージェントは、IPMIセンサー関連の情報を返す組み込みアイテム ipmi.get をサポートしており、IPMIセンサーのディスカバリに使用できます。
戻り値:JSONオブジェクト

タイムアウトとセッションの終了

IPMIメッセージのタイムアウトとリトライ回数は、OpenIPMIライブラリで定義されています。 OpenIPMIの現在の設計上、これらの値をZabbixで設定可能にすることはできません。インターフェースレベルでもアイテムレベルでも同様です。

LAN用のIPMIセッション非アクティブタイムアウトは60±3秒です。現在のところ、OpenIPMIでActivate Sessionコマンドの定期的な送信を実装することはできません。Zabbixから特定のBMCへのIPMIアイテムチェックが、BMCで設定されたセッションタイムアウトよりも長い間行われない場合、タイムアウト後の次のIPMIチェックは、個々のメッセージタイムアウト、リトライ、または受信エラーによりタイムアウトします。その後、新しいセッションが開かれ、BMCのフルリスキャンが開始されます。新しいセッションを管理するために新しいUDPポートが開かれる場合があります。非アクティブとは、送信リクエストと受信レスポンスの両方がない状態を指します。不要なBMCのリスキャンを避けたい場合は、BMCで設定されたIPMIセッション非アクティブタイムアウトよりも短いIPMIアイテムのポーリング間隔を設定することを推奨します。

IPMI離散センサーに関する注意事項

ホスト上のセンサーを見つけるには、DebugLevel=4を有効にしてZabbixサーバーを起動します。数分待って、Zabbixサーバーログファイルでセンサー検出の記録を探します:

$ grep 'Added sensor' zabbix_server.log
       8358:20130318:111122.170 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:7 id:'CATERR' reading_type:0x3 ('discrete_state') type:0x7 ('processor') full_name:'(r0.32.3.0).CATERR'
       8358:20130318:111122.170 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:15 id:'CPU Therm Trip' reading_type:0x3 ('discrete_state') type:0x1 ('temperature') full_name:'(7.1).CPU Therm Trip'
       8358:20130318:111122.171 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:17 id:'System Event Log' reading_type:0x6f ('sensor specific') type:0x10 ('event_logging_disabled') full_name:'(7.1).System Event Log'
       8358:20130318:111122.171 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:17 id:'PhysicalSecurity' reading_type:0x6f ('sensor specific') type:0x5 ('physical_security') full_name:'(23.1).PhysicalSecurity'
       8358:20130318:111122.171 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:14 id:'IPMI Watchdog' reading_type:0x6f ('sensor specific') type:0x23 ('watchdog_2') full_name:'(7.7).IPMI Watchdog'
       8358:20130318:111122.171 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:16 id:'Power Unit Stat' reading_type:0x6f ('sensor specific') type:0x9 ('power_unit') full_name:'(21.1).Power Unit Stat'
       8358:20130318:111122.171 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:16 id:'P1 Therm Ctrl %' reading_type:0x1 ('threshold') type:0x1 ('temperature') full_name:'(3.1).P1 Therm Ctrl %'
       8358:20130318:111122.172 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:16 id:'P1 Therm Margin' reading_type:0x1 ('threshold') type:0x1 ('temperature') full_name:'(3.2).P1 Therm Margin'
       8358:20130318:111122.172 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:13 id:'System Fan 2' reading_type:0x1 ('threshold') type:0x4 ('fan') full_name:'(29.1).System Fan 2'
       8358:20130318:111122.172 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:13 id:'System Fan 3' reading_type:0x1 ('threshold') type:0x4 ('fan') full_name:'(29.1).System Fan 3'
       8358:20130318:111122.172 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:14 id:'P1 Mem Margin' reading_type:0x1 ('threshold') type:0x1 ('temperature') full_name:'(7.6).P1 Mem Margin'
       8358:20130318:111122.172 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:17 id:'Front Panel Temp' reading_type:0x1 ('threshold') type:0x1 ('temperature') full_name:'(7.6).Front Panel Temp'
       8358:20130318:111122.173 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:15 id:'Baseboard Temp' reading_type:0x1 ('threshold') type:0x1 ('temperature') full_name:'(7.6).Baseboard Temp'
       8358:20130318:111122.173 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:9 id:'BB +5.0V' reading_type:0x1 ('threshold') type:0x2 ('voltage') full_name:'(7.1).BB +5.0V'
       8358:20130318:111122.173 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:14 id:'BB +3.3V STBY' reading_type:0x1 ('threshold') type:0x2 ('voltage') full_name:'(7.1).BB +3.3V STBY'
       8358:20130318:111122.173 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:9 id:'BB +3.3V' reading_type:0x1 ('threshold') type:0x2 ('voltage') full_name:'(7.1).BB +3.3V'
       8358:20130318:111122.173 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:17 id:'BB +1.5V P1 DDR3' reading_type:0x1 ('threshold') type:0x2 ('voltage') full_name:'(7.1).BB +1.5V P1 DDR3'
       8358:20130318:111122.173 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:17 id:'BB +1.1V P1 Vccp' reading_type:0x1 ('threshold') type:0x2 ('voltage') full_name:'(7.1).BB +1.1V P1 Vccp'
       8358:20130318:111122.174 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:14 id:'BB +1.05V PCH' reading_type:0x1 ('threshold') type:0x2 ('voltage') full_name:'(7.1).BB +1.05V PCH'

IPMIセンサーのタイプや状態をデコードするために、IPMI 2.0仕様書のコピーが利用可能です(IPMI仕様書の今後の更新は予定されていませんのでご注意ください)。

最初に確認するパラメータは「reading_type」です。仕様書の「Table 42-1, Event/Reading Type Code Ranges」を使用して「reading_type」コードをデコードします。例のほとんどのセンサーは「reading_type:0x1」で、これは「threshold」センサーを意味します。「Table 42-3, Sensor Type Codes」によると、「type:0x1」は温度センサー、「type:0x2」は電圧センサー、「type:0x4」はファンなどを意味します。しきい値センサーは、温度、電圧、回転数などの連続パラメータを測定するため、時々「アナログ」センサーと呼ばれます。

別の例として、「reading_type:0x3」のセンサーがあります。「Table 42-1, Event/Reading Type Code Ranges」によると、reading typeコード02h-0Chは「Generic Discrete」センサーを意味します。離散センサーは最大15の状態(言い換えれば最大15の意味のあるビット)を持つことができます。例えば、「type:0x7」の「CATERR」センサーの場合、「Table 42-3, Sensor Type Codes」によると、このタイプは「Processor」を意味し、個々のビットの意味は次の通りです: 00h(最下位ビット)- IERR、01h - Thermal Tripなど。

例には「reading_type:0x6f」のセンサーもいくつかあります。これらのセンサーについては、「Table 42-1, Event/Reading Type Code Ranges」により、「Table 42-3, Sensor Type Codes」を使用してビットの意味をデコードすることが推奨されています。例えば、「Power Unit Stat」センサーは「type:0x9」で、これは「Power Unit」を意味します。オフセット00hは「PowerOff/Power Down」を意味します。つまり、最下位ビットが1の場合、サーバーの電源がオフになっています。このビットをテストするには、マスク「1」を使ってbitand関数を使用できます。トリガー式は次のようになります。

bitand(last(/www.example.com/Power Unit Stat,#1),1)=1

これにより、サーバーの電源オフを警告できます。

OpenIPMI-2.0.16, 2.0.17, 2.0.18, 2.0.19 のディスクリートセンサーの名前に関する注意事項

OpenIPMI-2.0.16, 2.0.17, 2.0.18 のディスクリートセンサーの名前には"0" (または他の数字や文字) を
末尾に付加していることがよくあります。
例えば、ipmitool と OpenIPMI-2.0.19 では、センサーの名前は "PhysicalSecurity" や "CATERR" のように表示されます。
OpenIPMI-2.0.16, 2.0.17, 2.0.18 では "PhysicalSecurity0" または "CATERR0" と表示されます。

OpenIPMI-2.0.16、2.0.17、2.0.18を使用してZabbixサーバでIPMI item を設定する場合、
IPMIエージェントアイテムのIPMI sensorフィールドにこれらの名前を0として使用してください。
ZabbixサーバをOpenIPMI-2.0.19(またはそれ以降)を使用する新しいLinuxディストリビューションにアップグレードした場合、
これらのIPMIセンサーのアイテムは「NOT SUPPORTED」になります。そのため
IPMIセンサー名を変更し(末尾の'0'を削除)、再び "Enabled "になる前に、しばらく待つ必要があります。

しきい値センサーと離散センサーの同時利用に関する注意事項

一部のIPMIエージェントは、同じ名前でしきい値センサーと離散センサーの両方を提供します。常にしきい値センサーが優先されます。

接続終了時の注意事項

IPMIチェックが行われなかった場合(何らかの理由: ホストのIPMI項目が全て無効/サポートされていない、
ホストが無効/削除された、ホストがメンテナンス中であるなど)
Zabbix server / proxy を起動した時間に応じて3~4時間後にZabbix server / proxy からIPMI接続が切断されます。