Nagios简介
Nagios是十分受欢迎的、开源且免费的计算机及网络系统监控软件。Nagios是“Nagios Ain‘t Gonna Insist On Sainthood”的缩写。它最早是在1999年以“NetSaint”发布。Nagios主要应用在Linux和Unix平台环境下的监控,但通过插件,也可以监控MS Windows系统的主机。Nagios在LinuxCon 2010 Poll并选为最受欢迎的IT运维工具。它被Infoworld在2009年评为最佳开源软件,同时也是该年度的SourceForge社区的系统管理工具最佳选择。Nagios也被很多知名企业所采用,包括AOL,DHL,At&t,欧莱雅,德州仪器,Siemens COM CZ,时代华纳有线,Yahoo等。
Nagios的特征包括:
l 监控网络服务(SMTP、POP3、HTTP、NNTP、PING等);
l 监控主机资源(处理器负荷、磁盘利用率等);
l 并行服务检查机制;
l 具备定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态,提供设备组网拓扑展示能力;
l 当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式);
l 具备定义事件句柄功能,它可以在主机或服务的事件发生时获取更多问题定位;
l 简单地插件设计使得用户可以方便地扩展自己服务的检测方法;
l 自动的日志轮转;
l 可以支持并实现对主机的冗余监控;
l 可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等;
二次开发
Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。启动 Nagios后,它会周期性的自动调用插件去检测服务器状态,同时 Nagios 会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过 web 显示出来。
Nagios Plug-in机制
Nagios Daemon通过加载一些官方的或其它自开发的插件(Plug-in),能够实现对诸如服务器、网络、应用甚至房间温度和湿度等的监控。Nagios Core作为Nagios Daemon的核心,负责对这些插件的结果进行处理(诸如统计、转储、人工或自动响应处理等)。因此Nagios Core即为Nagios的事件池的核心。在Nagios Core内部,它为每一种加载的插件都会分配独立的工作缓冲区(即以objecttype作为区分),以存放相应插件所产生的事件信息。每一个独立运行的Nagios Daemon可以有自己的名称以便集群Nagios环境下的相互区别,即从更大的层面来区分这些工作缓冲区。
Nagios插件通常是通过命令行方式监控主机或服务工作状态的脚本,由Nagios进行按需调用,并把执行结果返回给Nagios。Nagios正是根据这些返回值来判断是否“采取某种行动”(如运行事件句柄(event handlers),发送通知等)。下图展示了插件相对于Nagios进程和被监控对象间的关系:
为了管理插件,Nagios 每次在查询一个服务的状态时,产生一个子进程,并且它使用来自该命令的输出和退出代码来确定具体的状态。
下面提供了一个 Python 示例脚本,用于检查 UNIX® 平均负载。它假定 2.0 以上的级别表示警告状态,而 5.0 以上的级别表示危险状态。这些值都采用了硬编码的方式,并且始终使用最近一分钟的平均负载。
Nagios Add-on机制
Nagios支持以Add-on方式扩展监控信息处理能力。Nagios采集到的监控信息都被看做事件,事件接收者对感兴趣的事件注册,事件发生时Nagios的事件机制会将事件发送到事件接收者。Nagios的Add-on就是事件接收者。Add-on通过将自身注册到感兴趣的事件上,可以实时的从Nagios接收到事件,并作出相应处理。
Nagios Add-on工作原理图:
Nagios监控效果:
相关推荐
尽管国产设备可能基于Linux内核二次开发,但Nagios的开源性质和广泛社区支持意味着它可以有效地应用于这些环境。 在实际部署中,Nagios需要配置监控目标、设置检查间隔、定义报警阈值,并根据业务需求定制化界面和...
把开发的shell拷贝至客户端/usr/local/nagios/libexec目录下 注意属组及执行权限修改 chown -R nagios.nagios ./check_update chmod +x ./check_update 3、添加服务器配置文件(目录/usr/local/nagios/etc/...
### Nagios插件编写——利用内嵌Perl解释器提高效率 #### 1. 引言 在IT运维领域,Nagios被誉为“监控中的战斗机”,它不仅能够提供强大的监控功能,还能通过各种插件实现定制化的监控需求。本文将重点探讨如何通过...
nagios, nagios cookbook的开发库 cookbook 安装和配置Nagios服务器。 厨师节点是使用搜索自动发现的,而Nagios主机组是基于厨师角色和可选的环境创建的。要求厨师需要主厨版本 12.9 由于搜索的重大使用,这个菜谱不...
本文将详细介绍在Linux环境下Nagios的安装配置及其常用插件的使用。 首先,安装Nagios前需要确保系统已安装了必要的基础软件,如GCC编译器、Apache HTTP服务器、Perl环境以及相关库。在基于Red Hat的系统(如CentOS...
* 灵活的插件系统:Nagios 提供了灵活的插件系统,允许管理员根据需要开发和安装插件,以监控特定的设备或服务。 * 高度自定义:Nagios 允许管理员根据需要自定义监控的指标和阈值,以满足不同的监控需求。 二、 ...
**二、安装Nagios** 1. **更新系统**:首先,更新你的系统到最新版本,确保所有软件包都是安全的。 ``` sudo apt-get update sudo apt-get upgrade ``` 2. **安装依赖**:安装Nagios需要的一些基础包,如Apache...
- **编译安装Nagios**:下载源码,配置安装路径,编译并安装Nagios及其配置文件,添加Nagios到开机启动列表。 - **安装Nagios插件**:这些插件提供多种检查功能,如检查网络、系统状态等。 - **安装Nagios汉化包*...
#### 二、Nagios核心组件安装 **2.1 编译安装Nagios** - 解压并进入Nagios源码包。 - `tar zxf nagios-4.3.2.tar.gz` - `cd nagios-4.3.2` - 配置并编译安装。 - `./configure --prefix=/app/nagios` - `make...
#### 一、Nagios简介及作用 Nagios是一款开源的系统监控工具,它主要用于监控网络中的各种设备和服务状态,如服务器、路由器等,并在出现问题时及时通知管理员。Nagios能够支持多种平台,包括Windows、Linux等操作...
#### 一、Nagios简介与核心功能 **Nagios**是一款开源的系统及网络监控工具,以其强大的监控能力、灵活的扩展性以及广泛的适用性,在IT运维领域占据重要地位。该工具最初由Ethan Galstad开发,原名NetSaint,后更改...
二、下载与安装Nagios及其插件 1. 下载Nagios核心、Nagios Plugins和NRPE(Nagios Remote Plugin Executor): - Nagios核心:如nagios-3.2.3.tar.gz - Nagios Plugins:如nagios-plugins-1.4.15.tar.gz - NRPE...
#### 一、Nagios Core简介 Nagios Core是一款开源的网络监控系统,被广泛应用于各种规模的企业网络环境中。它能够帮助管理员监控网络中的主机和服务状态,及时发现并解决问题,确保网络服务的稳定运行。 #### 二、...
nagios
Nagios是由Nagios Core项目开发的开源网络监控软件。它能够检测网络服务(如HTTP、SMTP、POP3等)、主机状态、网络接口以及各种系统性能指标。通过定期检查并报告异常情况,Nagios帮助管理员提前发现和解决潜在问题...
#### 一、Nagios简介 Nagios是一款非常流行的开源系统及网络监控工具,能够高效地监控Windows、Linux以及Unix等操作系统主机的状态,同时还支持路由器、交换机乃至打印机等设备的监控。一旦发现系统或服务出现异常...