1
我正在使用OMD & check_mk設置一個新的Nagios安裝,而不是這次手動執行所有操作。交換機在DNS中沒有正確的主機名,因此check_mk提供了一種在配置文件中指定IP的方法。我昨晚爲某些交換機轉換了配置文件,我嘗試了幾分鐘來完成一次鏡頭,但後來投擲了毛巾。從Nagios到check_mk配置三個步驟,我怎麼能做得更好?
例輸入:
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做&宏等
"BAR.MDF.MODEL" : "10.1.1.1",
是'$ 1 == 「HOST_NAME」{'簡寫'如果($ 1 ==「host_name」){'?我讀的是對的嗎?它轉化爲真,然後變量「主機名」設置爲$ 2?有點像bash中的[[-e文件]] && rm文件? – Ryan
oops。我沒有想到要提及它......這對於switch.cfg中的第一個主機定義有效,但其中有39個。 :s – Ryan
@Ryan:更新了答案。對於你的第一個問題,是的。如果條件成功,請在花括號內執行指令。 – Birei