搭建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

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

<IfModule dir_module>

  DirectoryIndex index.html

</IfModule>

修改并增加为

<IfModule dir_module>

  DirectoryIndex index.html index.php

</IfModule>

AddType application/x-httpd-php .php

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

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

#setting for nagios

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

<Directory "/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

</Directory>

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

<Directory "/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

</Directory>

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

创建上面的目录验证文件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

修改

email[email protected] => 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报警时间间隔的配置“一文。

时间: 2024-10-01 01:05:03

搭建nagios监控系统的相关文章

centos 搭建 nagios 监控系统.

linux下搭建nagios监控 一.什么是nagios 1.nagios 简介 Nagios是一个监视系统运行状态和网络信息的监视系统. Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等. Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态, 各种系统问题,以及日志等等. Nagios是十分受欢迎的.开源且免费的计算机及网络系统监控软件. Nagios是"Nagios Ain't Gonna Insi

一键搭建nagios监控系统之二 脚本解释篇

#! /bin/bash   ##  QQ:1401354763 ##################  nagios server configure ######################## installserver() {   #定义安装nagios函数 read -p " Please input the alarm  email address : " email   #报警邮箱 read -p " Please input the login nagio

Nagios监控系统

一.Nagios监控系统简介 1.Nagios工作原理 Nagios本身不包括监控主机和服务的功能.所有的监控.监测功能都是通过各种插件来完成的.安装完nagios之后,在nagios主目录下的/libexex里面放有nagios自带的插件,如:check_disk是检查磁盘空间的插件,check_load是检查cpu负载的插件,每一个插件可以通过运行./check_xxx -h命令来检查其使用方法和功能. 1.Nagios的四种监控状态 Nagios可以识别四种状态返回信息.0(OK)表示状态

Nagios 监控系统架设全攻略

Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint.它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows .Linux.VMware 和 Unix 主机状态,交换机.路由器等网络设置等.一旦主机或服务状态出现异常时,会发出邮件或短信报警第一时间通知 IT 运营人员,在状态恢复后发出正常的邮件或短信通知.Nagios 结构简单,可维护性强,越来越受中小企业青睐,以及运维和管理人

yum搭建nagios监控linux&&window及邮件报警

本文是小弟整合几位大神的文章,见笑@@ Linux利用sendmail和fetion发送报警通知 nagios监控windows主机 && linux主机 CentOS 5/6.X 使用 EPEL YUM源: 实验环境: 两台64位的centos-6.6 一台window-server-2003 安装网络yum源: centos5.x--32位 [[email protected] ~]# wget http://mirrors.yun-idc.com/epel/5/i386/epel-r

Nagios 监控系统架设全攻略(一)

最近一段时间在研究Nagios监控系统,然后网上搜索查看很多的资料,借鉴与各位大虾的经验,整理记录一下自己安装记录. Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint.它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows .Linux.VMware 和 Unix 主机状态,交换机.路由器等网络设置等.一旦主机或服务状态出现异常时,会发出邮件或短信报警第一时间通知 IT 运营

使用monit搭建一个监控系统

上周用monit搭建或者说定制了一个监控系统,来监控服务器发生事情.当然了主要是监控异常,因为我们的产品属于服务器类型,很多进程都daemon,要不停的运行.我们搭建监控目的不过是出现问题能够及时的知道,平时可从web UI上看到整个系统的状况,同时它本身要轻量级,不要影响性能.当然了类似的产品很多了,比如Ganglia,我在老科长波哥曾经搭建过一个Ganglia系统监控科室十几台服务器,让我很是崇拜.本文重点介绍monit.                      monit是一个可以监控系

Cacti+Nagios监控系统(五):Nagios监控windows(基于check_nt)

一.工作原理 Nagios服务器使用check_nt工具与客户端程序通讯,客户端程序NSCP使用命令来获取本地客户端的信息并返回给check_nt. check_nt只是NSCP其中一项服务,Nagios还可以通过check命令(如check_http检查WEB服务).check_nrpe.NSCA.WMI来监控windows客户端. 二.下载客户端程序 下载地址:  http://nsclient.org/nscp/downloads 64位系统下载:NSCP-0.4.1.105-x64.ms

Cacti+Nagios监控系统(一):准备工作

一.系统环境 1.设置yum源 (1)使用本地源 挂载光驱ISO文件 确认路径/media/CentOS_6.5_Final/ cd /etc/yum.repos.d mv CentOS-Base.repo CentOS-Base.repo.bak vi CentOS-Base.repo [base] name=Base baseurl=file:///media/CentOS_6.5_Final/ gpgcheck=0 #(1检测 0不检测) enabled=1 #(1启动 0不启动) (2)