Zabbix内で、Intelligent Platform Management Interface(IPMI)デバイスの稼働状況や可用性を監視できます。
IPMIチェックを実行するには、Zabbix サーバが最初からIPMIをサポートする設定になっていなければなりません。
IPMIは、リモートコンピュータシステムを「ライトアウト管理」または「アウトオブバンド管理」するために標準化されたインターフェースです。IPMIは、オペレーティングシステムやマシンの電源がすべて投入されているかどうかといったことから独立して、いわゆる 「アウトオブバンド管理」のカードから直接ハードウェアの状態を監視できます。
Zabbix の IPMI 監視は、IPMIがサポートされているデバイス(HP iLO、DELL DRAC、IBM RSA、Sun SSPなど)でのみ動作します。
ホストはIPMIチェックを処理するよう設定されていなければなりません。それぞれのIPアドレスとポート番号とともにIPMIインターフェースが追加され、IPMI認証パラメータが定義されていなければなりません。
詳細については、ホストの設定を参照してください。
デフォルトでは、Zabbix サーバは、いずれのIPMIポーラーも開始するように設定されていないので、追加されたIPMI アイテムは動作しません。これを変更するには、Zabbix サーバの設定ファイル (zabbix_server.conf) を root権限で開き、次の行を探します。:
コメントをはずし、ポーラーの数を例えば3に設定します。:
ファイルを保存後、zabbix_serverを再起動します。
ホストレベルでアイテムを設定する場合 :
ホスト上でセンサーを探すには、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センサーのタイプと状態をデコードするには、http://www.intel.com/content/www/us/en/servers/ipmi/ipmi-specifications.htmlでIPMI 2.0規格のコピーを取得します(最新ドキュメントを書いた時点では、http://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/second-gen-interface-spec-v2.pdf)。
開始する最初のパラメータは「reading_type」です。規格中の「Table 42-1, Event/Reading Type Code Ranges」をもとに、「reading_type」コードをデコードします。例では、ほとんどのセンサーが「reading_type:0x1」をとっており、これは「しきい値」センサーを意味します。「表42-3、センサータイプのコード」によれば、「type:0x1」は温度センサー、「type:0x2」-電圧センサー、「type:0x4」-ファンなどを意味します。しきい値センサーは、温度、圧力、1分当たりの回転数といった連続パラメータを測定することから、「アナログ」センサーと呼ばれることもあります。
別の例-「reading_type:0x3」をとるセンサー。「表42-1、イベント/読み取り値タイプのコードの範囲」によれば、読み取り値タイプのコード02h~0Chは「一般の離散値の」センサーを意味します。離散値のセンサーは最大15の状態(言い換えれば-最大15の有意ビット)をとることができます。例えば、「type:0x7」の「CATERR」センサーの場合、「表42-3、センサータイプのコード」によれば、このタイプは「プロセッサ」を意味し、個々のビットの意味は:00h (最下位ビット)- IERR、01h - サーマルトリップなどです。
例では、「reading_type:0x6f」のセンサーは稀です。「表42-1、イベント/読み取り値タイプのコードの範囲」によれば、このようなセンサーの場合は「表42-3、センサータイプのコード」を基にビットの意味をデコードすることを勧めています。例えば、「Power Unit Stat」センサーのタイプは「type:0x9」であり、これは「電源ユニット」を意味します。オフセット00hは「電源off/電源停止」を意味します。言い換えれば、最下位ビットが1であれば、サーバは電源をoffにします。このビットをテストするには、マスクが1をとる関数bandを使用します。サーバ電源offを警告するには、トリガー条件式を次のように表わすことができます。
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アイテムを設定する場合、IPMIエージェントアイテムの[IPMIセンサー]フィールド中で、「0」で終わるセンサー名を使用します。お使いのZabbixサーバを新しいLinuxディストリビューションへアップグレードし、これがOpenIPMI-2.0.19(またはそれ以降)を使用している場合、上記のIPMI個別センサーを含むアイテムは「取得不可」となります。[IPMIセンサー]名を変更し(終わりの「0」を削除し)、それらが再び「有効」になるまでしばらく待たなければなりません。
本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。