阅读本文之前,强烈建议先去观摩大神的Linux下Nagios的安装与配置,最好精读几遍原理。
一、 安装nagios准备工作
1、基础支持套件安装:gcc glibc glibc-common gd gd-develxinetd openssl-devel
2、 创建nagios安装目录,方便以后查找和删除,并新建nagios用户。
二、 安装nagios框架 nagios-3.4.3.tar.gz
三、 安装nagios插件 nagios-plugins-1.4.16.tar.gz
四、 为了方便查看,nagios提供了web监控界面,需要安装与配置Apache和php。
到这里nagios 的安装也就基本完成了,你可以通过web来访问了。登陆访问,如本监控机的ip为192.168.4.64 ,则访问地址为192.168.4.64/nagios。会出现下图
安装工作结束,接下来要监控主机资源或者服务操作,必须配置nagios。
五、 配置nagios
Nagios 主要用于监控一台或者多台本地主机及远程的各种信息,包括本机资源及对外的服务等。默认的Nagios 配置没有任何监控内容,仅是一些模板文件。若要让Nagios 提供服务,就必须修改配置文件,增加要监控的主机和服务。
接下来的步骤中初步配置nagios,添加一个被监控主机的ip并测试状态。
Nagios 安装完毕后,默认的配置文件在/usr/local/nagios/etc目录下,如下图。
每个文件或目录含义如下表所示:
文件名或目录名 | 用途 |
控制CGI访问的配置文件 | |
cgi.cfg | |
nagios.cfg | Nagios 主配置文件 |
resource.cfg | 变量定义文件,又称为资源文件,在些文件中定义变量,以便由其他配置文件引用,如$USER1$ |
objects | objects 是一个目录,在此目录下有很多配置文件模板,用于定义Nagios 对象 |
objects/commands.cfg | 命令定义配置文件,其中定义的命令可以被其他配置文件引用 |
objects/contacts.cfg | 定义联系人和联系人组的配置文件 |
objects/localhost.cfg | 定义监控本地主机的配置文件 |
objects/printer.cfg | 定义监控打印机的一个配置文件模板,默认没有启用此文件 |
objects/switch.cfg | 定义监控路由器的一个配置文件模板,默认没有启用此文件 |
objects/templates.cfg | 定义主机和服务的一个模板配置文件,可以在其他配置文件中引用 |
objects/timeperiods.cfg | 定义Nagios 监控时间段的配置文件 |
objects/windows.cfg | 监控Windows 主机的一个配置文件模板,默认没有启 用此文件 |
本阶段需要新增host.cfg 和services.cfg文件,并在Nagios.cfg文件中讲这两个文件的路径进行引用。另外由于nagios的web监控界面验证用户为david,所以只需在cgi.cfg文件中添加此用户的执行权限。
六、 查看初步配置情况
重启nagios服务,servicenagios restart, 登录Nagios Web监控页,如下图。
可以看到能够Nagios-Linux和Nagios-Server的服务状态已经OK了,对远程Linux 主机是否存活做了监控。但是看不到远程主机上的其他本地资源。
七、 利用nagios提供的nrpe组件监控远程Linux主机上的本地资源
nrpe原理:NRPE总共由两部分组成
check_nrpe 插件,位于监控主机上,被监控机不必安装。
NRPE daemon,运行在远程的Linux主机上(通常就是被监控机)
整个的监控过程如下:
当监控机上的Nagios 需要监控某个远程Linux 主机的服务或者资源情况时:
- Nagios 会运行check_nrpe 这个插件,告诉它要检查什么;
- check_nrpe 插件会连接到远程的NRPE daemon,所用的方式是SSL;
- NRPE daemon 会运行相应的Nagios 插件来执行检查;
- NRPE daemon 将检查的结果返回给check_nrpe 插件,插件将其递交给nagios做处理。
因此,上面的六步的初步配置nagios中需要进一步拓展。
八、 Nagios配置拓展---nrpe安装
被监控机上:
1. 在被监控机上安装nrpe之前,必须也得安装nagios插件,因为最终检测被监控机的仍然是nagios插件。Nrpe
2. 安装nrpe deamon
监控机上:
1. 安装nagios,由于之前已经安装并运行,省略。
2. 安装nrpe的check_nrpe插件。
九、 Nrpe 监控配置
在监控机的Nagios基本配置文件中,必须要在commands.cfg 中创建check_nrpe的命令定义,因为只有在commands.cfg 中定义过的命令才能在services.cfg 中使用。
那么整个一套路就出来了,比如要监控被监控机的主机资源和其他服务:
1. 查看被监控机的nrpe.cfg有没有这些监控功能的命令,如果有,转3.否则转2
2. 手动在被监控机的nrpe.cfg中添加命令。然后转3
3. 在监控机中nagios基本配置文件services.cfg中添加这些监控项目
比如mysql的配置,过程就是如此。先在被监控机nrpe.cfg中添加check_mysql,然后在监控机中的services.cfg 添加服务。详细步骤见下篇博客总结。
十、 查看配置情况
重启nagios服务,servicenagios restart, 登录Nagios Web监控页,如下图
上图中的中文,是因为在检测mysql时,出现各种bug,我采用了汉化版本方便。