nagios监控报警一般搭建过程及常见问题

 

 

Nagios是什么

Nagios安装步骤

Nagios-plugins插件安装步骤

Nagios安装完成后启动

Nagios web访问

常见问题

参考资料

 

 

Nagios是什么

上个星期,自己搭建了下nagios服务器,这里记录下我自己的方法心得,给新手一个指导。

  Nagios是什么呢?

官网是这样定义的:

Nagios is a host/service/network monitoring program written in C and released under the GNU General Public License, version 2. CGI programs are included to allow you to view the current status, history, etc via

a web interface if you so desire.

翻译过来是这样:

Nagios是一个C编写的程序,用来监控主机/服务/网络,并且是GNU 2.0通用公共许可证下发布, CGI程序包括允许您查看当前的状态,历史记录等通过一个Web界面,如果你愿意的话

   官网所说的功能:

* Monitoring of network services (via SMTP, POP3, HTTP, PING, etc).

 监控网服务

* Monitoring of host resources (processor load, disk usage, etc.).

 监控主机资源

* A plugin interface to allow for user-developed service monitoring methods.

 提供一个接口,可以用于用户自定义服务监控

* Ability to define network host hierarchy using "parent" hosts, allowing detection of and distinction between hosts that are down and those that are unreachable.

 可以通过定义parent主机层来检测网络无法到达的主机是否在线

* Notifications when problems occur and get resolved (via email, pager, or user-defined method).

 通知出现的问题故障可以通过邮件或用户自定义方法

* Ability to define event handlers for proactive problem resolution.

 可以定义事件处理程序来主动解决问题

* Automatic log file rotation/archiving.

 自动日志文件循环/归档。

* Optional web interface for viewing current network status, notification and problem history, log file, etc.

 可选的Web界面来查看当前网络状态,通知和问题历史,日志文件,等等。

 

 

Nagios安装步骤

下载地址:http://nchc.dl.sourceforge.net/project/nagios/nagios-4.x/nagios-4.1.1/nagios-4.1.1.tar.gz 

     安装lamp,安装方法可以再看我的博客,这里就不做说明了。

1.安装依赖包

 yum install gcc glibc glibc-common

 yum install gd gd-devel unzip

2.添加用户nagios,并将apache加入nagios组,为后面通过WEB访问做准备

 useradd -M -s /sbin/nologin nagios && usermod -a -G nagios apache

3.建立安装目录/usr/local/nagios.并改变目录用户和组权限为nagios

 mkdir /usr/local/nagios && chown -R nagios:nagios /usr/local/nagios

4.编译nagios

 tar -zxvf nagios-4.1.1.tar.gz && cd nagios-4.1.1

 ./configure --prefix=/usr/local/nagios  --with-nagios-user=nagios --with-nagios-group=nagios   --with-command-user=nagios  --with-command-group=nagios --with-httpd-conf=/usr/local/apache2/conf.d

 (注意:我的环境apache是源码安装在/usr/localapache2目录,所能用了--with-httpd-conf

编译完成时当看到如下几行文字时,说明编译成功。

wKioL1YKQ4vD5W51AAK6BftjT2I185.jpg 

5.编译安装nagios

  make all && make install &&  make install-init &&  make install-config &&  make install-commandmode  

  (说明: make install 安装主要程序,CGI,HTML文件 。

     make install-init 安装init script 到 /etc/rc.d/init.d  

     make install-config 安装 *SAMPLE* 事例配置文件到 /usr/local/nagios/etc目录 。

          make install-commandmode 安装配置一些外部命令 。

     make install-exfoliation 安装 Exfoliation 主题 。

     make install-classicui    安装经典主题 。 )

  细心留意我们会发现,其实在第4步编译完成时,nagios给了我们安装的提示如图

wKioL1YKQUjBOSWgAARTtwJXxIk716.jpg 

6. 配置web访问

    (非必须,没有apache,nagios照样工作,配置文件默认会安装在apacheconf.d目录 

 make  install-webconf 

apacheconf.d目录下多了一个nagios.conf文件,查看发现 AuthUserFile /usr/local/nagios/etc/htpasswd.users 文件。wKiom1YKQVCBcmcuAAEyNWsjo5U507.jpg

 

   以上面发现的文件 创建一个nagiosweb访问是的认账号 yourname,并设密码。

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

   通过上面命令虽然web访问已经开启了认证,但nagios配置文件cgi.cfg并不知道,所以增加yourname权限到cgi.cfg 

  sed -i 's/nagiosadmin/nagiosadmin\,yourname/g'  /usr/local/nagios/etc/cgi.cfg 

          (注意:记住这个帐号和你输入的密码,web访问时用于认证) 

 

Nagios-plugins插件安装步骤

    下载地址:http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz 

    插件可以理解为nagios为监控某个服务功能,开发的小程序或pythonshell脚本(用户可以自己开发)

   安装 nagios-plugins比较简单

     ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios

     make && make install 

       检查是否安装成功nagios-plugins插件,只要看/usr/local/nagios/libexec/ 目录是否有以check开头的文件。          wKiom1YKQX7CuwgmAAJyHqs2jjA546.jpg

 

Nagios安装完成后启动:

 

1. 关闭SELINUX或者增加权限 

    setenforce 0  

      或者增加权限:

    chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/

    chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

2 .  启动nagios服务。

   启动前先验证下nagios配置文件的是否正确:/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg   wKioL1YKQZvRuxgDAAO2tffz_fM801.jpg

   没有错误就可以启动nagios

   设为开机启动方法:chkconfig --add nagios && chkconfig nagios on

   立刻启动方法:service httpd restart

 

Nagios web访问:

 http访问:http://nagios服务器ip地址/nagios 

   这时由于没有对nagios配置文件做任何修改,只有localhost如下图  

wKioL1YKQbXDfzQjAARJWh5cJSU362.jpg 

常见问题

     源码安装apache时,#LoadModule cgid_module modules/mod_cgid.so是注释掉的没有启用。

nagios通过http访问时会出现 no running 

     wKiom1YKQcCBBsycAABgqprbtPg607.jpg

查看nagios日志也是正常:

Sep 29 15:00:32 lab05 nagios: Nagios 4.1.1 starting... (PID=2574)

Sep 29 15:00:32 lab05 nagios: Local time is Tue Sep 29 15:00:32 CST 2015

Sep 29 15:00:32 lab05 nagios: LOG VERSION: 2.0

Sep 29 15:00:32 lab05 nagios: qh: Socket '/usr/local/nagios/var/rw/nagios.qh' successfully initialized

Sep 29 15:00:32 lab05 nagios: qh: core query handler registered

Sep 29 15:00:32 lab05 nagios: nerd: Channel hostchecks registered successfully

Sep 29 15:00:32 lab05 nagios: nerd: Channel servicechecks registered successfully

Sep 29 15:00:32 lab05 nagios: nerd: Channel opathchecks registered successfully

Sep 29 15:00:32 lab05 nagios: nerd: Fully initialized and ready to rock!

Sep 29 15:00:32 lab05 nagios: wproc: Successfully registered manager as @wproc with query handler

Sep 29 15:00:32 lab05 nagios: wproc: Registry request: name=Core Worker 2579;pid=2579

Sep 29 15:00:32 lab05 nagios: wproc: Registry request: name=Core Worker 2578;pid=2578

Sep 29 15:00:32 lab05 nagios: wproc: Registry request: name=Core Worker 2577;pid=2577

Sep 29 15:00:32 lab05 nagios: wproc: Registry request: name=Core Worker 2576;pid=2576

Sep 29 15:00:32 lab05 nagios: Successfully launched command file worker with pid 2580

查看apache2日志时发现cgi没有开启: wKioL1YKQd6ip_SlAAF6DM_6fFo819.jpg

编辑/uar/local/apache2/conf/httpd.conf 去掉 #LoadModule cgid_module modules/mod_cgid.so 的#

再次重启apache 再次访问正常。

 

本文是 巧妙绝情 一个字一个图打出来,参考了好多资料,感谢他们的分享,基于open source分享精神,转载请注明出出。
支持我,请点击 巧妙绝情 谢谢


参考资料

Nagios定义和功能:https://www.nagios.org/about

Nagiosnagios-plugins安装步骤:安装指南:

https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/quickstart-fedora.html 

http://nagios.sourceforge.net/docs/nagioscore/4/en/quickstart.html