zend-patterns/zendservernagiosplugin

Zend Server Nagios 插件

2.0.0-beta 2014-02-27 10:44 UTC

This package is not auto-updated.

Last update: 2024-09-28 13:46:03 UTC


README

简介

Nagios® Core™ 是一款开源的系统和网络监控应用程序。它可以监控您指定的主机和服务,在出现问题时提醒您。

Nagios Core 的许多功能包括

  • 网络服务的监控(SMTP、POP3、HTTP、NNTP、PING 等)
  • 主机资源的监控(处理器负载、磁盘使用等)
  • 简单的插件设计,使用户能够轻松开发自己的服务检查
  • 并行化服务检查
  • 使用“父”主机定义网络主机层次结构,以检测和区分已关闭和不可达的主机
  • 在服务或主机问题发生和解决时进行联系通知(通过电子邮件、传呼或用户定义的方法)
  • 在服务或主机事件期间运行事件处理程序以主动解决问题
  • 自动日志文件轮换
  • 支持实现冗余监控主机
  • 可选网络界面,用于查看当前网络状态、通知和问题历史、日志文件等

这个 PHP ZF2 应用程序可以作为 Nagios 插件来监控主要的 Zend Server 指标。该插件基于一个命令行工具,它返回给定探测的严重级别。它还会生成一条将被记录到 Nagios 的消息。例如,探测 "clusterstatus" 如果集群中 33% 的节点已关闭,则返回警告。

命令行操作和探测定义

在 /bin 目录中提供了一个用于 Windows 和 Linux 的脚本。要调用 Nagios 插件命令,只需使用:php /path_to_plugin/index.php nagiospluging [参数]

clusterstatus(无参数):返回集群的状态。严重程度取决于活动或关闭的节点数量。

audittrail [--delay=] [--limit=]:返回最后审计跟踪的严重程度。--delay:探测将寻找审计跟踪的时间段(以秒为单位)。应与 Nagios 的 check_interval 值同步。--limit:将要检查的最大项目数。严重程度基于收集到的最关键项目的严重程度。

notifications(无参数):此探测检查集群当前发送的通知。严重程度基于最关键通知的严重程度。

license(无参数):此探测检查许可证的有效性。严重程度基于剩余的许可证时间。

events [--delay=] [--limit=]:返回最后监控事件的严重程度。--delay:探测将寻找事件的时间段(以秒为单位)。应与 Nagios 的 check_interval 值同步。--limit:将要检查的最大项目数。严重程度基于收集到的最关键事件的严重程度。

设置 Nagios 阈值

所有探测都管理阈值,以定义严重级别。这些阈值在 /config/zendservernagiosplugin.config.php 文件中设置。设置阈值的方式非常简单:=> Nagios 严重级别(NAGIOS_CRITICAL、NAGIOS_WARNING、NAGIOS_NOTICE 或 NAGIOS_OK)

安装

使用 Git 子模块

从 Github 克隆代码

git clone git://github.com/zendtech/ZendServerNagiosPlugin.git --recursive

使用 Composer 安装依赖项

composer install

如何在 Nagios 中使用它?

在您的 /usr/local/nagios3/commands.cfg 文件中定义命令

define command {
    command_name : zend-server-<probe>
    command_line : php /path_to_nagios_pluigin/index.php nagiosplugin <probe> [parameters]
}

在主机的配置文件中定义服务(例如:/usr/local/nagios3/conf.d/local-xxx.cfg)

define service {
    use                             generic-service 
    host_name                       localhost
    service_description             Zend_Server_Error
    check_command                   zend-server-<probe>
}   

然后重启 Nagios

/etc/init.d/nagios3 restart