介绍
与许多其他监视工具不同,Nagios Core不包括任何内部机制来检查网络上主机和服务的状态。相反,它依靠外部程序(称为插件)来完成所有肮脏的工作。
什么是插件?
插件是可编译的可执行文件或脚本(Perl脚本,shell脚本,Python,PHP,Ruby等),可以从命令行运行以检查状态或主机或服务。Nagios Core使用插件的结果来确定网络上主机和服务的当前状态。
每当需要检查服务或主机的状态时,Nagios Core都会执行一个插件。该插件执行某项操作(注意非常笼统的术语)以执行检查,然后将结果简单返回给Nagios Core。Nagios Core将处理从插件收到的结果,并采取任何必要的措施(运行事件处理程序,发出通知等)。
插件作为抽象层
插件充当Nagios Core守护程序中存在的监视逻辑与正在监视的实际服务和主机之间的抽象层。
这种插件架构的好处是,您可以监视几乎所有您能想到的东西。如果您可以自动化检查项目的过程,则可以使用Nagios Core对其进行监视。已经创建了许多插件来监视基本资源,例如处理器负载,磁盘使用率,ping速率等。如果要监视其他内容,请查看有关编写插件并创建自己的版本。
这种插件体系结构的缺点是,Nagios Core完全不知道您要监视的是什么。您可能正在监视网络流量统计信息,数据错误率,房间温度,CPU电压,风扇速度,处理器负载,磁盘空间,或者您的超棒烤面包机在早上正确变面包的能力。Nagios Core不了解所监视内容的具体信息-它仅跟踪那些资源状态的变化。只有插件本身才知道他们正在监视什么以及如何执行实际检查。
有哪些可用的插件?
当前有一些插件可用于监视许多不同种类的设备和服务,包括:
- HTTP,POP3,IMAP,FTP,SSH,DHCP
- CPU负载,磁盘使用率,内存使用率,当前用户
- Unix / Linux,Windows和Netware服务器
- 路由器和交换机
- 等等
获取插件
插件未随Nagios Core一起分发,但是您可以从以下位置下载官方的Nagios插件以及社区创建和维护的许多其他插件:
- Nagios插件项目:https : //github.com/nagios-plugins/nagios-plugins
- Nagios下载页面:https : //www.nagios.org/download/
- Nagios交流:https://exchange.nagios.org
如何使用插件X?
当您在命令行上使用’-h’或’–help’执行插件时,大多数插件都会显示基本用法信息。例如,如果您想知道check_http插件的工作方式或接受的选项,则应尝试执行以下命令:
./check_http --help
插件API
您可以在此处找到有关插件技术方面的信息,以及如何创建自己的自定义插件。