「未分類」カテゴリーアーカイブ

Zabbixを使ってIPMI監視

RX200/300 S6を計4台ゲットしたので、IPMIによるセンサー監視をしてみよう!
と割と雑な感じで開始しました。

まぁ設定方法は、テンプレートは検索すれば出てくるのでそれでさくっとインポートしてしまい、
認証アルゴリズムを「RMCP+」
特権レベルを「ユーザ」に設定しました。
そのままユーザー名、パスワードを入力してしまいます。

あとは、IPMIインターフェースにIPMIのIPを設定して・・・
・・・・・取りこぼしが多すぎて監視になりません。。。。。。

多分ですがセッション数が多すぎて繋がらなくなるようで・・・。
Zabbixサーバー側で色々設定変えてみたりしましたがまるで効果無し・・・。

IPMIだとハード側への負荷で問題になることがあるようです。3.4では接続をキャッシュしたりしてハード側への負荷軽減となるよう改善を行っているみたいです。

との事らしいです。
Zabbix側既存の問題らしい。
というわけで雑なShellScriptで対応してしまいましょう。

使いたい方居ればどうぞお使い下さい。
hostname=ZabbixServer側で登録しているホスト名
server_ip=ZabbixServerのIPアドレス
ipmi_ip=監視したいIPMI IP
account=IPMIアカウント(別途専用で作るよろし)
password=IPMIアカウントパスワード(別途専用で作るよろし)

[sourcecode language=”shell”]#!/bin/sh
#
#Fujitsu RX200 S6 iRMC用テンプレ
hostname=
server_ip=
ipmi_ip=
account=
password=

if ping -c 1 $ipmi
then
FAN1_SYS=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "FAN1 SYS" | grep "Sensor Reading" | awk ‘{print $4}’`
FAN2_SYS=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "FAN2 SYS" | grep "Sensor Reading" | awk ‘{print $4}’`
FAN3_SYS=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "FAN3 SYS" | grep "Sensor Reading" | awk ‘{print $4}’`
FAN4_SYS=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "FAN4 SYS" | grep "Sensor Reading" | awk ‘{print $4}’`
FAN5_SYS=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "FAN5 SYS" | grep "Sensor Reading" | awk ‘{print $4}’`
FAN6_SYS=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "FAN6 SYS" | grep "Sensor Reading" | awk ‘{print $4}’`
FAN7_SYS=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "FAN7 SYS" | grep "Sensor Reading" | awk ‘{print $4}’`
FAN8_SYS=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "FAN8 SYS" | grep "Sensor Reading" | awk ‘{print $4}’`
FAN9_SYS=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "FAN9 SYS" | grep "Sensor Reading" | awk ‘{print $4}’`
FAN10_SYS=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "FAN10 SYS" | grep "Sensor Reading" | awk ‘{print $4}’`
FAN11_SYS=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "FAN11 SYS" | grep "Sensor Reading" | awk ‘{print $4}’`
FAN12_SYS=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "FAN12 SYS" | grep "Sensor Reading" | awk ‘{print $4}’`
PSU1_Power=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "PSU1 Power" | grep "Sensor Reading" | awk ‘{print $4}’`
PSU2_Power=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "PSU2 Power" | grep "Sensor Reading" | awk ‘{print $4}’`
Total_Power=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "Total Power" | grep "Sensor Reading" | awk ‘{print $4}’`
Total_Power_Out=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "Total Power Out" | grep "Sensor Reading" | awk ‘{print $4}’`

Ambient=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "Ambient" | grep "Sensor Reading" | awk ‘{print $4}’`
Systemboard=`ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "Systemboard" | grep "Sensor Reading" | awk ‘{print $4}’`

#ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "CPU1" | grep "Sensor Reading" | awk ‘{print $4}’`
#ipmitool -I lanplus -H "$ipmi_ip" -U $account -P $password sdr get "CPU2" | grep "Sensor Reading" | awk ‘{print $4}’`

zabbix_sender -z "$server_ip" -s "$hostname" -k FAN1_SYS -o "$FAN1_SYS"
zabbix_sender -z "$server_ip" -s "$hostname" -k FAN2_SYS -o "$FAN2_SYS"
zabbix_sender -z "$server_ip" -s "$hostname" -k FAN3_SYS -o "$FAN3_SYS"
zabbix_sender -z "$server_ip" -s "$hostname" -k FAN4_SYS -o "$FAN4_SYS"
zabbix_sender -z "$server_ip" -s "$hostname" -k FAN5_SYS -o "$FAN5_SYS"
zabbix_sender -z "$server_ip" -s "$hostname" -k FAN6_SYS -o "$FAN6_SYS"
zabbix_sender -z "$server_ip" -s "$hostname" -k FAN7_SYS -o "$FAN7_SYS"
zabbix_sender -z "$server_ip" -s "$hostname" -k FAN8_SYS -o "$FAN8_SYS"
zabbix_sender -z "$server_ip" -s "$hostname" -k FAN9_SYS -o "$FAN9_SYS"
zabbix_sender -z "$server_ip" -s "$hostname" -k FAN10_SYS -o "$FAN10_SYS"
zabbix_sender -z "$server_ip" -s "$hostname" -k FAN11_SYS -o "$FAN11_SYS"
zabbix_sender -z "$server_ip" -s "$hostname" -k FAN12_SYS -o "$FAN12_SYS"
zabbix_sender -z "$server_ip" -s "$hostname" -k PSU1_Power -o "$PSU1_Power"
zabbix_sender -z "$server_ip" -s "$hostname" -k PSU2_Power -o "$PSU2_Power"
zabbix_sender -z "$server_ip" -s "$hostname" -k Total_Power -o "$Total_Power"
zabbix_sender -z "$server_ip" -s "$hostname" -k Total_Power_Out -o "$Total_Power_Out"

zabbix_sender -z "$server_ip" -s "$hostname" -k Ambient -o "$Ambient"
zabbix_sender -z "$server_ip" -s "$hostname" -k Systemboard -o "$Systemboard"
else
echo "error"
fi[/sourcecode]