我正在使用 OMD 和 check_mk 设置新的 Nagios 安装,而不是这次手动完成所有操作。交换机在 DNS 中没有正确的主机名,因此 check_mk 提供了一种在配置文件中指定 IP 的方法。昨晚我正在转换一些交换机的配置文件,我尝试了几分钟来一次完成,但后来认输了。
示例输入:
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",