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端:

在安装之前先要检查依赖包

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

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

[[email protected] ~]# groupadd -r nagcmd#添加nagcmd组
[[email protected] ~]# useradd -M -G nagcmd -r -s /sbin/nologin nagios
[[email protected] ~]# passwd nagios
[[email protected] ~]# usermod -a -G nagcmd apache#把nagcmd组附属在apache组
[[email protected] ~]# cd /usr/local/src/nagios-4.3.1
[[email protected] nagios-4.3.1]# ./configure --sysconfdir=/etc/nagios --prefix=/usr/local/nagios --with-command-group=nagcmd --enable-event-broker
[[email protected] nagios-4.3.1]# make all && make install
[[email protected] nagios-4.3.1]# make install-init && make install-commandmode && make install-config#添加相应的插件
[[email protected] nagios-4.3.1]# vim /etc/nagios/objects/contacts.cfg#修改邮件接收人的配置文件,在此就不做过多的说明,配置文件的注释里都有,主要改的就是邮箱地址
[[email protected] nagios-4.3.1]# make install-webconf#配置web配置文件
[[email protected] nagios-4.3.1]# htpasswd -c /etc/nagios/htpasswd.users nagiosadmin#配置Nagios的页面密码
New password: 
Re-type new password: 
Adding password for user nagiosadmin

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

此时的Nagios是不具备任何监控功能,因为这台Nagios主机是Linux服务器,所以监控插件在这里选比较常用的nrpe,在安装nrpe之前要先安装好Nagios的插件plugins

[[email protected] nagios-4.3.1]# cd ../nagios-plugins-2.1.4
[[email protected] nagios-plugins-2.1.4]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
[[email protected] nagios-plugins-2.1.4]# make && make install
[[email protected] nagios-plugins-2.1.4]# chkconfig --add nagios#添加Nagios的服务
[[email protected] nagios-plugins-2.1.4]# chkconfig nagios on#Nagios开机自启动
[[email protected] nagios-plugins-2.1.4]# /etc/init.d/nagios start
[[email protected] nagios-plugins-2.1.4]# getenforce#此处要注意的是要检查是否服务器上有开启selinux,如果有开启要选择关闭吧或者在selinux中添加nagios的相应文件到可以执行的标签中
Enforcing
[[email protected] nagios-plugins-2.1.4]# chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
[[email protected] nagios-plugins-2.1.4]# chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

此时在server端上的Nagios的插件就已经安装完毕,此时便可以安装Nagios的nrpe插件

[[email protected] nagios-plugins-2.1.4]# cd ../nrpe-3.0.1/
[[email protected] 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
[[email protected] nrpe-3.0.1]# make all && make install-plugin

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

2、clinet端:

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

[[email protected] ~]# useradd -M -r -s /sbin/nologin nagios
[[email protected] ~]# cd /usr/local/src/
[[email protected] src]# cd nagios-plugins-2.1.4
[[email protected] nagios-plugins-2.1.4]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
[[email protected] nagios-plugins-2.1.4]# make all && make install

在插件安装完毕后开始安装nrpe

[[email protected] nagios-plugins-2.1.4]# cd ../nrpe-3.0.1/
[[email protected] 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
[[email protected] nrpe-3.0.1]# make all && make install-plugin
[[email protected] nrpe-3.0.1]# make install-daemon && make install-config && make install-init && make install-inet

到这里Nagios的nrpe部分就安装结束了,以下做一些基本配置

[[email protected] nrpe-3.0.1]# vim /etc/nagios/nrpe.cfg
…略…
allowed_hosts=192.168.218.128
#在这里的ip改成server端的Nagios的监听ip
…略…
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
#此处根据磁盘的实际使用的盘符情况修改
…略…
[[email protected] nrpe-3.0.1]# /etc/init.d/nrpe start

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

[[email protected] nrpe-3.0.1]# cd /usr/local/nagios/libexec/
[[email protected] libexec]# ./check_nrpe -H 192.168.218.129#检查被监控主机的IP,这样有打印出版本号就是正常的
NRPE v3.0.1

这样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文件,添加以下内容:

[[email protected] nagios]# vim objects/commands.cfg
define command{
        command_name    check_nrpe
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

在Nagios的默认配置文件下是没有Linux的配置文件所以如果是用于监控Linux主机,需要自行定义写配置文件,在此就用简单的写了一个Linux下使用的模板:

[[email protected] nagios]# vim objects/linux.cfg
define host{
        use             linux-server
        host_name       linuxhost
        alias           My linux Server
        address         192.168.218.129    ;这里填被监控主机的IP
        }

define service{
        use                     generic-service
        host_name               linuxhost
        service_description     CHECK_USERS
        check_command           check_nrpe!check_users
        }

define service{
        use                     generic-service
        host_name               linuxhost
        service_description     CHECK_LOAD
        check_command           check_nrpe!check_load
        }

define service{
        use                     generic-service
        host_name               linuxhost
        service_description     CHECK_SDA1
        check_command           check_nrpe!check_sda1
        }

define service{
        use                     generic-service
        host_name               linuxhost
        service_description     CHECK_ZOMBIE_PROCS
        check_command           check_nrpe!check_zombie_procs
        }

define service{
        use                     generic-service
        host_name               linuxhost
        service_description     CHECK_TOTAL_PROCS
        check_command           check_nrpe!check_total_procs
        }
[[email protected] nagios]# chown nagios:nagios linux.cfg#修改下配置文件的属组

在linux.cfg配置文件修改好后还需要 在nagios.cfg添加环境变量:

[[email protected] nagios]# vim nagios.cfg
…略…
cfg_file=/etc/nagios/objects/linux.cfg
…略…

正在修改后可以用Nagios的配置文件验证检查

[[email protected] nagios]# /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg
Nagios Core 4.3.1
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 02-23-2017
License: GPL

Website: https://www.nagios.org
Reading configuration data...
   Read main config file okay...
   Read object config files okay...

Running pre-flight check on configuration data...

Checking objects...
        Checked 13 services.
        Checked 2 hosts.
        Checked 1 host groups.
        Checked 0 service groups.
        Checked 1 contacts.
        Checked 1 contact groups.
        Checked 25 commands.
        Checked 5 time periods.
        Checked 0 host escalations.
        Checked 0 service escalations.
Checking for circular paths...
        Checked 2 hosts
        Checked 0 service dependencies
        Checked 0 host dependencies
        Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check
[[email protected] nagios]# /etc/init.d/nagios restart

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

时间: 2024-08-26 10:30:08

Nagios的安装的相关文章

Linux下Nagios的安装与配置[转]

一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios原名为NetSaint,由Ethan Galstad开发并维护至今.NAGIOS是一个缩写形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻译为圣徒

nagios配置安装

Nagios官网:https://www.nagios.org/ nagios重状态和结果,支持告警,没有数据历史,不用数据库,不成图像,不支持web配置,也可以自己开发脚本定制个性化的监控,支持多插件. 监控日志:log_file=/var/log/nagios/nagios.log Web访问原因:/etc/httpd/conf.d/nagios.conf yum nagios默认路径/etc/nagios,同时httpd.php被作为依赖安装 yum install -y nagios-p

Linux学习笔记:Nagios的安装

Nagios的官方Quickstart网址https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/quickstart-fedora.html 关于Nagios与其他服务器的关系图(最简单的描述) 之所以是最简单,是因为这里只是介绍最普遍的部署方式,还有一种集群模式这里暂不研究 方式一: 1)在Nagios服务器上部署Nagios Core套件 2)在Client端上安装Nagios Plugin套件和NRPE套件

Nagios服务器端安装部署详解(1)

下载地址如下: http://sourceforge.net/projects/nagios/files/ 具体详细下载地址:http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.6.tar.gz 1 开始下载: wget http://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.0.6/nagios-4.0.6.tar.gz/download?us

监控之nagios的安装部署(监控本机及其他主机的配置+警报机制的配置)

主机环境   redhat6.5 64位 实验环境   服务端1 ip 172.25.25.1            服务端2 ip 172.25.25.2 安装包     nagios-plugins-2.1.1.tar.gz   nagios-cn-3.2.3.tar.bz2 gd-devel-2.0.35-11.el6.x86_64.rpm nrpe-2.15.tar.gz 防火墙状态:关闭 Selinux状态:Disabled 1.安装nagios.监控本地及测试 A)配置安装nagio

Linux下Nagios的安装与配置

一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios原名为NetSaint,由Ethan Galstad开发并维护至今.NAGIOS是一个缩写形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻译为圣徒

nagios一键安装脚本

nagios具有非常强大的报警功能.还可以结合pnp实现时时绘制图形.可以根据自己的需求定义:nagios的脚控类型,可以说监控服务,nagios已经做到了无所不能:下面给出nagios的安装脚步.后期会慢慢更新如何编写脚步定义企业nagios监控系统:脚步的安装包是已经放到/usr/local/src目录下: 安装脚本.(LAMP环境已经安装好.)nagios最强大的就是开源功能,可以实现用编写nrpe脚本采集数据的方式进行监控报警,可以自己根据自己需求创建出一套自己的监控系统. yum -y

Linux6.5下Nagios的安装与配置

一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios原名为NetSaint,由Ethan Galstad开发并维护至今.NAGIOS是一个缩写形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻译为圣徒

nagios客户端安装:

nagios客户端安装: 环境准备和服务端相差无几,按照服务端的准备即可,但无需lamp 环境: !!!安装插件nagios-plugins-1.4.16.tar.gz .nrpe-2.12.tar.gz 与服务端一致 #安装一个系统性能的命令 yum install sysstat -y #安装监控的插件 tar zxf Params-Validate-0.91.tar.gz cd Params-Validate-0.91perl Makefile.PLmake make install ta

nagios一键安装脚本V1.0(客户端+服务端)

服务端脚本: #!//bin/bash #nagios一键安装脚本 path=`pwd` yum_user() { echo -e "\033[32m开始安装基础支持套件和添加用户......\033[0m" yum -y install httpd gcc glibc glibc-common gd gd-devel  if [ $? -ne 0 ] then    echo -e "\033[31mYUM安装失败!\033[0m"   exit 1 fi ech