今回はすべてを手作業で行うのではなく、OMDとcheck_mkを使用して新しいNagiosインストールをセットアップしています。スイッチにはDNSに適切なホスト名がないため、check_mkは構成ファイルでIPを指定する方法を提供します。昨夜、いくつかのスイッチの構成ファイルを変換していて、数分間それを1回実行しようとしましたが、その後タオルを投げました。
入力例:
define host{
use generic-switch
host_name BAR.MDF.MODEL
alias BAR.MDF.MODEL
parents FOO.MDF.MODEL.01
address 10.1.1.1
}
必要な出力:
ipaddresses = {
"BAR.MDF.MODEL" : "10.1.1.1",
}
これが私がしたことです。
IPは常にhost_nameの後にあるので、かなり安全で一貫性があることを知っていました
{ awk '/host_name/ || /address/ { print $2 }' < switch.cfg; } >> out.txt
それは私を手に入れました
BAR.MDF.MODEL
10.1.1.1
それから私はこれをしました
{ awk '!/^1/{ getline ip; print $0, ip; next }' < out.txt; } >> out2.txt
これを取得するには:
BAR.MDF.MODEL 10.1.1.1
残りのフォーマットは、vimで「norm」やマクロなどを介して行われました。
"BAR.MDF.MODEL" : "10.1.1.1",