nagios监控Linux和Unix服务器(ubuntu服务器安装实例)
本文讲述的是—Nagios监控Linux和Unix服务器:
监控原理
3.安装步骤
配置环境 ubuntu 8.0
a.前提条件
在Linux服务器上具有root权限
允许建立nagios帐号让远程访问
安装以下包
apt-get install gcc
apt-get install build-essential
apt-get install libssl0.9.8
apt-get install libssl-dev
apt-get install openssl
b.远程主机配置
创建账户nagios并设定密码
useradd nagios
password nagios
下载nagios的插件资料,解包安装
下载
解开nagios plugins的源代码包
tar xzvf nagios-plugins-1.4.6.tar.gz
cd nagios-plugins-1.4.6
编译安装nagios plugins
- ./configura
- make
- make install
改变安装目录和文件的用户和组属性
- chown nagios.nagios /usr/local/nagios
- chown -R nagios.nagios /usr/local/nagios/libexec
c.安装NRPE
下载NRPE插件
解压缩NRPE源代码
tar -zxvf nrpe-2.8.tar.gz
编译NRPE
- ./configure
- make all
注意事项: 在ubuntu下面安装时,需要先确认安装了openssl libssl0.9.8 libssl-dev
安装NRPE插件、进程程序和案例进程
- make install-plugin
- make install-daemon
- make install-daemon-config
安装NRPE到xinet服务中
- make install-xinetd
编辑/etc/xinetd.d/nrpe 将nagios的服务器ip添加进去
- only_from= 127.0.0.1
将NRPE进程端口加到/etc/services中
nrpe 5666/tcp
重新启动xinetd服务
- service xinetd restart
d. 测试NRPE是否正常
确认nrpe是否在xinetd下运行
- netstat -at |grep nrpe
如果反馈的是以下信息,则表示运行正常。
- tcp 0 0 *:nrpe *:* LISTEN
没有出现以上信息,则从下面找问题
确认/etc/services中是否添加nrpe的端口描述
在/etc/xinetd.d/nrpe文件中的only_from参数是否包含了"127.0.0.1"
确认xinetd.d是否安装和启动
查看系统日志中涉及xinetd或nrpe的问题,进行修正
确认NRPE进程是否正常运行,利用check_nrpe来做检测,执行指令如下:
- /usr/local/nagios/libexec/check_nrpe -H localhost
正常反馈信息为 NRPE v2.8
e.客制化NRPE指令
编辑/usr/local/nagios/etc/nrpe.cfg
在***的COMMAND部分已经定义了部分监测的指令,你可以根据实际情况进行添加修改参数。
同时,可以用以下指令检测nrpe调用nagios插件是否正常
- /usr/local/nagios/libexec/check_nrpe -H localhost -c check_users
- /usr/local/nagios/libexec/check_nrpe -H localhost -c check_load
- /usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1
- /usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs
- /usr/local/nagios/libexec/check_nrpe -H localhost -c check_zombie_procs
f.监控服务器设置
需要完成内容包括
安装check_nrpe 插件
创建一个Nagios使用check_nrpe插件的指令定义
创佳监控远程主机的Nagios主机和服务定义
安装check_nrpe插件步骤
安装ssl的包
apt-get install libssl-dev
下载nrpe源码包
解压缩该包 tar -zxvf nrpe-2.*.tar.gz
- cd nrpe-2.*
- ./configure
- make all
安装check_nrpe程序到/usr/local/nagiso/libexec/
- make install-plugin
测试与被监控主机的nrpe程序的通信状况
先编辑被监控主机的/etc/xinetd.d/nrpe中的only_from的参数为监控服务器的ip
重新启动xinetd的服务 service xinetd restart
在监控服务器上,运行 /usr/local/nagios/libexec/check_nrpe -H 被监控主机IP
正常反馈信息如下:
NRPE v2.8
如果有问题,用telnet IP地址 5666检测一下。如果被直接connection closed,则需要查看一下防火墙的规则和被监测主机的nrpe的进程
创建command定义
编辑/usr/local/nagios/etc/objects/commands.cfg增加以下配置信息
- define command{
- command_name check_nrpe
- command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
- }
定义主机和服务设定
先建立一个模板用于之后的主机监控的继承设定(在/usr/local/nagios/etc/objects/templates.cfg已经有添加了这个模板规则,只是notification_period不一样而已,关于这个的解释也非常有意思可以自己看看)
- define host{
- name linux-server ; Name of this template
- use generic-host ; Inherit default values
- check_period 24x7
- check_interval 5
- retry_interval 1
- max_check_attempts 10
- check_command check-host-alive
- notification_period 24x7
- notification_interval 30
- notification_options d,r
- contact_groups admins
- register 0 ; DONT REGISTER THIS - ITS A TEMPLATE
- }
编辑/usr/local/nagios/etc/objects/localhost.cfg(也可以自己创建文件,只要在nagios.cfg中添加对应配置)
增加被监控的主机对象
- define host{
- use linux-server
- host_name web-server ;nrpe check host
- alias ubuntu server (WWW)
- address 192.168.200.244
- }
增加监控远程服务器的服务对象
- define service{
- use generic-service
- host_name web-server
- service_description CPU Load
- check_command check_nrpe!check_load
- }
- define service{
- use generic-service
- host_name web-server
- service_description Current Users
- check_command check_nrpe!check_users
- }
磁盘监控需要确认自己的硬盘是hda 还是sda,nrpe安装的默认配置是check_hda1,所以需要你手动修改被监控服务器的/usr/local/nagios/etc/nrpe.cfg,将hda修改为sda。并重新启动xinetd服务
- define service{
- use generic-service
- host_name web-server
- service_description /dev/sda1 Free Space
- check_command check_nrpe!check_sda1
- }
- define service{
- use generic-service
- host_name web-server
- service_description Total Processes
- check_command check_nrpe!check_total_procs
- }
- define service{
- use generic-service
- host_name web-server
- service_description Zombie Processes
- check_command check_nrpe!check_zombie_procs
- }
配置完成后,运行/etc/init.d/nagios checkconfig 或
- /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
检测nagios配置是否正确。
没有问题,重新启动nagios服务,则可以通过网页来查看监控结果了。
【编辑推荐】