共计 15224 个字符,预计需要花费 39 分钟才能阅读完成。
序言(必备知识)
Nagios 是一款开源的电脑系统和网络监视工具,能有效监控 Windows、Linux 和 Unix 的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
主要功能
(1)网络服务监控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)
(2)主机资源监控(CPU load、disk usage、system logs),也包括 Windows 主机(使用 NSClient++ plugin)
(3)可以指定自己编写的 Plugin 通过网络收集数据来监控任何情况(温度、警告……)
(4)可以通过配置 Nagios 远程执行插件远程执行脚本
(5)远程监控支持 SSH 或 SSL 加通道方式进行监控
(6)简单的 plugin 设计允许用户很容易的开发自己需要的检查服务,支持很多开发语言(shell scripts、C++、Perl、ruby、Python、PHP、C# 等)
(7)包含很多图形化数据 Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios 等)
(8)可并行服务检查
(9)能够定义网络主机的层次,允许逐级检查,就是从父主机开始向下检查
(10)当服务或主机出现问题时发出通告,可通过 email, pager, sms 或任意用户自定义的 plugin 进行通知
(11)能够自定义事件处理机制重新激活出问题的服务或主机
(12)自动日志循环
(13)支持冗余监控
(14)包括 Web 界面可以查看当前网络状态,通知,问题历史,日志文件等
Nagios 工作原理
Nagios 的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。
启动 Nagios 后,它会周期性的自动调用插件去检测服务器状态,同时 Nagios 会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios 每次都从队首开始读取信息,并进行处理后,把状态结果通过 web 显示出来。
Nagios 提供了许多插件,利用这些插件可以方便的监控很多服务状态。安装完成后,在 nagios 主目录下的 /libexec 里放有 nagios 自带的可以使用的所有插件,如,check_disk 是检查磁盘空间的插件,check_load 是检查 CPU 负载的,等等。每一个插件可以通过运行./check_xxx –h 来查看其使用方法和功能。
再说报警功能,如果监控系统发现问题不能报警那就没有意义了,所以报警也是 nagios 很重要的功能之一。但是,同样的,Nagios 自身也没有报警部分的代码,甚至没有插件,而是交给用户或者其他相关开源项目组去完成的。
Nagios 安装,是指基本平台,也就是 Nagios 软件包的安装。它是监控体系的框架,也是所有监控的基础。
打开 Nagios 官方的文档,会发现 Nagios 基本上没有什么依赖包,只要求系统是 Linux 或者其他 Nagios 支持的系统。不过如果你没有安装 apache(http 服务),那么你就没有那么直观的界面来查看监控信息了,所以 apache 姑且算是一个前提条件。关于 apache 的安装,网上有很多,照着安装就是了。安装之后要检查一下是否可以正常工作。
知道 Nagios 是如何通过插件来管理服务器对象后,现在开始研究它是如何管理远端服务器对象的。Nagios 系统提供了一个插件 NRPE。Nagios 通过周期性的运行它来获得远端服务器的各种状态信息。它们之间的关系如下图所示:
Nagios 通过 NRPE 来远端管理服务
1. Nagios 执行安装在它里面的 check_nrpe 插件,并告诉 check_nrpe 去检测哪些服务。
2. 通过 SSL,check_nrpe 连接远端机子上的 NRPE daemon
3. NRPE 运行本地的各种插件去检测本地的服务和状态(check_disk,..etc)
4. 最后,NRPE 把检测的结果传给主机端的 check_nrpe,check_nrpe 再把结果送到 Nagios 状态队列中。
5. Nagios 依次读取队列中的信息,再把结果显示出来。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-05/143886p2.htm
一、安装规划
1.1 系统环境
系统版本号 | [root@seiang ~]# cat /etc/CentOS-release CentOS Linux release 7.1.1503 (Core) |
监控主机 (一台) | IP地址:10.1.1.66/24 主机名称:seiang.comsys.com |
远程主机 (两台) | IP地址:10.1.1.55/24 主机名称:nagios-slave-55
IP地址:10.1.1.58/24 主机名称:nagios-slave-58 |
分区情况 | 安装时使用默认分区(使用 df 命令来查看) |
一共 3 台机器,监控主机我选择根据自己的需求进行安装,两台监控主机按照 CentOS 7 最小化模式安装系统
1.2 所需软件包
(1)监控主机
软件包 | 下载地址 |
nagios-4.2.4.tar.gz | 请到我的百度网盘下载: 链接:https://pan.baidu.com/s/1bo5dj6R密码:1111 |
nagios-plugins-2.1.4.tar.gz | |
nrpe-2.15.tar.gz | |
pnp4nagios-0.6.25.tar.gz |
(2)远程主机
软件包 | 下载地址 |
nagios-plugins-2.1.4.tar.gz | 请到我的百度网盘下载: 链接:https://pan.baidu.com/s/1bo5dj6R密码:111l |
nrpe-2.15.tar.gz |
—————————————— 分割线 ——————————————
也可以到 Linux 公社 1 号 FTP 服务器下载
FTP 地址:ftp://ftp1.linuxidc.com
用户名:ftp1.linuxidc.com
密码:www.linuxidc.com
在 2017 年 LinuxIDC.com/ 5 月 /CentOS 7 下安装配置 Nagios 监控图文详解 /
下载方法见 http://www.linuxidc.com/Linux/2013-10/91140.htm
—————————————— 分割线 ——————————————
二、配置安装环境
2.1同步时间
(1)把监控系统里的所有机器都同步一次网络时间(非常重要)
[root@seiang ~]timedatectl #该命令用来检查当前时间和时区
如果发现存在机器的时区不一致,此时就要使用命令
[root@seiang ~]timedatectl list-timezones #该命令列出了所有的时区
[root@seiang ~]timedatectl set-timezone Asia/Shanghai #该命令把时区设置为上海
[root@seiang ~]ntpdate time.nist.gov #该命令同步网络当前的时间
如果提示没有 ntpdate 命令,则安装ntp,并且配置系统自动更新时间
[root@seiang ~]# yum install ntp -y
[root@seiang ~]# /usr/sbin/ntpdate time.nist.gov
[root@seiang ~]# echo ‘#time sync’ >> /var/spool/cron/root
2.2禁用SElinux
为了保险起见,首先禁用selinux:
[root@seiang ~]vi /etc/selinux/config
重启机器,检查 selinux 是否关闭:
[root@seiang ~]getenforce #如果显示 enforcing 则没有关闭
2.3 xftp上传软件包
我在这里使用 xftp 上传工具,通过这个工具上传安装包到Linux
2.4安装邮件服务
因为邮件报警服务需要安装 mail 功能
[root@seiang ~]yum install –y mailx
[root@seiang ~]yum install –y sendmail
[root@seiang ~]systemctl restart sendmail.service
[root@seiang ~]mail –s ‘wjq-test’ jqwei@comsys.com.cn(邮箱地址)
# 此时进入输入模式,输入完邮件内容后按 ctrl + d 退出并且发送
三、监控主机安装
3.1安装 nagios 的运行环境
[root@seiang ~]# yum install gcc glibc glibc-common -y
[root@seiang ~]# yum install php php-gd perl -y
[root@seiang ~]# yum install httpd gd gd-devel openssl openssl-devel -y
[root@seiang ~]# systemctl enable httpd.service #设置 CentOS 开机启动服务
3.2增加用户
[root@seiang ~]useradd -m nagios
[root@seiang ~]groupadd nagcmd
[root@seiang ~]usermod -G nagcmd nagios
[root@seiang ~]usermod -a -G nagcmd apache #把 apace 用户添加到与 nagios 的一个组(apache用户会在安装 apache 时自动创建)
3.3安装nagios
(1)解压安装包
[root@seiang nagios]# tar -zxvf nagios-4.2.4.tar.gz
[root@seiang nagios]# cd nagios-4.2.4
(2)初始化和建立编译的环境
[root@seiang nagios-4.2.4]#./configure –with-command-group=nagcmd
如果能看到下面的基本配置信息则说明初始的环境已经成功配置完成:
(3)按照提示执行命令来进行编译:
[root@seiang nagios-4.2.4]# make all
[root@seiang nagios-4.2.4]# make install
[root@seiang nagios-4.2.4]# make install-init
[root@seiang nagios-4.2.4]# make install-config
[root@seiang nagios-4.2.4]# make install-commandmode
[root@seiang nagios-4.2.4]# make install-webconf
(4)安装完成之后,在 /usr/local/nagios 目录下如果能够看到这些目录,就表示 Naigos 安装成功了。
(5)Nagios的样例配置文件默认安装在 /usr/local/nagios/etc 目录下,配置这些文件就可以使得 nagios 按要求运行,每个目录及文件的含义如下:
序言(必备知识)
Nagios 是一款开源的电脑系统和网络监视工具,能有效监控 Windows、Linux 和 Unix 的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
主要功能
(1)网络服务监控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)
(2)主机资源监控(CPU load、disk usage、system logs),也包括 Windows 主机(使用 NSClient++ plugin)
(3)可以指定自己编写的 Plugin 通过网络收集数据来监控任何情况(温度、警告……)
(4)可以通过配置 Nagios 远程执行插件远程执行脚本
(5)远程监控支持 SSH 或 SSL 加通道方式进行监控
(6)简单的 plugin 设计允许用户很容易的开发自己需要的检查服务,支持很多开发语言(shell scripts、C++、Perl、ruby、Python、PHP、C# 等)
(7)包含很多图形化数据 Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios 等)
(8)可并行服务检查
(9)能够定义网络主机的层次,允许逐级检查,就是从父主机开始向下检查
(10)当服务或主机出现问题时发出通告,可通过 email, pager, sms 或任意用户自定义的 plugin 进行通知
(11)能够自定义事件处理机制重新激活出问题的服务或主机
(12)自动日志循环
(13)支持冗余监控
(14)包括 Web 界面可以查看当前网络状态,通知,问题历史,日志文件等
Nagios 工作原理
Nagios 的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。
启动 Nagios 后,它会周期性的自动调用插件去检测服务器状态,同时 Nagios 会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios 每次都从队首开始读取信息,并进行处理后,把状态结果通过 web 显示出来。
Nagios 提供了许多插件,利用这些插件可以方便的监控很多服务状态。安装完成后,在 nagios 主目录下的 /libexec 里放有 nagios 自带的可以使用的所有插件,如,check_disk 是检查磁盘空间的插件,check_load 是检查 CPU 负载的,等等。每一个插件可以通过运行./check_xxx –h 来查看其使用方法和功能。
再说报警功能,如果监控系统发现问题不能报警那就没有意义了,所以报警也是 nagios 很重要的功能之一。但是,同样的,Nagios 自身也没有报警部分的代码,甚至没有插件,而是交给用户或者其他相关开源项目组去完成的。
Nagios 安装,是指基本平台,也就是 Nagios 软件包的安装。它是监控体系的框架,也是所有监控的基础。
打开 Nagios 官方的文档,会发现 Nagios 基本上没有什么依赖包,只要求系统是 Linux 或者其他 Nagios 支持的系统。不过如果你没有安装 apache(http 服务),那么你就没有那么直观的界面来查看监控信息了,所以 apache 姑且算是一个前提条件。关于 apache 的安装,网上有很多,照着安装就是了。安装之后要检查一下是否可以正常工作。
知道 Nagios 是如何通过插件来管理服务器对象后,现在开始研究它是如何管理远端服务器对象的。Nagios 系统提供了一个插件 NRPE。Nagios 通过周期性的运行它来获得远端服务器的各种状态信息。它们之间的关系如下图所示:
Nagios 通过 NRPE 来远端管理服务
1. Nagios 执行安装在它里面的 check_nrpe 插件,并告诉 check_nrpe 去检测哪些服务。
2. 通过 SSL,check_nrpe 连接远端机子上的 NRPE daemon
3. NRPE 运行本地的各种插件去检测本地的服务和状态(check_disk,..etc)
4. 最后,NRPE 把检测的结果传给主机端的 check_nrpe,check_nrpe 再把结果送到 Nagios 状态队列中。
5. Nagios 依次读取队列中的信息,再把结果显示出来。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-05/143886p2.htm
(6)配置文件之间的关系
在 nagios 的配置过程中涉及到的几个定义有:主机、主机组,服务、服务组,联系人、联系人组,监控时间,监控命令等,从这些定义可以看出,nagios各个配置文件之间是互为关联,彼此引用的。
成功配置出一台 nagios 监控系统,必须要弄清楚每个配置文件之间依赖与被依赖的关系,最重要的有四点:
第一:定义监控哪些主机、主机组、服务和服务组
第二:定义这个监控要用什么命令实现,
第三:定义监控的时间段,
第四:定义主机或服务出现问题时要通知的联系人和联系人组。
(7)此时应该为 email 指定您想用来接收 nagios 警告信息的邮件地址,默认是本机的 nagios 用户:
[root@seiang]# vi /usr/local/nagios/etc/objects/contacts.cfg
在 vi 中,通过搜索email,修改邮箱
email nagios@localhost #描红的地方修改为你的 email 地址
(8)创建一个登录 nagios web 程序的用户 (用户名配置为nagiosadmin 则不需要配置权限,设置为其他用户名就要配置权限),我在这里把用户名设置为 nagioseiang,密码为beijing,这个用户帐号在以后通过web 登录 nagios 认证时所用:
[root@seiang ~]# htpasswd -bc /usr/local/nagios/etc/htpasswd.users nagioseiang beijing #把描红的地方修改为你的用户名和密码
3.4配置权限
(1)如果在上面创建登陆 nagios web 程序的用户名不是 nagiosadmin, 我在上面已经设置为 nagioseiang,在登陆nagios 的web界面后(此时我们还不能登录),是因为 nagios 默认把全部的权限给 nagiosadmin,所以可以通过修改cgi.cfg 文件赋予 nagioseiang 权限,切换到 /usr/local/nagios/etc 目录下
[root@seiang ~]#cd /usr/local/nagios/etc
[root@seiang etc]# sed -i ‘s#nagiosadmin#kylinlin#g’ cgi.cfg #这条命令将 nagiosadmin 用户名替换为nagioseiang
[root@seiang etc]# grep nagioseiang cgi.cfg #这条命令检查是否修改成功
以上过程配置结束以后需要重新启动httpd:
[root@seiang etc]# systemctl restart httpd.service
(2)检查其主配置文件的语法是否正确:
[root@seiang etc]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
或者使用下面这个命令来检查语法
[root@seiang etc]# /etc/init.d/nagios checkconfig
错误数为 0,配置成功
3.5安装插件
刚才已经提到 Nagios 主程序只是一个控制中心,而能够起到服务监测和系统监测等功能的是众多 Nagios 的插件,没有插件的 Nagios 系统其实只是一个空壳。因此在安装了 Nagios 平台之后我们还需要安装插件。
(1)Nagios插件同样是在其官方网站下载。我将下载的源码包放到 /software/nagios 目录下,按照下面的步骤进行解压,编译和安装:
[root@seiang src]# tar -zxf nagios-plugins-2.1.4.tar.gz
[root@seiang nagios]# cd nagios-plugins-2.1.4/
[root@seiang nagios-plugins-2.1.4]# ./configure –with-nagios-user=nagios –with-nagios-group=Nagios
[root@seiang nagios-plugins-2.1.4]# make && make install
(2)通过下面的命令查看安装了多少个插件
[root@seiang nagios-plugins-2.1.4]#ls /usr/local/nagios/libexec/ | wc –l
(3)把 Nagios 加入到服务列表中以使之在系统启动时自动启动:
[root@seiang nagios-plugins-2.1.4]# chkconfig –add nagios
[root@seiang nagios-plugins-2.1.4]# chkconfig nagios on
(4)执行下面的命令来验证 Nagios 的样例配置文件:
[root@seiang nagios-plugins-2.1.4]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
(5)如果防火墙的服务没有安装的话,首先使用 yum 来安装防火墙服务
[root@seiang nagios-plugins-2.1.4]# yum install firewall*
(6)在防火墙中打开 http 端口
[root@seiang nagios-plugins-2.1.4]# firewall-cmd –add-service=http (临时打开)
[root@seiang nagios-plugins-2.1.4]# firewall-cmd –permanent –add-service=http(写入配置文件)
[root@seiang nagios-plugins-2.1.4]# firewall-cmd –reload (重启防火墙)
(7)启动 nagios 服务
[root@seiang ~]#/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
(8)在浏览器上访问链接http://10.1.1.66/nagios,输入登陆名和密码,如果能够正常看到页面,证明主程序和插件都安装和配置成功,如下图所示:
点击 “Host” 的链接来查看你本机的监视详情
点击 “Service” 的链接来查看你本机的监视详情。此时可能需要给点时间让 Nagios 来检测你机器上所依赖的服务。
注意:
上图中出现了一个处于 WARNING 状态的服务,所以我配置过的邮箱里已经收到了报警信息,如果你没有收到报警信息,此时检查你是否已经配置了接收报警信息的邮箱,同时检查是否被当做垃圾邮件而屏蔽了。
3.6安装nrpe
[root@seiang nagios]# tar -zxf nrpe-2.15.tar.gz
[root@seiang nrpe-2.15]# cd nrpe-2.15
[root@seiang nrpe-2.15]# ./configure –with-nrpe-user=nagios \
–with-nrpe-group=nagios \
–with-nagios-user=nagios \
–with-nagios-group=nagios \
–enable-command-args \
–enable-ssl
[root@seiang nrpe-2.15]# make all
[root@seiang nrpe-2.15]# make install-plugin
[root@seiang nrpe-2.15]# make install-daemon
[root@seiang nrpe-2.15]# make install-daemon-config
检查一下 /usr/local/nagios/libexec 目录下是否已经安装了 check_nrpe 插件
[root@seiang libexec]# ls | grep check_nrpe
check_nrpe
至此,监控主机已经完成了 nagios 的安装
四、远程主机安装
4.1配置运行环境
注意:规划中共有两台远程主机(10.1.1.55和10.1.1.58),所以两台远程主机都必须进行配置
(1)关闭防火墙:
[root@nagios-slave-55 ~]# systemctl stop firewalld.service
[root@nagios-slave-55 ~]# yum install gcc glibc glibc-common -y
[root@nagios-slave-55 ~]# yum install gd gd-devel openssl openssl-devel -y
[root@nagios-slave-55 ~]# yum install php php-gd perl net-tools -y
4.2安装nagios-plugin
(1)先添加 nagios 用户
[root@ nagios-slave-55 ~]# useradd -s /sbin/nologin nagios #禁止 nagios 用户登录
(2)NRPE依赖于nagios-plugins,因此,需要先安装
进入到 /software/nagios 目录下开始执行下面开始安装
[root@ nagios-slave-55 nagios]# tar -zxf nagios-plugins-2.0.3.tar.gz
[root@ nagios-slave-55 nagios]# cd nagios-plugins-2.1.4
[root@nagios-slave-55 nagios-plugins-2.1.4]# ./configure–with-nagios-user=nagios –with-nagios-group=nagios
[root@nagios-slave-55 nagios-plugins-2.1.4]# make all
[root@nagios-slave-55 nagios-plugins-2.1.4]# make install
4.3安装nrpe
(1)进入到 /software/nagios 目录下开始执行下面的命令
[root@ nagios-slave-55 nagios]# tar -zxf nrpe-2.15.tar.gz
[root@ nagios-slave-55 nagios]# cd nrpe-2.15
[root@ nagios-slave-55 nrpe-2.15]#./configure –with-nrpe-user=nagios \
–with-nrpe-group=nagios \
–with-nagios-user=nagios \
–with-nagios-group=nagios \
–enable-command-args \
–enable-ssl
[root@ nagios-slave-55 nrpe-2.15]# make all
[root@ nagios-slave-55 nrpe-2.15]# make install-plugin
[root@ nagios-slave-55 nrpe-2.15]# make install-daemon
[root@ nagios-slave-55 nrpe-2.15]# make install-daemon-config
[root@ nagios-slave-55 nrpe-2.15]# ls /usr/local/nagios/libexec/ #如果安装成功里面有好多 NRPE 的插件
注意是否有 check_nrpe 这个插件(没有的话就说明了 nrpe 没有安装成功)
4.4 启动 nrpe
(1)用命令启动 nrpe
[root@ nagios-slave-55 ~]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d #这条命令启动nrpe
(2)如果要重启 nrpe,先执行命令:
[root@ nagios-slave-55 ~]# pkill nrpe #关闭nrpe
[root@ nagios-slave-55 ~]# netstat -lntp #这条命令用来检查端口,看 5666 端口是否已经被关闭
[root@ nagios-slave-55 ~]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
#重启 nrpe 进程
(3)检查 5666 端口是否成功启动
[root@ nagios-slave-55 ~]# netstat -tnlp
5666端口已经成功启动
(4)在 /usr/local/nagios/etc/nrpe.cfg 文件中添加监控主机的 ip 地址
[root@ nagios-slave-55 etc]# vi nrpe.cfg +81
将 allowed_hosts=127.0.0.1 修改为 allowed_hosts=127.0.0.1,10.1.1.55(这是监控主机的ip 地址,本机的 ip 地址为10.1.1.55)
(5)重启nrpe
[root@localhost ~]#pkill nrpe
[root@localhost ~]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d
(6)在监控主机上(ip地址为10.1.1.66)输入下面的命令来检查两个机器之间是否成功通信
[root@seiang ~]# cd /usr/local/nagios/libexec/
[root@seiang libexec]# ./check_nrpe -H 10.1.1.55
NRPE v2.15 #通信成功
至此,远程主机安装 nagios 完毕
五、监控主机安装PNP
温馨提醒:看清楚你要安装的 pnp4nagios 的版本,因为 0.4 和0.6的配置方式是不一致的
5.1配置开发环境
[root@seiang ~]# yum install rrdtool librrds-perl –y
5.2安装pnp4nagios
这里我的 pnp 的版本号为0.6
(1)进入到 /software/nagios 目录下开始执行下面的命令
[root@seiang src]# tar -zxvf pnp4nagios-0.6.25.tar.gz
[root@seiang src]# cd pnp4nagios-0.6.25
[root@seiang pnp4nagios-0.6.25]# ./configure –with-nagios-user=nagios –with-nagios-group=nagios
[root@seiang pnp4nagios-0.6.25]# make all
[root@seiangpnp4nagios-0.6.25]# make install
[root@seiang pnp4nagios-0.6.25]# make install-webconf
[root@seiang pnp4nagios-0.6.25]# make install-config
[root@seiang pnp4nagios-0.6.25]# make install-init
[root@seiang pnp4nagios-0.6.25]# cd ./sample-config
[root@seiang sample-config]# make install-webconf
5.3配置pnp4nagios
(1)基本配置
[root@ seiang pnp4nagios-0.6.25]# cd /usr/local/pnp4nagios/etc/
[root@ seiang etc]# mv misccommands.cfg-sample misccommands.cfg
[root@ seiang etc]# mv rra.cfg-sample rra.cfg
[root@ seiang etc]# mv nagios.cfg-sample nagios.cfg
[root@ seiang etc]# cd pages/
[root@ seiang pages]# mv web_traffic.cfg-sample web_traffic.cfg
[root@ seiang pages]# cd ../check_commands/
[root@ seiang check_commands]# mv check_all_local_disks.cfg-sample check_all_local_disks.cfg
[root@ seiang check_commands]# mv check_nrpe.cfg-sample check_nrpe.cfg
[root@ seiang check_commands]# mv check_nwstat.cfg-sample check_nwstat.cfg
[root@ seiang check_commands]# /etc/init.d/npcd start
[root@ seiang check_commands]# chkconfig npcd on
(2)配置 Nagios 数据输出接口 ( 以BULK模式运行)
[root@seiang ~]# vi /usr/local/nagios/etc/nagios.cfg
process_performance_data=1 #默认为0,修改为1
并在该文件中添加下面的内容
(3)配置command.cfg
[root@seiang ~]# vi /usr/local/nagios/etc/objects/commands.cfg
在该文件中添加下面的内容 define command{ command_name process-service-perfdata-file command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl –bulk=/usr/local/pnp4nagios/var/service-perfdata } define command{ command_name process-host-perfdata-file command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl –bulk=/usr/local/pnp4nagios/var/host-perfdata } |
(4)在模板配置文件中添加图表图标模板:
[root@seiang ~]# vi /usr/local/nagios/etc/objects/templates.cfg
在该文件中添加下面的内容 define host { name host-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_ register 0 }
define service { name service-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$ register 0 } |
(5)在监控主机和服务中调用图表模板(在主机和服务后面添加新的模板):
[root@seiang ~]# vi /usr/local/nagios/etc/objects/localhost.cfg
按下面的内容 修改(不是添加)该文件 define host{ use linux-server,host-pnp host_name localhost alias localhost address 127.0.0.1 } define service{ use local-service,service-pnp host_name localhost service_description PING check_command check_ping!100.0,20%!500.0,60% } define service{ use local-service,service-pnp host_name localhost service_description Root Partition check_command check_local_disk!20%!10%!/ } …(共 8 处修改) |
配置 Nagios 数据输出接口 ( 以BULK模式运行 ) 详情参考官网https://docs.pnp4nagios.org/pnp-0.6/config#bulk_mode
六、图表展示
(1)重启 nagios 和apache
[root@seiang~]# systemctl restart nagios.service
[root@seiang ~]# systemctl restart httpd.service
(2)访问 nagios 界面即可看到图表小图标:
点击图标会显示 pnp4nagios 测试页面:全是绿色代表配置正常,如果不是全绿,要逐个解决错误。然后移除或修改 install.php 文件:
[root@seiang ~]# rm -rf /usr/local/pnp4nagios/share/install.php
再次点击图标就会显示当前监控服务由 pnp4nagios 生成的图表了:
至此,nagios监控主机的出图配置已经全部完成。
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/143886.htm