Nagios监控服务器与客户端的安装

运维 系统运维
Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态。本文详解了Nagios监控服务器与客户端的安装方法。

Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。

 

一、Nagios的主要功能特点:

  • 监视网络服务 (SMTP, POP3, HTTP, NNTP, PING等) 
  • 监视主机资源 (进程, 磁盘等) 
  • 简单的插件设计可以轻松扩展Nagios的监视功能 
  • 服务等监视的并发处理

 

准备软件包: 

  • Nagios Core    nagios-3.2.2.tar.gz 
  • Nagios Plugins nagios-plugins-1.4.15.tar.gz 
  • Nagios Addons  nrpe-2.12.tar.gz 

二、服务器端安装 

 

 

查看安装服务器环境(LAMP) 
#rpm -qa | grep httpd 
#rpm -qa | grep php 
没有的话安装 
# yum -y install gcc glibc glibc-common gd gd-devel php openssl-devel httpd 
创建用户: 
# useradd -m -s /bin/bash nagios 
# groupadd nagios 
# usermod -G nagios nagios 
# vi /etc/passwd 
nagios:x:500:500::/home/nagios:/sbin/nologin 
改成: 
nagios:x:500:500::/home/nagios:/bin/bash 
创建一个用户组名为nagcmd 用于从Web接口执行外部命令。将nagios用户和apache用户都加到这个组中。 
因为要用到 CGI 的 Web 监控面板,所以这里我们还要添加一个 nagcmd 组,用于 CGI 执行相关指令。 
# /usr/sbin/groupadd nagcmd 
# /usr/sbin/usermod -G nagcmd nagios 
# /usr/sbin/usermod -a -G nagcmd daemon (因为是编译方式安装的apache,默认是以daemon用户运行) 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.

下载相关的软件包,服务器端需要安装以下三个包,客户端只需要安装后两个插件包:

[root@server ~]#cd /usr/local/src/tarbag/ 
[root@server tarbag]#wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.2.tar.gz 
[root@server tarbag]#wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz 
[root@server tarbag]#wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz 
  • 1.
  • 2.
  • 3.
  • 4.

解压并编译安装Nagios:

# tar xvzf nagios-3.2.2.tar.gz 
# cd nagios-3.2.2     
  • 1.
  • 2.

运行Nagios配置脚本并使用先前开设的用户及用户组:

# ./configure --prefix=/usr/local/nagios --with-command-group=nagcmd 
  • 1.

编译Nagios程序包源码:

# make all 
  • 1.

安装二进制运行程序、初始化脚本、配置文件样本并设置运行目录权限:

# make install 
# make install-init          //在/etc/rc.d/init.d安装启动脚本 
# make install-config       //安装示例配置文件,安装的路径是/usr/local/nagios/etc 
# make install-commandmode        //配置目录权限 
#ls /usr/local/nagios/ 
bin etc libexec sbin share var 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

三、对nagios进行配置

样例配置文件默认安装在这个目录下/usr/local/nagios/etc,这些样例文件可以配置Nagios使之正常运行,只需要做一个简单的修改...
用你擅长的编辑器软件来编辑这个/usr/local/nagios/etc/objects/contacts.cfg配置文件,更改email地址nagiosadmin的联系人定义信息中的EMail信息为你的EMail信息以接收报警内容。

vi /usr/local/nagios/etc/objects/contacts.cfg 
  • 1.

1、安装nagios插件

#cd ../ 
#tar zxvf nagios-plugins-1.4.16.tar.gz   
#cd nagios-plugins-1.4.16 
#./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios/   //指定安装目录及用户和组 
#make;make install 
配置httpd 
生成Nagios的Apache配置文件 
# cd nagios-3.2.2 
# make install-webconf 
  /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/httpd/conf.d/nagios.conf 
# cd sample-config 
参考sample-config/httpd.conf配置内容添加到Apache的httpd.conf配置文件中 
创建一个nagiosadmin的用户用于Nagios的Apache接口登录。记下你所设置的登录口令,一会儿你会用到它。 
# ./htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin 
密码:nagiosmonitor 
重启Apache服务以使设置生效。 
安装NRPE插件,想获取客户机上更为详细的信息,还必须在服务器及客户端上安装NRPE插件。 
#cd .. 
#tar zxvf nrpe-2.14.tar.gz 
#cd nrpe-2.14 
#./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios/ 
# make all 
# make install-plugin;make install-daemon;make install-daemon-config 
# ls /usr/local/nagios/libexec/  
check_apt check_ftp check_mailq check_overcr check_tcp ....... 
验证Nagios的样例配置文件 
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 
如果没有报错,可以启动Nagios服务 
启动httpd及nagios服务并验证 
#chkconfig --add nagios   //设置nagios及http开机自启动 
#chkconfig nagios on 
#chkconfig httpd on 
#service nagios start 
#service httpd start 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.

2、客户端安装

#useradd -s /sbin/nologin nagios //添加nagios用户 
安装nagios-plugins 
# tar -zxvf nagios-plugins-1.4.15.tar.gz 
# cd nagios-plugins-1.4.15 
# ./configure --prefix=/usr/local/nagios 
# make 
# make install 
# chown nagios.nagios /usr/local/nagios/ 
# chown -R nagios.nagios /usr/local/nagios/libexec/ 
安装nrpe插件 
# tar -zxvf nrpe-2.12.tar.gz 
# cd nrpe-2.12 
# ./configure --prefix=/usr/local/nagios/  
# make all 
# make install-plugin   安装check_nrpe这个插件 
# make install-daemon    安装daemon 
# make install-daemon-config   安装配置文件 
如果安装时报错:checking for SSL headers... configure: error: Cannot find ssl headers 
# rpm -qa|grep openssl 
openssl-devel-0.9.8e-12.el5_4.6 
openssl-0.9.8e-12.el5_4.6 
yum install openssl-devel 
或者下载:http://www.openssl.org/source/ 
tar zxvf openssl-1.0.0a.tar.gz 
cd openssl-1.0.0a 
./config 
make 
make test 
make install 
修改客户端配置文件 
vi /usr/local/nagios/etc/nrpe.cfg 
server_port:5666 
allowed_hosts=127.0.0.1,192.168.1.95   //添加服务器端的IP地址 
指定nagios监控主机ip,多个ip用逗号分隔,后面的IP地址,是nagios服务端的ip地址,也就是说只允许指定的ip通过nrpe开的端口5666取得本机的信息。 
然后修改nrpe.cfg中的command部分。 
启动NRPE守护进程:(可以将此命令加入/etc/rc.local,以便开机自动启动) 
#/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d 
可以将此命令加入/etc/rc.local,以便开机自动启动 
echo "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d" >> /etc/rc.local 
#netstat -utpln |grep nrpe        //查看nrpe进程是否已正常启动 
#/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 NRPE v2.14    //nrpe测试结果,此结果为nrpe已经正常工作了 
然后在nagios监控服务器上测试 
#/usr/local/nagios/libexec/check_nrpe -H 192.168.1.77  //被监控主机ip 
返回信息被监控服务器上安装的NRPE版本:NRPE v2.12 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.

3、定义监控内容

# vi /usr/local/nagios/etc/nrpe.cfg   //定义监控服务器内容 
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10 #监控登陆的用户数量 
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 #监控CPU的负载 
command[check_sda2]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda2 #监控磁盘利用率,这里的sda2必须是实际的硬盘分区,可使用fdisk –l查 
command[check_swap]=/usr/local/nagios//libexec/check_swap -w 20 -c 10 #监控交换空间  command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z #监控进程中的僵尸进程 
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200 #监控所有进程 
注意:command后面括号中的内容就是定义的变量,变量名可以任意指定,只需和服务器配置文件中的一致即可 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

 

责任编辑:黄丹 来源: 博客
相关推荐

2011-04-06 14:24:21

Nagios监控Linux

2011-03-21 14:53:27

Nagios监控Linux

2011-04-06 14:24:20

Nagios监控Linux

2011-03-21 14:53:36

Nagios监控Linux

2011-03-25 14:25:38

NagiosWindows监控

2011-03-21 14:53:27

Nagios监控Linux

2011-03-25 12:50:29

nagios安装

2011-04-06 14:24:27

Nagios监控Linux

2011-03-23 13:29:46

Debian安装Nagios

2018-12-18 10:47:37

2018-07-17 09:59:10

PythonUDP服务器

2019-08-28 15:19:15

PythonTCP服务器

2011-03-24 13:00:31

配置nagios客户端

2009-08-18 12:51:19

服务器+客户端

2010-10-26 13:54:45

连接Oracle服务器

2024-02-22 13:47:40

2011-03-25 14:40:33

Nagios监控

2011-04-06 14:24:18

2011-06-09 10:51:26

Qt 服务器 客户端

2011-03-23 10:17:26

点赞
收藏

51CTO技术栈公众号