📅  最后修改于: 2020-10-31 13:45:31             🧑  作者: Mango
命令定义定义命令。命令包括服务检查,服务通知,服务事件处理程序,主机检查,主机通知和主机事件处理程序。 Nagios的命令定义在commands.cfg文件中定义。
以下是用于定义命令的格式-
define command {
command_name command_name
command_line command_line
}
命令名称-此伪指令用于标识命令。联系人,主机和服务的定义由命令名称引用。
命令行-此指令用于定义当该命令用于服务或主机检查,通知或事件处理程序时,Nagios执行的操作。
define command{
command_name check_ssh
command_line /usr/lib/nagios/plugins/check_ssh ‘$HOSTADDRESS$’
}
该命令将执行带有以下参数的插件-/ usr / libl / nagios / plugins / check_ssh:’$ HOSTADDRESS $’
使用此检查命令的非常短的主机定义可能与此处显示的类似-
define host{
host_name host_tutorial
address 10.0.0.1
check_command check_ssh
}
命令定义告诉您如何执行主机/服务检查。还定义了如何在发现任何问题时生成通知并处理任何事件。有几种命令可以执行检查,例如用于检查SSH是否正常运行的命令,用于检查数据库是否已启动并正在运行的命令,用于检查主机是否处于活动状态的命令等等。
有一些命令可以告诉用户基础架构中存在哪些问题。您可以在Nagios中创建自己的自定义命令或使用任何第三方命令,它们的处理方式类似于Nagios插件项目,两者之间没有区别。
您还可以在命令中传递参数,这样可以在执行检查时提供更大的灵活性。这就是您需要使用参数定义命令的方式-
define command {
command_name check-host-alive-limits
command_line $USER5$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
}
上面命令的主机定义-
define host {
host_name system2
address 10.0.15.1
check_command check-host-alive-limits!1000.0,70%!5000.0,100%
}
您可以通过将外部命令添加到Nagios守护程序定期处理的命令文件中,在Nagios中运行外部命令。
使用外部命令,您可以在Nagios运行时进行很多检查。您可以暂时禁用一些检查,或强制某些检查立即运行,暂时禁用通知等。以下是Nagios中必须写入命令文件中的外部命令的语法-
[time] command_id;command_arguments
您还可以在此处查看Nagios中可以使用的所有外部命令的列表-https: //assets.nagios.com/downloads/nagioscore/docs/externalcmds/