nagios学习笔记

来源:互联网 发布:js pdf 插件 编辑:程序博客网 时间:2024/06/06 09:04

环境准备

因为nagios需要运行在LAMP环境下,为方便快捷,选择yum安装

yum -y install gcc glibc glibc-common gd gd-devel php openssl-devel httpd

网络查找nagios所需要的安装包、插件包:

创建用户

useradd -m -s /bin/bash nagiosusermod -G nagios nagiosusr/sbin/groupadd nagcmd/usr/sbin/usermod -G nagcmd nagios

编译安装nagios

tar xvzf nagios-3.5.1tar.gzcd Nagios./configure --prefix=/usr/local/nagios --with-command-group=nagcmdmake all    编译nagios程序包源码make install 安装二进制运行程序make install-init   初始化脚本make install-config     配置文件样本make install-commandmode 设置运行目录权限

安装完成之后会发现/usr/local/nagios目录下产生若干目录

配置nagios

修改配置文件/usr/local/nagios/etc/objects/contacts.cfg,更改email地址和联系人等基本信息。

安装nagios插件

tar xf nagios-plugins-1.4.16.tar.gzcd nagios-plugins-1.4.16./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios/make;make install

安装完成会在/usr/local/nagios下产生一个libexec目录

配置Apache

生成nagios的Apache配置文件

cd ~/nagios/nagiosmake install-webconf/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/httpd/conf.d/nagios.conf

将sample-config/httpd.conf文件中内容粘贴到/etc/httpd/conf/httpd.conf文件中

创建nagiosadmin用户用于nagios的Apache接口登录

 htpasswd -c /usr/local/nagios/etc/htpasswd.users ranphy

配置完成重启Apache使其生效

安装NRPE插件

想获取客户机上更为详细的信息,还必须在服务器及客户端上安装NRPE插件。

tar zxvf nrpe-2.14.tar.gzcd nrpe-2.14./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios/make allmake install-plugin;make install-daemon;make install-daemon-configls /usr/local/nagios/libexec/|grep check_nrpe

验证Nagios的样例配置文件

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

如果没有报错,可以启动Nagios服务

启动httpd及nagios服务并验证

#chkconfig --add nagios   
#chkconfig nagios on#chkconfig httpd on#service nagios start#service httpd start

安装客户端

客户端需要安装nagios-plugin和nrpe两个插件,安装完插件之后修改客户端配置文件

vi /usr/local/nagios/etc/nrpe.cfgserver_port:5666allowed_hosts=127.0.0.1,192.168.1.95

指定nagios监控主机ip,多个ip用逗号分隔,后面的IP地址,是nagios服务端的ip地址,也就是说只允许指定的ip通过nrpe开的端口5666取得本机的信息。

然后启动NRPE守护进程(可以将此命令加入/etc/rc.local,以便开机自动启动)

#/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
#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

定义NRPE监控内容

# 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后面括号中的内容就是定义的变量,变量名可以任意指定,只需和服务器配置文件中的一致即可

添加监控主机

如果服务器数量较少,可以在object目录下创建一个services.cfg文件,如果服务器数量很多,就在object目录下创建一个service目录,将所有需要监控的服务器监控文件放在该目录下。

在此先在services.cfg中新建被监控主机:

define service {use     generic-servicehost_name   nagiosservice_description Current Loadcheck_command   check_nrpe!check_loadmax_check_attempts  2normal_check_interval   4retry_check_interval    4check_period    24x7notification_interval   1440notification_period 24x7notification_options    w,u,c,rcontact_groups  adminsprocess_perf_data   1}define host{use     linux-serverhost_name       192.168.164.141alias           192.168.164.141address         192.168.164.141}define service{use     generic-servicehost_name       192.168.164.141service_description     check_pingcheck_command           check_ping!100.0,20%!200.0,50%max_check_attempts 5normal_check_interval 1}define service{use     generic-servicehost_name       192.168.164.141service_description     check_ftpcheck_command           check_ftp!21max_check_attempts 5normal_check_interval 1}define service{use     generic-servicehost_name       192.168.164.141service_description     check_sshcheck_command           check_sshmax_check_attempts 5normal_check_interval 1}define service{use     generic-servicehost_name       192.168.164.141service_description     check_httpcheck_command           check_httpmax_check_attempts 5normal_check_interval 1}

定义完被监控主机之后检查配置文件是否出错:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

如果没有错误就可以重启服务    service nagios restart

打开nagios主页如果发现如下错误:
it appears as though you donot have permission to view。。。。。

原因:登录web端的用户没有被许可查看这些服务器

解决办法:更改cgi.cfg中authorized选项

grep ^"authorized_for" cgi.cfgsed -i "s#nagiosadmin#ranphy#g" cgi.cfg

更改之后重启服务即可看到被监控的主机状态。

0 0
原创粉丝点击