189 8069 5689

搭建nagios监控系统-创新互联

1、软件包准备

员工经过长期磨合与沉淀,具备了协作精神,得以通过团队的力量开发出优质的产品。成都创新互联坚持“专注、创新、易用”的产品理念,因为“专注所以专业、创新互联网站所以易用所以简单”。公司专注于为企业提供成都网站制作、成都网站设计、外贸营销网站建设、微信公众号开发、电商网站开发,微信小程序开发,软件按需设计网站等一站式互联网企业服务。

nagios-4.0.8.tar.gz

nagios-plugins-2.0.3.tar.gz

nrpe-2.15.tar.gz

httpd-2.2.23.tar.gz

2、Nagios Server端安装

1)、安装相关依赖包

yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel

2)、安装Nagios

# useradd -s /sbin/nologin nagios

# configure --prefix=/usr/local/nagios

# make all

# make install

# make install-init

# make install-commandmode

# make install-config

# chkconfig nagios on

# chkconfig --list | grep nagios

3)、安装Nagios插件

# tar zxvf nagios-plugins-2.0.3.tar.gz

# cd nagios-plugins-2.0.3

# ./configure --prefix=/usr/local/nagios/

# make && make install

4)、安装配置apache

# tar zxvf httpd-2.2.23.tar.gz

# cd httpd-2.2.23

# ./configure --prefix=/usr/local/apache2

# make && make install

# vim /usr/local/apache2/conf/http.conf

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

User daemon

Group daemon

修改为

User nagios

Group nagios

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DirectoryIndex index.html

修改并增加为

DirectoryIndex index.html index.php

AddType application/x-httpd-php .php

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

增加验证配置,即在httpd.conf 文件最后添加如下信息:

#setting for nagios

ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"

AuthType Basic

Options ExecCGI

AllowOverride None

Order allow,deny

Allow from all

AuthName "Nagios Access"

AuthUserFile /usr/local/nagios/etc/htpasswd

Require valid-user

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

AuthType Basic

Options None

AllowOverride None

Order allow,deny

Allow from all

AuthName "nagios Access"

AuthUserFile /usr/local/nagios/etc/htpasswd

Require valid-user

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

创建上面的目录验证文件htpasswd

# /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd nagios

# vim /usr/local/nagios/etc/cgi.cfg

修改配置文件中所有含有nagiosadmin的内容

nagiosadmin => nagiosadmin,nagios

# scp /usr/local/apache2/bin/apachectl /etc/init.d/httpd

# vim /etc/init.d/httpd

添加以下内容

# chkconfig: 2345 85 15

# description: Apache is a World Wide Web Server

# chkconfig httpd on

# chkconfig --list | grep httpd

5)、安装配置php

# tar zxvf php-5.4.10.tar.gz

# cd php-5.4.10

# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs

# make && make install

# service httpd start

# service nagios start

6)、安装nrpe

# tar zxvf nrpe-2.15.tar.gz

# cd nrpe-2.15

# ./configure --enable-command-args

# make all

# make install-plugin

# /usr/local/nagios/libexec/check_nrpe -H 10.0.2.203

NRPE v2.15

7)、配置commands.cfg,添加check_nrpe定义

vim /usr/local/nagios/etc/objects/commands.cfg

# 'check_nrpe' command definition

define command{

command_name   check_nrpe

command_line   $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

}

8、配置hosts.cfg

vim /usr/local/nagios/etc/objects/hosts.cfg

define host{

use           linux-server

host_name        node.3

alias          node.3

address         10.0.2.203

}

9、配置node.3.cfg(也就是node.3的services.cfg文件,为了便于管理,每台机器的services.cfg文件分开配置,并以主机名命名)

vim /usr/local/nagios/etc/objects/node.3.cfg

define service{

use           local-service

host_name        node.3

service_description   Current Load

check_command      check_nrpe!check_load

contact_groups      admins

}

define service{

use           local-service

host_name        node.3

service_description   Check Disk disk

check_command      check_nrpe!check_disk

contact_groups      admins

}

define service{

use           local-service

host_name        node.3

service_description   Total Processes

check_command      check_nrpe!check_total_procs

contact_groups      admins

}

define service{

use           local-service

host_name        node.3

service_description   Current Users

check_command      check_nrpe!check_users

contact_groups      admins

}

define service{

use           local-service

host_name        node.3

service_description   Check Zombie Procs

check_command      check_nrpe!check_zombie_procs

contact_groups      admins

}

10)、配置nagios.cfg

# vim /usr/local/nagios/etc/nagios.cfg

添加以下内容

cfg_file=/usr/local/nagios/etc/objects/hosts.cfg

cfg_file=/usr/local/nagios/etc/objects/node.3.cfg

11)、检查nagios配置文件,并重启nagios服务

# chown -R nagios.nagios /usr/local/nagios

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

# service nagios restart

3、Nagios Client端的配置安装

1)、安装相关软件包

yum install -y xinetd openssl*

2)、添加用户

useradd nagios

passwd nagios

3)、安装nagios插件

# tar zxvf nagios-plugins-2.0.3.tar.gz

# cd nagios-plugins-2.0.3

# ./configure --prefix=/usr/local/nagios

# make && make install

# chown -R nagios.nagios /usr/local/nagios

4)、安装nrpe

# tar zxvf nrpe-2.15.tar.gz

# cd nrpe-2.15

# ./configure --enable-command-args

# make all

# make install-plugin

# make install-daemon

# make install-daemon-config

# make install-xinetd

# vim /etc/services

在文件最后追加以下内容

nrpe       5666/tcp         # nrpe

# vim /etc/xinetd.d/nrpe

添加监控主机IP

only_from    = 127.0.0.1 10.0.2.201

# vim /usr/local/nagios/etc/nrpe.cfg

修改

dont_blame_nrpe=1

# service xinetd restart

# lsof -i:5666

# /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1

NRPE v2.15

# vim /usr/local/nagios/etc/nrpe.cfg

command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1

修改

command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda

4、添加mysql和tomcat的监控

1)、添加mysql监控

Nagios Server:

# vim /usr/local/nagios/etc/objects/commands

添加以下内容

# 'check_mysql' command definition

define command{

command_name   check_mysql

command_line   $USER1$/check_mysql -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ $ARG3$

}

# vim /etc/ld.so.conf

追加以下内容

/usr/local/mysql/lib/#因为check_mysql会提示找不到libmysqlclient.so.18文件

# /sbin/ldconfig -v

# /usr/local/nagios/libexec/check_mysql -H 10.0.2.203 -u mysql -p 123456

# vim /usr/local/nagios/etc/objects/node.3.cfg

追加以下内容

define service{

use           local-service

host_name        node.3

service_description   Check MySQL

check_command      check_nrpe!check_mysql!mysql!123456

contact_groups      admins

}

Nagios Client:

# vim /usr/local/nagios/etc/nrpe.cfg

添加以下内容

command[check_mysql]=/usr/local/nagios/libexec/check_mysql -u $ARG1$ -p $ARG2$

# vim /etc/ld.so.conf

追加以下内容

/usr/local/mysql/lib/#因为check_mysql会提示找不到libmysqlclient.so.18文件

# /sbin/ldconfig -v

2)、添加自定义tomcat监控

Nagios Server:

# vim /usr/local/nagios/etc/objects/commands

添加以下内容

# 'check_tomcat' command definition

define command{

command_name   check_tomcat

command_line   $USER1$/check_tomcat -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$

}

# vim /usr/local/nagios/etc/objects/node.3.cfg

追加以下内容

define service{

use           local-service

host_name        node.3

service_description   Check Tomcat

check_command      check_nrpe!check_tomcat!tomcat

contact_groups      admins

}

# service nagios restart

Nagios Client:

# vim /usr/local/nagios/etc/nrpe.cfg

添加以下内容

command[check_tomcat]=/usr/local/nagios/libexec/check_tomcat $ARG1$

# vim /usr/local/nagios/libexec/check_tomcat

#!/bin/sh

name=`basename $0`

process=`ps aux |grep -w "$1" | grep -vE "grep|$name"|wc -l |tr -d ' '`

if [ $process -ge 1 ]

then

  echo  "$1 proces running...."

  exit 0

else

  echo  "$1 proces no exist! "

  exit 2

fi

5、windows系统的监控

解压NSClient++-0.2.7.zip到C盘根目录

命令行:cmd

>c:\NSClient++-0.2.7

>nsclient++ /install

>nsclient++ SysTray

命令行:services.msc

找到NSClientpp服务,双击打开,点击”登录“标签,在”允许服务与桌面交互“前打勾

编辑c:\NSClient++-0.2.7\NSC.ini

[modules]模块

去掉除CheckWMI.dll和 RemoteConfiguration.dll 以外行的”;“

[Settings]

去掉password行的注释,并设置密码123456,同时需要在Nagios Server端command.cfg配置文件中check_nt命令定义处配置对应的密码

define command{

command_name   check_nt

command_line   $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s 123456 -v $ARG1$ $ARG2$

}

去掉allowed_hosts行的注释,并将本行修改为allowed_hosts=127.0.0.1/32,10.0.2.201

[NSClient]

去掉port行前面的注释,并设置port=12489

6、配置报警

1)、声音报警

Nagios Server端

上传音乐文件到/usr/local/nagios/share/media文件夹中

# vim /usr/local/nagios/etc/cgi.cfg

取消以下行前的”#“

host_unreachable_sound=hostdown.wav

host_down_sound=hostdown.wav

service_critical_sound=critical.wav

service_warning_sound=warning.wav

service_unknown_sound=warning.wav

normal_sound=noproblem.wav

2)、邮件报警

# yum install -y sendmail*

# service sendmail start

# vim /usr/local/nagios/etc/objects/contacts.cfg

修改

emailnagios@local.com => email*******@qq.com

# service nagios restart

# vim /usr/local/nagios/etc/objects/templates.cfg

修改generic-service中

notification_interval60 => notification_interval5

修改local-service中

max_check_attempts 4 => max_check_attempts 1

normal_check_interval 5 => normal_check_interval 5

retry_check_interval 2 => retry_check_interval 1

表示每五分钟发送一次邮件报警,关于nagios报警时间的详细配置,请参考”关于nagios报警时间间隔的配置“一文。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻名称:搭建nagios监控系统-创新互联
分享地址:http://jkwzsj.com/article/ipodj.html

其他资讯