Zabbix、インストール済みのdslam Siemens hix5630カードのデータ収集

DSLAM Siemens HIX5630から現在のファームウェアバージョンのデータを収集することにしました。

OIDはsnmpwalk'omをすぐに見つけました。



.1.3.6.1.4.1.231.7.1.2.2.1.1.2.1.1.12.xx

ここで、xx = 13 14 15 16 17 18 19 20それぞれ1 2 3 4 7 8 9 10 IUボード(モデムまたは音声)

21と22はCXUボード(プロセッサ)です。





このoidは、ボードが実行されている現在のファームウェアを提供します。 show upgradeテーブルの結論は、現在ロードされているファームウェアではなく、ボードの再起動時にロードされるファームウェアです。



1.3.6.1.4.1.231.7.1.2.2.1.1.2.1.1.13.xxこのoidは、ボードにダウンロードされているが実行されていないファームウェアバージョンを提供します。 このファームウェアでボードを起動するには、コマンドreset card <slot No.>を与える必要があります



これらの値を比較することにより、ファームウェアの更新があったかどうか、および更新されたがボードがリブートされていないかどうかを確認でき、最新の更新をキャッチするためにボードをリブートすることを推奨できます。



加入者のアクティビティが最小限の期間に夜間にカードを自動的に再起動するスクリプトを記述することで、さらに先へ進むことができます。



たとえば、ファームウェアコードのみを提供する他のOIDがあります。

1.3.6.1.4.1.231.7.1.2.2.1.2.2.2.1.4.xx.1



zabixで 、OID .1.3.6.1.4.1.231.7.1.2.2.1.1.2.1.1.12.13とデータタイプ「symbol」を持つcard1softなどの新しいアイテムを作成します。

トリガーを掛けます

{{HOSTNAME}:card1soft.change(0)}#0そしてそれを呼び出す1カードのファームウェアの変更トリガーのトリガーを停止する/ファームウェアの更新の通知を受け取ります。



zabixで 、OID .1.3.6.1.4.1.231.7.1.2.2.1.1.2.1.1.13.13とデータタイプ「symbol」を持つcard1softupgなどの新しいアイテムを作成します。



そして、これらの値をチェックするトリガーを作成します。

そして、私は引き金を引くことができませんでした




さらに、[ 監視] / [最新データ]で表示すると 、切り取られたデータ(20文字)が発行されます。 ソースコードを調べたところ、カットされた場所が見つかりました。



/public_html/include/items.inc.php行1381

function format_lastvalue($db_item){

if (isset($db_item[ "lastvalue" ])){

if ($db_item[ "value_type" ] == ITEM_VALUE_TYPE_FLOAT){

$lastvalue=convert_units($db_item[ "lastvalue" ],$db_item[ "units" ]);

}

else if ($db_item[ "value_type" ] == ITEM_VALUE_TYPE_UINT64){

$lastvalue=convert_units($db_item[ "lastvalue" ],$db_item[ "units" ]);

}

else if ($db_item[ "value_type" ] == ITEM_VALUE_TYPE_STR ||

$db_item[ "value_type" ] == ITEM_VALUE_TYPE_TEXT ||

$db_item[ "value_type" ] == ITEM_VALUE_TYPE_LOG){

$lastvalue=$db_item[ "lastvalue" ];

if (strlen($lastvalue) > 20)

$lastvalue = substr($lastvalue,0,20). " ..." ;

$lastvalue = nbsp(htmlspecialchars($lastvalue));

}

else {

$lastvalue= "Unknown value type" ;

}

if ($db_item[ "valuemapid" ] > 0);

$lastvalue = replace_value_by_map($lastvalue, $db_item[ "valuemapid" ]);



}

else {

$lastvalue = "-" ;

}

return $lastvalue;



* This source code was highlighted with Source Code Highlighter .








ご覧のとおり、出力は最大20文字に切り刻まれています。30文字を取得する必要がありました

20から30の2つの数字を置き換えると、ファームウェアバージョンの完全な結論が得られました。



if (strlen($lastvalue) > 30)

$lastvalue = substr($lastvalue,0,30). " ..." ;




* This source code was highlighted with Source Code Highlighter .








いくつかの便利なOIDがあります

ボードの温度を監視するのに特に役立ちます。

1.3.6.1.2.1.47.1.1.1.1.11.xxカードのシリアル番号(記号)

1.3.6.1.4.1.231.7.1.2.2.1.1.2.1.1.14.xxカードの温度(数値)

ここで、xx = 13 14 15 16 17 18 19 20それぞれ1 2 3 4 7 8 9 10 IUボード(モデムまたは音声)

21と22はCXUボード(プロセッサ)です。



1.3.6.1.4.1.231.7.1.2.2.1.1.1.1.1.5.xxカードタイプ(記号)

ここで、xx = 3 4 5 6 7 8 9 10それぞれ1 2 3 4 7 8 9 10 IUボード(モデムまたは音声)

11と12はCXUボード(プロセッサ)です。



脅威残念ながら、ファンのステータスを報告できるOIDが見つかりませんでした。 それらのどれが機能し、どれが故障しています。 これはコンソールで簡単に確認できます。



UPDコンテンツを絶えず変更および補足します。 可能性のあるエラーを理解して処理するためのリクエスト。 つまり、これは今日私が作るホットケーキです。



All Articles