我会从Nagios迁移到Icinga2。我会尝试迁移一个在Nagios中运行的自定义命令,但我无法在Icinga中进行翻译。 我会创建一个我的自定义"对象CheckCommand"在某些主机中使用。
在nagios我有这个(如果我从shell执行新的Icinga2服务器仍然可以工作)
./check_by_ssh -H myHostName -t 15 -l myLoginUsername -C "/opt/jboss/scripts/check_file_size.sh --maxwarn 80000000 --maxcrit 150000000 /opt/jboss/domain/servers/*/log/* /opt/jboss/domain/log/*" -E
由于多级参数(check_by_ssh的参数和check_file_size_ssh的参数),我无法写出正确的"对象CheckCommand"和"对象主持人"或"申请服务"。
有人可以帮助我吗?
最好的反叛
答案 0 :(得分:0)
请尝试以下操作,根据需要进行调整。 Afaik参数可以指定为数组,并将放在一起。
apply Service "ssh-check" {
import "generic-service"
check_command = "by_ssh"
vars.by_ssh_address = host.address
vars.by_ssh_command = "/opt/jboss/scripts/check_file_size.sh"
vars.by_ssh_logname = "myLoginUserName"
vars.by_ssh_arguments += [ "--maxwarn" ]
vars.by_ssh_arguments += [ "80000000" ]
vars.by_ssh_arguments += [ "--maxcrit" ]
vars.by_ssh_arguments += [ "150000000" ]
vars.by_ssh_arguments += [ "/opt/jboss/domain/servers/*/log/*" ]
vars.by_ssh_arguments += [ "/opt/jboss/domain/log/*" ]
}