Nagios V1 を使用する既存のプロジェクトでは、Nagios V3 にアップグレードする必要があります。2 つのバージョン間で変更されたステータス ファイル (status.dat) を除いて、すべて問題ありません。それらを変更するには、古いステータス ファイル形式を使用する perl スクリプトが多すぎます。代わりに、ステータス ファイルを新しい形式から古い形式に変換する perl コードを書きたいと思います。
問題を単純化するには (perl の質問と見なすことができます):
入力ファイルは次のようなものです:
hoststatus {
key1=val1
key2=val2
key3=val3
}
hoststatus {
key1=val4
key2=val5
key3=val6
}
servicestatus {
key11=val11
key12=val12
key13=val13
}
servicestatus {
key11=val14
key12=val15
key13=val16
}
そして、このファイルに変換する必要があります:
HOST;val1;val3;val2
HOST;val4;val6;val5
SERVICE;val13;val11;val12
SERVICE;val16;val14;val15
Note the values are written following a chosen keys order. In the above listing :
"key1,key3,key2" for hoststatus blocks
"key13,key11,key12" for servicestatus blocks
Perl でそれをどのようにコーディングできますか?