Linux下Nagios安装配置详解

控对于对于系统管理人员的日常运维工作来说是非常重要的,而比较知名的开源监控软件有Ganglia、Cacti、Nagios、Zabbix等等,而本次就简单的说下Nagios的安装部署,因为Nagios是基于web页面查看管理的,那可以选用lamp或者是lnmp这些比较容易实现的web系统框架来实现即可,Nagios的官网是:https://www.nagios.org/downloads/,当然下载版本建议用最新的稳定版。Nagios的监控实现是由各个插件来完成的它本身是没有监控功能的,所以Nagios使用非常灵活,而在需要监控不同的平台主机、硬件时用不同的插件,下面从网页上找的一张图能很好的说明:

从图中得知Nagios监控中的插件SNMP在不同平台的主机、硬件上都有用到,而Linux中有send-nsca和NRPE一般我们常用的是NRPE,监听的是tcp的5666端口;而在Windows主机上使用的是NSClient++,监听的是12489和5666端口,这一点很重要做为被监控的主机上一定要开放这些端口。

在安装Nagios之前需要先安装Nagios的监控主机(server端),然后再到被监控主机(clinet端)上安装相应的插件。

1、server端:
在安装之前先要检查依赖包
[root@localhost ~]# yum -y groupinstall "Development Tools" "Development Libraries"#在配置好yum源的主机上,先检查下开发包组是否安装
[root@localhost ~]# yum -y install httpd php php-mysql gd gd-devel sendmail openssl-devel#这里是测试就没有用编译包的php和apache,一般来说建议使用编译包

在依赖关系解决后就开始正常的Nagios安装,先安装Nagios的核心引擎和web页面

到此nagios的核心引擎和基本web页面就已经安装完毕,在此直接启动httpd后使用浏览器测试下

此时的Nagios是不具备任何监控功能,因为这台Nagios主机是Linux服务器,所以监控插件在这里选比较常用的nrpe,在安装nrpe之前要先安装好Nagios的插件plugins
[root@localhost nagios-4.3.1]# cd ../nagios-plugins-2.1.4
[root@localhost nagios-plugins-2.1.4]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
[root@localhost nagios-plugins-2.1.4]# make && make install
[root@localhost nagios-plugins-2.1.4]# chkconfig --add nagios#添加Nagios的服务
[root@localhost nagios-plugins-2.1.4]# chkconfig nagios on#Nagios开机自启动
[root@localhost nagios-plugins-2.1.4]# /etc/init.d/nagios start
[root@localhost nagios-plugins-2.1.4]# getenforce#此处要注意的是要检查是否服务器上有开启selinux,如果有开启要选择关闭吧或者在selinux中添加nagios的相应文件到可以执行的标签中
Enforcing
[root@localhost nagios-plugins-2.1.4]# chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
[root@localhost nagios-plugins-2.1.4]# chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

此时在server端上的Nagios的插件就已经安装完毕,此时便可以安装Nagios的nrpe插件
[root@localhost nagios-plugins-2.1.4]# cd ../nrpe-3.0.1/
[root@localhost nrpe-3.0.1]# ./configure --with-nrpe-user=nagios --with-nrpe-group=nagios --with-nagios-user=nagios --with-nagios-group=nagios --enable-command-args --enable-ssl --sysconfdir=/etc/nagios
[root@localhost nrpe-3.0.1]# make all && make install-plugin

这样在server端上的Nagios就已经安装部署完毕,此时Nagios已经可以自行监控本机。

2、clinet端:
此处的客户端为了快速简单的部署实现,在这里就用另外一台Linux服务器来搭建。同理,在Nagios的client端下也要添加相应的用户。当然,也要先安装好Nagios的插件

在安装好后做一些基本的验证,这里要注意的是这些验证需要在监控server主机上做,被监控主机需要开启5666端口

这样Nagios的安装就完成了,而Nagios的家目录或文件的含义也很简单,如下:

目录 解释
bin Nagios的二进制文件的目录
sbin Nagios CGI 文件所在目录,也就是执行外部命令所需文件所在的目录
share Nagios网页文件所在的目录,建议这里去找一下中文的资料便于查阅
libexec Nagios 外部插件所在目录
var Nagios 日志文件、lock 等文件所在的目录
var/archives Nagios 日志自动归档目录
var/rw 用来存放外部命令文件的目录

当然我这里是指定Nagios的配置文件路径在/etc/nagios路径下,如果没有指定的话默认缺省是在Nagios的家目录下,而配置的一些文件或目录的含义也很简单,关系如下:

文件名或目录名 用途
cgi.cfg 控制CGI访问的配置文件
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 主机的一个配置文件模板,默认没有启用此文件

在此时Nagios还是不能用的还有一些基础配置需要修改才能正常的使用,在server端进入sysconfigdir目录,先要根据实际情况修改一下commandss.cfg文件,添加以下内容:

像这样就是没有报错的,再重启下Nagios就可以了,这样基本的Nagios的安装就完毕了,这里需要注意的是在Nagios的server端需要开启80、443端口用于Web管理页面的正常浏览,当然这也是一些基本的配置部署,如果要实现更多的功能还需要进一步的修改配置文件。

Nagios 的详细介绍请点这里
Nagios 的下载地址请点这里

猜你喜欢

转载自www.linuxidc.com/Linux/2017-05/144032.htm
今日推荐