于一 发表于 2019-1-16 10:12:57

Nagios监控系统配置

  Nagios简介

      Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。



准备工作:

一台LINUX计算机,这里用RHEL5.4

Nagios 主程序 下载地址:http://down.运维网.com/download.php?do=data&tid=257687

Nagios-plugins-1.4.15.tar.gz

安装nagios主程序

#Tar -zxvf nagios-cn-3.2.3.tar.bz2

#Cd nagios-cn-3.2.3

#./configure --prefix=/usr/local/nagios   :指定安装目录为/usr/local/nagios

输出下列信息:


http://blog.运维网.com/attachment/201109/123939401.png
  编译安装
  #Make
http://blog.运维网.com/attachment/201109/130131486.png

#Make install



输出如下信息:


http://blog.运维网.com/attachment/201109/130259528.png

执行make install后报错,原因是要用nagios用户来执行,系统没有这个用户,所以增加用户

#Useradd nagios

#Chown nagios.nagios /usr/local/nagios

查看目录权限,如果操作无误的话,权限已经该过来了

#ll /usr/local/nagisos

然后再执行make install ,结束后在依次执行make install-init , make install-commandmode , make install-config 。

完成上述安装后,查看/usr/local/nagios是否有bin、sbin、share、etc、var这个几个目录,有的话表明安装成功,只要按照上面的步骤操作,安装过程基本上不会出现意外。

文件夹说明
http://blog.运维网.com/attachment/201109/130240811.png
  安装插件

#Tar -zxvf nagios-plugins-1.4.9.tar.gz                                    :解压插件

#Cd nagios-plugins-1.4.g                                       

#./configure --prefix=/usr/local/nagios                        :安装插件到/usr/local/nagios目录

#Make

#Make install                                                            :编译并安装

安装后,usr/local/nagios/libexec/目录里就是Nagios的监控插件

将apache的运行用户加到nagios组里面

Usremod -G nagios apache (这个apache也可能你自己自定义运行apache的用户,那么就改为你自定义的用户)

修改APACHE的配置文件,在httpd.conf配置文件末尾加上下面的内容。美的是增加nagios的目录,并且访问此目录需要进行身份验证。




[*]#Setting for nagios
[*]ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
[*]
[*]Options ExecCGI
[*]AllowOverride None
[*]Order allow,deny
[*]Allow from all
[*]AuthName "Nagios Access"
[*]AuthType Basic
[*]AuthUserFile /usr/local/nagios/etc/htpasswd
[*]Require valid-user
[*]
[*]
[*]Alias /nagios /usr/local/nagios/share
[*]
[*]Options None
[*]AllowOverride None
[*]Order allow,deny
[*]Allow from all
[*]AuthName "Nagios Access"
[*]AuthType Basic
[*]AuthUserFile /usr/local/nagios/etc/htpasswd
[*]Require valid-user
[*]



生成验证用户

/usr/bin/htpasswd -c /usr/local/nagios/etc/htpasswd test   :   /usr/bin/是安装apache生成的目录,如果是编译安装的apache,请rpm -ql httpd 查看htpsswd文件在哪里。用户是test,执行完成后会要求输入用户的密码。

现在就可以通过WEB页面登录查看nagios了,


http://blog.运维网.com/attachment/201109/131125282.png

浏览下nagios的主页面


http://blog.运维网.com/attachment/201109/131230258.png

配置Nagios

Nagios的配置文件有一套规则,逻辑关系还有点复杂,现在说明一些对象的意思

Contact: 联系人,

Timeperiod:监控的时间段

Host:被监控的主机

Command:监控的命令

Service:监控的服务

将示例配置文件复制为真实的配置文件名

Cd /usr/local/nagios/etc

Cp cgi.cfg-sample cgi.cfg

Cp commands.cfg-sample commands.cfg

Cp localhost-sample localhost.cfg

Cp nagios.cfg-sample nagios.cfg

Cp resourcc.cfg-sample resource.cfg


[*]配置nagios.cfg

Vi /usr/local/nagios/etc/nagios.cfg 注释前#号

Cfg_file=/usr/local/nagios/etc/contactgroups.cfg

Cfg_file=/usr/local/nagios/etc/contact.cfg

Cfg_file=/usr/local/nagios/etc/hostgroups.cfg

Cfg_file=/usr/local/nagios/etc/hosts.cfg

Cfg_file=/usr/local/nagios/etc/services.cfg

Cfg_file=/usr/local/nagios/etc/timeperiods.cfg

改check-external-commands=1 ,意思是允许在WEB里重启nagios


[*]修改CGI文件

#vi cgi.cfg

把default_user_name=test,然后增加test在后面;
http://blog.运维网.com/attachment/201109/131649397.png


[*]定义联系人

Vi contact.cfg

修改contact_name 值,改为联系的名字

下面填写email地址,把监控的系统发送的指定的邮箱


[*]定义联系人组

如果不需要联系人组的话,那么nagios.cfg把Cfg_file=/usr/local/nagios/etc/contactgroups.cfg注释掉。免得产生逻辑关系错误。


[*]定义被监控的主机

Vi hosts.cfg

Host_name               :被监控主机的名称

Address                      :被监控主机的IP地址

Check_command         :监控的命令,命令在commands.cfg里面


[*]创建主机组

Vi hostgroups.cfg

按照文件说明设置


[*]定义监控的项目

Vi services.cfg

定义要监控主机的服务,最重要的配置文件了,要监控的主机服务都在这里定义。

vi services.cfg //定义监控的服务
#service definition
###############################################
# Wangjing IDC servers service for host-live #
###############################################
define service{
host_name nagios-server //要监控的主机, 必须是hosts.cfg 中定义的
service_description check-host-alive //定义的是监控这个主机是不是存活
//给监控项目起个名字,任意起都可以,如check ftp
check_command check-host-alive //所用的命令,是commands.cfg中定义的
//所用的命令,必须是commands.cfg中定义的
check_period 24x7 //监控的时间段,是timeperiods.cfg中定义的
max_check_attempts 5
normal_check_interval 3
retry_check_interval 2
contact_groups sagroup //联系人组, contactgroups.cfg中定义的
notification_interval 10
notification_period 24x7 //通知的时间段, ,是timeperiods.cfg中定义的
notification_options w,u,c,r //在监控的结果是wucr时通知联系人,具体含义看前文.
}
define service {
host_name mail12.supertalent.com
service_description check_tcp 80
check_period 24x7
max_check_attempts 4
normal_check_interval 3
retry_check_interval 2
contact_groups sagroup
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
check_command check_tcp!80 //检查tcp 80端口服务是否正常
}


[*]检查Nagios的配置

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

如果total warnings: 0 total errors:0 就可以启动nagios,如果有报错的按照输出的信息修改后在运行

运行

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



要充分了解可监控的项目,可查看/usr/local/nagios/libexec里面的文件。



页: [1]
查看完整版本: Nagios监控系统配置