IT运维流程库历史主题 · 只读
← 返回目录

搭建nagios监控全平台

来自:网络

[ /guyson/blog/286925#OSC_h1_1]前言[ /guyson/blog/286925#OSC_h1_2]1. Nagios简介[ /guyson/blog/286925#OSC_h1_3]2. 相关环境[ /guyson/blog/286925#OSC_h1_4]3. 部署规划[ /guyson/blog/286925#OSC_h1_5]4. 代码获取[ /guyson/blog/286925#OSC_h1_6]5. 前提依赖[ /guyson/blog/286925#OSC_h2_7]5.1 主机环境检查(全部节点)[ /guyson/blog/286925#OSC_h1_8]6. 编译安装[ /guyson/blog/286925#OSC_h2_9]6.1 创建用户nagios(全部节点)[ /guyson/blog/286925#OSC_h2_10]6.2 安装nagios主程序(主节点安装)[ /guyson/blog/286925#OSC_h2_11]6.3 安装nagios插件(全部节点安装)[ /guyson/blog/286925#OSC_h2_12]6.4 安装NRPE(全部节点安装)[ /guyson/blog/286925#OSC_h3_13]6.4.1 被监控节点配置[ /guyson/blog/286925#OSC_h3_14]6.4.2 主节点配置[ /guyson/blog/286925#OSC_h2_15]6.5 安装Apache(主节点安装)[ /guyson/blog/286925#OSC_h2_16]6.6 安装PHP(主节点安装)[ /guyson/blog/286925#OSC_h2_17]6.7 使用apache 发布PHP的WEB[ /guyson/blog/286925#OSC_h1_18]7. 配置Nagios[ /guyson/blog/286925#OSC_h2_19]7.1 配置远程被监控节点[ /guyson/blog/286925#OSC_h3_20]7.1.1 修改配置文件[ /guyson/blog/286925#OSC_h3_21]7.1.2 重启xinetd服务[ /guyson/blog/286925#OSC_h3_22]7.1.3 校验配置[ /guyson/blog/286925#OSC_h2_23]7.2 配置监控服务主节点[ /guyson/blog/286925#OSC_h3_24]7.2.1 cgi.cfg(控制CGI访问的配置文件)[ /guyson/blog/286925#OSC_h3_25]7.2.2 nagios.cfg(nagios主配置文件)[ /guyson/blog/286925#OSC_h3_26]7.2.3 定义监控的主机组[ /guyson/blog/286925#OSC_h3_27]7.2.4 定义监控的主机[ /guyson/blog/286925#OSC_h4_28]7.2.4.1 本地主机监控配置[ /guyson/blog/286925#OSC_h4_29]7.2.4.2 远程主机监控配置[ /guyson/blog/286925#OSC_h4_30]7.2.4.3 邮件监控[ /guyson/blog/286925#OSC_h4_31]7.2.4.4 校验配置[ /guyson/blog/286925#OSC_h4_32]7.2.4.5 启动[ /guyson/blog/286925#OSC_h1_33]8. 监控页面[ /guyson/blog/286925#OSC_h1_34]9. 相关链接 最近在研究云监控的相关工具,之前写过Ganglia的安装步骤,这回来记录下Nagios的安装步骤。 本文不讲解相关原理,若想了解请参考其他资料. 本文目的: 即使之前未触过nagios,也能按照文中步骤搭建自己的nagios监控集群. [ /search?scope=blog&q=%E4%BA%91%E7%9B%91%E6%8E%A7]云监控 [ /search?scope=blog&q=nagios]nagios [ /search?scope=blog&q=nrpe]nrpe nagios培训
目录[-]
[ /duangr/blog/183160#OSC_h1_1]前言 [ /duangr/blog/183160#OSC_h1_2]1. Nagios简介 [ /duangr/blog/183160#OSC_h1_3]2. 相关环境 [ /duangr/blog/183160#OSC_h1_4]3. 部署规划 [ /duangr/blog/183160#OSC_h1_5]4. 代码获取 [ /duangr/blog/183160#OSC_h1_6]5. 前提依赖 [ /duangr/blog/183160#OSC_h2_7]5.1 主机环境检查(全部节点) [ /duangr/blog/183160#OSC_h1_8]6. 编译安装 [ /duangr/blog/183160#OSC_h2_9]6.1 创建用户nagios(全部节点) [ /duangr/blog/183160#OSC_h2_10]6.2 安装nagios主程序(主节点安装) [ /duangr/blog/183160#OSC_h2_11]6.3 安装nagios插件(全部节点安装) [ /duangr/blog/183160#OSC_h2_12]6.4 安装NRPE(全部节点安装) [ /duangr/blog/183160#OSC_h3_13]6.4.1 被监控节点配置 [ /duangr/blog/183160#OSC_h3_14]6.4.2 主节点配置 [ /duangr/blog/183160#OSC_h2_15]6.5 安装Apache(主节点安装) [ /duangr/blog/183160#OSC_h2_16]6.6 安装PHP(主节点安装) [ /duangr/blog/183160#OSC_h2_17]6.7 使用apache 发布PHP的WEB [ /duangr/blog/183160#OSC_h1_18]7. 配置Nagios [ /duangr/blog/183160#OSC_h2_19]7.1 配置远程被监控节点 [ /duangr/blog/183160#OSC_h3_20]7.1.1 修改配置文件 [ /duangr/blog/183160#OSC_h3_21]7.1.2 重启xinetd服务 [ /duangr/blog/183160#OSC_h3_22]7.1.3 校验配置 [ /duangr/blog/183160#OSC_h2_23]7.2 配置监控服务主节点 [ /duangr/blog/183160#OSC_h3_24]7.2.1 cgi.cfg(控制CGI访问的配置文件) [ /duangr/blog/183160#OSC_h3_25]7.2.2 nagios.cfg(nagios主配置文件) [ /duangr/blog/183160#OSC_h3_26]7.2.3 定义监控的主机组 [ /duangr/blog/183160#OSC_h3_27]7.2.4 定义监控的主机 [ /duangr/blog/183160#OSC_h4_28]7.2.4.1 本地主机监控配置 [ /duangr/blog/183160#OSC_h4_29]7.2.4.2 远程主机监控配置 [ /duangr/blog/183160#OSC_h4_30]7.2.4.3 邮件监控 [ /duangr/blog/183160#OSC_h4_31]7.2.4.4 校验配置 [ /duangr/blog/183160#OSC_h4_32]7.2.4.5 启动 [ /duangr/blog/183160#OSC_h1_33]8. 监控页面 [ /duangr/blog/183160#OSC_h1_34]9. 相关链接
前言
最近在研究云监控的相关工具,之前写过Ganglia的安装步骤,这回来记录下Nagios的安装步骤。
本文不讲解相关原理,若想了解请参考其他资料.
本文目的: 即使之前未触过nagios,也能按照文中步骤搭建自己的nagios监控集群.
[ /arthor]@Author duangr
@Website [ /duangr/blog/183160]duangr/blog/183160
1. Nagios简介
Nagios是一个可运行在Linux/Unix平台之上的开源监视系统,可以用来监视系统运行状态和网络信息。Nagios可以监视所指定的本地或远程主机以及服务,同时提供异常通知功能。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
2. 相关环境
Host Name
IP
OS

Arch
duangr-1
192.168.56.10
CentOS 6.4
x86_64
duangr-2
192.168.56.11
CentOS 6.4
x86_64
duangr-3
192.168.56.12
CentOS 6.4
x86_64
3. 部署规划
项
值
监控服务主节点(Master)
duangr-1
被监控从节点(Slave)
duangr-2, duangr-3
Nagios主节点需要安装:

  • nagios
  • nagios-plugin
  • nrpe
  • php
  • apache

Nagios从节点需要安装:

  • nagios-plugin
  • nrpe

安装路径规划
项
值
nagios安装路径
/usr/local/nagios
php安装路径
/usr/local/php
apache安装路径
/usr/local/apache2
4. 代码获取

  • [ /project/nagios/nagios-4.x/nagios-4.0.2/nagios-4.0.2.tar.gz]nagios-4.0.2.tar.gz
  • [ /download/nagios-plugins-1.5.tar.gz]nagios-plugins-1.5.tar.gz
  • [ /project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz]nrpe-2.15.tar.gz
  • [ /dist/httpd/httpd-2.2.23.tar.gz]httpd-2.2.23.tar.gz
  • [ /distributions/php-5.4.10.tar.gz]php-5.4.10.tar.gz

5. 前提依赖
5.1 主机环境检查(全部节点)
1
# rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel

2
gcc-4.4.7-3.el6.x86_64

3
glibc-2.14.1-6.x86_64

4
glibc-common-2.14.1-6.x86_64

5
gd-2.0.35-11.el6.x86_64

6
package gd-devel is not installed

7
package xinetd is not installed

8
openssl-devel-1.0.0-27.el6.x86_64

若有缺失,请先安装. 可通过如下几个镜像网站下载相关安装包:

  • centos/6.4/os/x86_64/Packages/
  • centos/6.4/os/x86_64/Packages/

安装后再次检查如下:
1
# rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel

2
gcc-4.4.7-3.el6.x86_64

3
glibc-2.14.1-6.x86_64

4
glibc-common-2.14.1-6.x86_64

5
gd-2.0.35-11.el6.x86_64

6
gd-devel-2.0.35-11.el6.x86_64

7
xinetd-2.3.14-38.el6.x86_64

8
openssl-devel-1.0.0-27.el6.x86_64

6. 编译安装
6.1 创建用户nagios(全部节点)
1
useradd nagios -d /usr/local/nagios

2
passwd nagios (密码自定义)

6.2 安装nagios主程序(主节点安装)
1
tar -zxf nagios-4.0.2.tar.gz

2
cd nagios-4.0.2

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

4
make all

5
make install && make install-init && make install-commandmode && make install-config

将nagios添加为服务
1
chkconfig --add nagios

2
chkconfig nagios off

3
chkconfig --level 35 nagios on

4
chkconfig --list nagios

5
nagios 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭

6.3 安装nagios插件(全部节点安装)
1
tar -zxf nagios-plugins-1.5.tar.gz

2
cd nagios-plugins-1.5

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

4
make && make install

如果出现mysql相关的编译错误,是mysql的默认安装路径被修改导致的,调整with-mysql后重新make
1
./configure --prefix=/usr/local/nagios --with-mysql=/usr/local/mysql

2
make && make install

6.4 安装NRPE(全部节点安装)
1
tar -zxf nrpe-2.15.tar.gz

2
cd nrpe-2.15

3
./configure --enable-command-args

4
make all

5
make install-plugin

下面步骤只需要在被监控节点执行
1
make install-daemon && make install-daemon-config && make install-xinetd

6.4.1 被监控节点配置
如果是被监控节点,需要配置NRPE已守护进程运行(通过xinetd来运行)
1、更改/etc/xinetd.d/nrpe文件,设置允许nagios主节点服务器连接
1
vi /etc/xinetd.d/nrpe

2
only_from = 127.0.0.1 192.168.56.10

2、在/etc/services结尾增加:
1
nrpe 5666/tcp # NRPE

3、增加对参数的支持
1
vi /usr/local/nagios/etc/nrpe.cfg

2
dont_blame_nrpe=1

4、启动xinetd
1
service xinetd restart

5、验证nrpe是否监听
1
netstat -at | grep nrpe

6、测试nrpe是否正常运行
1
/usr/local/nagios/libexec/check_nrpe -H localhost

2
NRPE v2.15

6.4.2 主节点配置
如果是监控服务主节点,在全部被监控节点NRPE配置完成后,可以依次做下检测
1
/usr/local/nagios/libexec/check_nrpe -H 192.168.56.11

2
NRPE v2.15

3
/usr/local/nagios/libexec/check_nrpe -H 192.168.56.12

4
NRPE v2.15

6.5 安装Apache(主节点安装)
1
tar -zxf httpd-2.2.23.tar.gz

2
cd httpd-2.2.23

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

4
make && make install

6.6 安装PHP(主节点安装)
1
cd /export/home/tools/soft/php

2
tar -zxf php-5.4.10.tar.gz

3
cd /php-5.4.10

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

5
make && make install

6.7 使用apache 发布PHP的WEB nagios实施
vi /usr/local/apache2/conf/httpd.conf
01
....

02
Listen 80

03
....

04
<IfModule dir_module>

05
DirectoryIndex index.html index.php

06
AddType application/x-httpd-php .php

07
</IfModule>

08
....

09
#setting for nagios

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

11
<Directory "/usr/local/nagios/sbin">

12
AuthType Basic

13
Options ExecCGI

14
AllowOverride None

15
Order allow,deny

16
Allow from all

17
AuthName "Nagios Access"

18
AuthUserFile /usr/local/nagios/etc/htpasswd

19
Require valid-user

20
</Directory>

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

22
<Directory "/usr/local/nagios/share">

23
AuthType Basic

24
Options None

25
AllowOverride None

26
Order allow,deny

27
Allow from all

28
AuthName "nagios Access"

29
AuthUserFile /usr/local/nagios/etc/htpasswd

30
Require valid-user

31
</Directory>

为web访问时添加用户名和密码(此处用户名为admin,可自定义)
1
/usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd admin

启动apache
1
/usr/local/apache2/bin/apachectl start

访问页面:
7. 配置Nagios
7.1 配置远程被监控节点 监控软件 7.1.1 修改配置文件
1
# su - nagios

2
$ vi /usr/local/nagios/etc/nrpe.cfg

修改为如下配置内容:
1
command[check_users]=/usr/local/nagios/libexec/check_users -w $ARG1$ -c $ARG2$

2
command[check_load]=/usr/local/nagios/libexec/check_load -w $ARG1$ -c $ARG2$

3
command[check_disk]=/usr/local/nagios/libexec/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$

4
command[check_procs]=/usr/local/nagios/libexec/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$

5
command[check_procs_args]=/usr/local/nagios/libexec/check_procs $ARG1$

6
command[check_swap]=/usr/local/nagios/libexec/check_swap -w $ARG1$ -c $ARG2$

以上监控命令功能:

  • check_users 监控登陆用户数
  • check_load 监控CPU负载
  • check_disk 监控磁盘的使用
  • check_procs 监控进程数量,状态包括 RSZDT
  • check_swap 监控SWAP分区使用

7.1.2 重启xinetd服务
配置完上述命令后,重启 xinetd服务
1
service xinetd restart

7.1.3 校验配置
检查监控命令配置是否ok
1
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_users -a 5 10

2
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_load -a 15,10,5 30,25,20

3
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_disk -a 20% 10% /

4
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_procs -a 200 400 RSZDT

5
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_swap -a 20% 10%

7.2 配置监控服务主节点 7.2.1 cgi.cfg(控制CGI访问的配置文件)
(使用 nagios 用户)
vi /usr/local/nagios/etc/cgi.cfg
修改如下内容,为admin用户增加权限:
1
default_user_name=admin

2
authorized_for_system_information=nagiosadmin,admin

3
authorized_for_configuration_information=nagiosadmin,admin

4
authorized_for_system_commands=nagiosadmin,admin

5
authorized_for_all_services=nagiosadmin,admin

6
authorized_for_all_hosts=nagiosadmin,admin

7
authorized_for_all_service_commands=nagiosadmin,admin

8
authorized_for_all_host_commands=nagiosadmin,admin

7.2.2 nagios.cfg(nagios主配置文件)
(使用 nagios 用户)
vi /usr/local/nagios/etc/nagios.cfg
1
#cfg_file=/export/home/nagios/etc/objects/localhost.cfg (注释掉)

2
cfg_dir=/export/home/nagios/etc/servers

主配置文件声明了监控脚本的存储路径为 ./servers, 默认没有此目录,需要手工创建
nagios 会读取 servers 目录下面后缀为.cfg的全部文件作为配置文件
1
cd /usr/local/nagios/etc

2
mkdir servers

3
cd servers

7.2.3 定义监控的主机组
声明一个监控的主机组,将主机环境中提到的三台主机全部加入监控
vi /export/home/nagios/etc/servers/group.cfg
新文件,内容如下:
1
define hostgroup{

2
hostgroup_name duangr-server

3
alias duangr Server

4
members duangr-1,duangr-2,duangr-3

5
}

解释下上面的配置:

  • hostgroup_name: 主机组的名称,可随意指定
  • alias: 主机组别名,可随意指定
  • members: 主机组成员,多个主机名称之前使用逗号分隔.另外主机名称必须与 define host 中host_name 一致.

主机的定义,后面会说到.
7.2.4 定义监控的主机
下面开始定义具体的主机
7.2.4.1 本地主机监控配置
先定义本地主机 duangr-1
vi /export/home/nagios/etc/servers/duangr-1.cfg
新文件,内容如下:
01
define host{

02
use linux-server

03
host_name duangr-1

04
alias duangr-1

05
address 192.168.56.10

06
}

07

08
define service{

09
use local-service

10
host_name duangr-1

11
service_description Host Alive

12
check_command check-host-alive

13
}

14
define service{

15
use local-service
nagios配置

16
host_name duangr-1

17
service_description Users

18
check_command check_local_users!20!50

19
}

20
define service{

21
use local-service

22
host_name duangr-1

23
service_description CPU

24
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0

25
}

26
define service{

27
use local-service

28
host_name duangr-1

29
service_description Disk Root

30
check_command check_local_disk!20%!10%!/

31
}

32
define service{

33
use local-service

34
host_name duangr-1

35
service_description Disk Home

36
check_command check_local_disk!20%!10%!/export/home

37
}

38
define service{

39
use local-service

40
host_name duangr-1

41
service_description Zombie Procs

42
check_command check_local_procs!5!10!Z

43
}

44
define service{

45
use local-service

46
host_name duangr-1

47
service_description Total Procs

48
check_command check_local_procs!250!400!RSZDT

49
}

50
define service{

51
use local-service

52
host_name duangr-1

53
service_description Swap Usage

54
check_command check_local_swap!20!10

55
}

说明下,由于是此主机也是监控服务主节点所在主机,因此可以使用check_local_* 的相关命令来进行监控. 开源监控软件
这个文件中已经将常用的监控项配置进去.
7.2.4.2 远程主机监控配置
再定义远程主机duangr-2和duangr-3
定义远程主机的监控之前,需要先定义check_nrpe命令
vi /usr/local/nagios/etc/objects/commands.cfg
在文件的最后面添加如下内容:
1
# 'check_nrpe' command definition

2
define command{

3
command_name check_nrpe

4
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$

5
}

6
define command{

7
command_name check_nrpe_args

8
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$ -a $ARG2$

9
}

定义duangr-2主机的监控配置
$ vi /usr/local/nagios/etc/servers/duangr-2.cfg
新文件,内容如下:
001
define host{

002
use linux-server

003
host_name duangr-2

004
alias duangr-2

005
address 192.168.56.11

006
}

007

008
define service{

009
use local-service

010
host_name duangr-2

011
service_description Host Alive

012
check_command check-host-alive

013
}

014
define service{

015
use local-service

016
host_name duangr-2

017
service_description Users

018
check_command check_nrpe_args!check_users!5 10

019
}

020
define service{

021
use local-service

022
host_name duangr-2

023
service_description CPU

024
check_command check_nrpe_args!check_load!15,10,5 30,25,20

025
}

026
define service{

027
use local-service

028
host_name duangr-2

029
service_description Disk Root

030
check_command check_nrpe_args!check_disk!20% 10% /

031
}

032
define service{

033
use local-service

034
host_name duangr-2

035
service_description Disk /export/home

036
check_command check_nrpe_args!check_disk!20% 10% /export/home

037
}

038
define service{

039
use local-service

040
host_name duangr-2

041
service_description Procs Zombie

042
check_command check_nrpe_args!check_procs!5 10 Z

043
}

044
define service{

045
use local-service

046
host_name duangr-2

047
service_description Procs Total

048
check_command check_nrpe_args!check_procs_args!"-w400 -c600"

049
}

050
define service{

051
use local-service

052
host_name duangr-2

053
service_description Swap Usage

054
check_command check_nrpe_args!check_swap!20% 10%

055
}

056

057
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

058
;; 下面是一些常用进程的监控,主要是云平台相关进程

059
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

060
;; 监控crond进程

061
define service{

062
use local-service

063
host_name duangr-2

064
service_description PS: crond

065
check_command check_nrpe_args!check_procs_args!"-c1:1 -Ccrond"

066
}

067
;; 监控zookeeper进程

068
define service{

069
use local-service

070
host_name duangr-2

071
service_description PS: QuorumPeerMain

072
check_command check_nrpe_args!check_procs_args!"-c1:1 -Cjava -aserver.quorum.QuorumPeerMain"

073
}

074
;;监控storm的从节点进程

075
define service{

076
use local-service

077
host_name duangr-2

078
service_description PS: supervisor

079
check_command check_nrpe_args!check_procs_args!"-c1:1 -Cjava -adaemon.supervisor"

080
}

081
;; 监控storm的主节点进程

082
define service{

083
use local-service

084
host_name duangr-2

085
service_description PS: nimbus

086
check_command check_nrpe_args!check_procs_args!"-c1:1 -Cjava -adaemon.nimbus"

087
}

088
;; 监控MetaQ进程

089
define service{

090
use local-service

091
host_name duangr-2

092
service_description PS: MetaQ

093
check_command check_nrpe_args!check_procs_args!"-c1:1 -Cjava -ametamorphosis-server-w"

094
}

095
;; 监控Redis进程

096
define service{

097
use local-service

098
host_name duangr-2

099
service_description PS: redis-server

100
check_command check_nrpe_args!check_procs_args!"-c1:1 -Credis-server"

101
}

102
;; 监控hadoop主节点NameNode进程

103
define service{

104
use local-service

105
host_name duangr-2

106
service_description PS: NameNode

107
check_command check_nrpe_args!check_procs_args!"-c1:1 -Cjava -aserver.namenode.NameNode"

108
}

109
;; 监控hadoop主节点SecondaryNameNode进程
nagios安装
110
define service{

111
use local-service

112
host_name duangr-2

113
service_description PS: SecondaryNameNode

114
check_command check_nrpe_args!check_procs_args!"-c1:1 -Cjava -aserver.namenode.SecondaryNameNode"

115
}

116
;; 监控hadoop主节点ResourceManager进程

117
define service{

118
use local-service

119
host_name duangr-2

120
service_description PS: ResourceManager

121
check_command check_nrpe_args!check_procs_args!"-c1:1 -Cjava -aserver.resourcemanager.ResourceManager"

122
}

123
;; 监控hadoop从节点DataNode进程

124
define service{

125
use local-service

126
host_name duangr-2

127
service_description PS: DataNode

128
check_command check_nrpe_args!check_procs_args!"-c1:1 -Cjava -aserver.datanode.DataNode"

129
}

130
;;监控hadoop从节点NodeManager进程

131
define service{

132
use local-service

133
host_name duangr-2

134
service_description PS: NodeManager

135
check_command check_nrpe_args!check_procs_args!"-c1:1 -Cjava -aserver.nodemanager.NodeManager"

136
}

说明下,由于duangr-2是远程主机,因此使用check_nrpe_args命令来监控.
这个文件中已经将常用的监控项配置进去, 同时还包含了hadoop、storm、zookeeper、metaq、redis的相关进程监控,主要的监控思路是判断进程是否存在。

定义duangr-3主机的监控配置
vi duangr-3.cfg
内容与duangr-2.cfg类似,只需要修改 host_name 、alias、 address即可.
7.2.4.3 邮件监控
定义监控人邮件地址
vi /usr/local/nagios/etc/objects/contacts.cfg
1
define contact{

2
contact_name nagiosadmin ; Short name of user

3
use generic-contact ; Inherit default values from generic-contact template (defined above)

4
alias Nagios Admin ; Full name of user

5
email

6
; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******

7
}

除了配置监控邮件的接收人外,还要确保:

  • 本主机与邮件服务器互通
  • 本主机SendMail可以使用外部SMTP服务发送邮件

7.2.4.4 校验配置
1
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

7.2.4.5 启动
1
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

nagios已经是一个服务,也可以执行如下操作:
1
service nagios start/stop/restart/status

8. 监控页面
[ ttp://192.168.56.10/nagios]

想做Nagios, Zabbix,Cacti,iTop各种交流的,可以进入开源监控工具Nagios交流 QQ群号 :476809427