nagios配置安装笔记

PS: 好吧,  弄了一整天终于把nagios全部配置完成了,先应用到内部的服务器,观察一段时间。
          决定记录下过程和心得。顺便说一句
          这东西确实麻烦,配置好了都不大能看得懂web界面信息,相当痛苦,慢慢来吧。
【nagios概述】
        Nagios是一个非常强大且柔性化的软件,但可能需要不少心血来学习如何配置使之
符合你所需,一旦掌握了它如何工作并怎样来工作时,你会觉得再也离不开它!
        Nagios可以监控主机硬件和软件的各种信息,实时监控系统服务的运行情况,对于系统
管理员来说是必备的软件。其中最强大的共更能是可以将报警信息通过发送邮件和短信的
方式发送给定义的管理员联系方式,非常方便。
        虽然nagios的功能非常强大,但是配置起来相当麻烦,我将尽可能完整的记录nagios
的配置过程,因为确实是复杂,不记录的话过几天就忘了。

【安装所需软件及环境】
由于我的系统是centos 5.7 所以下面所有配置全部是在centos中进行
从官网下载以下安装包
nagios-3.3.1.tar.gz                       nagios主程序
nagios-plugins-1.4.15.tar.gz     nagios插件
nrpe-2.12.tar.gz                             监控linux主机所需插件
       nagios的监控大部分要依靠nrpe等插件来完成,而且如果你不装web服务的话nagios
就是一堆日志,看起来没什么太大意义,那么apache+php的基础环境还是要安装好的
能源码编译安装更好,如果实在不行,yum 安装也可。

【安装过程】
一、安装nagios
先建立运行naigos的账号
#useradd nagios

# tar zxvf nagios-3.3.1.tar.gz
# cd nagios
# ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios   最好还是制定目录
# make all
# make install
# make install-commandmode
# make install-config
# make install-init
# make install-webconf

这里nagios的编译不同于其他的软件,需要好几步才能完成,我们来解释一下make这几步的意思
make install  安装主要的程序、CGI、HTML文件等等。
make install-commandmode 赋予外部命令访问nagios配置文件的权限
make install-config 将nagios的配置文件的例子复制到nagios的安装目录下
make install-init 将nagios做成一个运行脚本,放入init.d中,使nagios可以随系统的开机而启动
make install-webconf配置apache的web接口,如果运行出错,是因为你的apache是自己编译安装的
不是yum安装的,webconf生成的文件会放在/etc/httpd/conf.d/下,因为找不到这个目录,所以出错

全部编译安装完毕后
# ls /usr/local/nagios
bin  etc  include  libexec  share
查看是否有上述几个目录,如果存在说明nagios安装成功。
下面来说明这五个目录的功能:
bin          nagios执行程序所在目录,这个目录只有一个文件nagios
etc          nagios配置文件位置,初始安装完成后,只有几个*.cfg-sample文件
sbin        nagios  Cgi文件所在目录,也就是执行外部命令所需文件所在的目录
share     nagios网页文件所在的目录
var          nagios日志文件、spid等文件所在的目录

二、安装nagios插件
      插件对于nagios来说是非常重要的,插件的版本对于nagios主程序之间的关联并不大
各个版本基本都可以使用。
# tar zxvf nagios-plugins-1.4.15.tar.gz
# cd nagios-plugins
# ./configure --prefix=/usr/local/nagios   nagios-plugins是安装到nagios的主目录下的
# make
# make install
安装完成后/usr/local/nagios生成目录libexec,这就是nagios所需要的插件

检查工作:
再次检查nagios主目录的属主,一定要是nagios,不能是root
如果属主不正确
#chown -R nagios.nagios /usr/local/nagios
nagios的用户不需要登录shell 所以如果为了安全
vi /etc/passwd
nagios:x:500:500::/home/nagios:/bin/bash
修改为:
nagios:x:500:500::/home/nagios:/bin/nologin
那么nagios用户则不能够登录shell

【配置nagios】
一、配置apache
如果你是yum安装的apache,那么在nagios编译的过程中,运行的make install-webconf
会在/etc/httpd/conf.d/下生成nagios.conf 则已经自动配置了apache的nagios部分
如果你是编译安装的可以vi httpd.conf
修改apache的运行用户为nagios
use nagios
group nagios

在末尾加上
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"

<Directory "/usr/local/nagios/sbin">
#  SSLRequireSSL
   Options ExecCGI
   AllowOverride None
   Order allow,deny
   Allow from all
#  Order deny,allow
#  Deny from all
#  Allow from 127.0.0.1
   AuthName "Nagios Access"
   AuthType Basic
   AuthUserFile /usr/local/nagios/etc/htpasswd.users
   Require valid-user
</Directory>

Alias /nagios "/usr/local/nagios/share"

<Directory "/usr/local/nagios/share">
#  SSLRequireSSL
   Options None
   AllowOverride None
   Order allow,deny
   Allow from all
#  Order deny,allow
#  Deny from all
#  Allow from 127.0.0.1
   AuthName "Nagios Access"

上面文本的作用是对nagios的目录进行用户验证,只有合法的授权用户才可以访问nagios的页面文件
生成用户验证文件
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
命令交互执行需要输入2次密码,然后会再/usr/local/nagios/etc/htpasswd.users中写入一行字段是
刚才生成的用户名和密码
如需添加更多用户执行命令中去掉-c即可,否则会覆盖所有已经生成的行

配置完成后执行/usr/sbin/httpd -t 来验证apache 的配置文件压法
这里的httpd路径根据自己具体的路径来执行
#service httpd restart

在浏览器中输入nagios的访问地址: http://local/nagios
在登录框中输入你刚才设置的nagios用户和密码

二、配置nagios
我的nagios配置文件路径是/usr/local/nagios/etc
如果是nagios2.6版本以前,etc下的文件名都是cgi.cfg-sample类型
如果改名为cgi.cfg即可,2.6以后版本都不需要修改配置文件名
# /usr/local/nagios/bin/nagios -v /usr/local/nagos/etc/nagios.cfg 来验证程序能否正常运行
分析nagios的配置文件
# vi /usr/local/nagios/etc/localhost.cfg
把下面的几行注释去掉
cfg_file=/usr/local/nagios/etc/objects/contactgroups.cfg  //联系组配置文件路径
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg       //联系人配置文件路径
cfg_file=/usr/local/nagios/etc/objects/hostgroups.cfg     //主机组配置文件路径
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg          //主机配置文件路径
cfg_file=/usr/local/nagios/etc/objects/services.cfg       //服务配置文件路径
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg    //监视时段配置文件路径
将check_external_command=0修改为1 作用是允许执行web界面下重启nagios,停止主机/服务检查鞥操作
cgi.cfg文件 控制相关的cgi脚本
#vi /usr/local/nagios/etc/cgi.cfg
确保use_authentication=1
其中的各项authorized_for_都是定义登录的用户权限
全部设置为nagiosadmin即可,也可设置你自己htpasswd生成设置的用户名

objects目录下的配置文件如下:
commands.cfg  localhost.cfg  printer.cfg  templates.cfg    windows.cfg
contacts.cfg     switch.cfg   timeperiods.cfg
其中国
commands.cfg 是定义了各种命令的功能
localhost.cfg    是默认的主机监控策略
contacts.cfg     中定义了发送警报的方式和联系人信息
等等
很多配置文件都已经默认设置好了基础的监控行为,如果有需要可以随时更改

三、安装NRPE
# tar zxvf nrpe-2.12.tar.gz
# cd nrpe
# .configure
# make all
# make install-plugin

commands.cfg定义外部构建nrpe
# vi /usr/local/nagios/etc/objects/commands.cfg
#check nrpe
 
define command{
 
        command_name check_nrpe
 
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
 
        }
设置要监控的Linux主机
vi /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
设置localhost.cfg内容
vi /usr/loca/nagios/etc/objects/locaohost.cfg
address 修改为被监控的IP

其他设置:
chkconfig --add nagios  配置开机启动
chkconfig nagios on
/usr/loacal/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg  检查nagios配置文件
vi /etc/selinux/config 关闭SELINUX
SELINUX=disabled
service iotables stop
serivce nagios start

【配置被监控端】
一、安装nagios-plugin
# useradd nagios
# tar zxvf nagios-plugins-1.4.15.tar.gz
# cd nagios-plugins
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-redhat-pthread-workaround
# make
# make install
chown -R nagios.nagios /usr/local/nagios

二、安装被监控端nrpe
# tar zxvf nrpe-2.12.tar.gz
# cd nrpe
# .configure
# make all
# make install-plugin
# make install-daemon
# make install-daemon-config

配置nrpe
vi  /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=192.168.0.1,127.0.0.1
启动nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
也可讲其写入到/etc/rc.d/rc.local中开机运行

验证nrpe
# netstat -anpl |grep 5666
tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN      11750/nrpe    
# /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
NRPE v2.12

然后服务端测试
/usr/local/nagios/libexec/check_nrpe -H 被监控机IP
NRPE v2.12

配置监控对象(重要)
# 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
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/hda1
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[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
这一步是关键,如果nagios服务器想要监控客户机swap分区,但客户机nrpe.cfg文件
没有swap监控对像,这时监控服务器就是报错(NRPE command ‘check_swap’no defined).
平时自己写脚本,也是主要配这个地方
至此就可以监控linux客户机的disk,swap,users,memory了
这只是简单的配置,更多的配置还要按照具体需求来进行,所以继续研究把
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值