Nagios4.x安装配置总结

1.  Nagios介绍

Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等。

Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。

1.1监控范围

1、监控网络服务(SMTP、POP3、HTTP、NNTP、PING等);

2、监控主机资源(处理器负荷、磁盘、内存利用率等);

3、简单地插件设计使得用户可以方便地扩展自己服务的检测方法;

4、并行服务检查机制;

5、当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式);

6、自动的日志滚动功能;

7、可以支持并实现对主机冗余监控;

8、可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等;

1.2监控方式

Nagios通常由一个主程序(Nagios)、一个插件程序(Nagios-plugins)和四个可选的ADDON(NRPE、NSCA、NSClient++和NDOUtils)组成。Nagios的监控工作都是通过插件实现的,因此,Nagios和Nagios-plugins是服务器端工作所必须的组件。而四个ADDON中,NRPE用来在监控的远程Linux/Unix主机上执行脚本插件以实现对这些主机资源的监控;NSCA用来让被监控的远程Linux/Unix主机主动将监控信息发送给Nagios服务器(这在冗余监控模式中特别要用到);NSClient++是用来监控Windows主机时安装在Windows主机上的组件;而NDOUtils则用来将Nagios的配置信息和各event产生的数据存入数据库,以实现这些数据的快速检索和处理。这四个ADDON(附件)中,NRPE和NSClient++工作于客户端,NDOUtils工作于服务器端,而NSCA则需要同时安装在服务器端和客户端。

目前,Nagios只能安装在Linux系统主机上,其编译需要用到gcc。同时,如果打算使用web界面的管理工具的话,还需要有apache服务器和GD图形库的支持。

1.3报警方式

其次,我们再来看nagios监控的表现形式。监控的主要目的是当监控的对象发生故障或资源紧张时及时通知相关人员,以便问题得到迅速的处理。追求的效果就是"在老板和客户发现问题之前得到及时、有效的通知",假定故障通知来自老板,我想大家都不会很愉快的。Nagios为了方便我们的管理工作,提供了至少3种表现手段:
  1、web方式,即通过浏览器观看被监控的对象;如正常状态下,其状态(status)是以蓝色填充并显示一个OK。
  2、邮件通知,发生故障时,到达设定重试次数和探测间隔时间后发送邮件给管理员或相关人员,报告问题的大致情况。
  3、手机短信,这是非常有用和及时的功能了;晚上熟睡中,再也没可能看web页面或查阅邮件,可以一旦发生故障,手机短信却能把你随时唤醒。

1.4性能图表

可以查看主机状态、系统资源、服务状态等的历史记录(24小时/一周/一年)

以cpu使用情况为例,以下分别为24小时/一周/一年 的服务器的cpu使用情况(包括使用情况的当前大小、最大值和平均值)

2.  Nagios安装及配置

2.1 安装依赖包

依赖包以yum方式安装。Yum的配置方法在这里就不多介绍了(建议通过公网的yum源进行安装)。

yum install -y httpd httpd-manual httpd-devel  php php-mysql mysql-devel php-pear \

php-gd php-pdo php-ldap php-xml perl-DBI perl-CPAN perl-Digest-SHA1 \

perl-Digest-HMAC perl-Socket6 perl-IO-Socket-INET6 net-snmp-devel dmidecode \

net-snmp net-snmp-perl net-snmp-utils gcc-c++ glib2-devel graphviz pango \

cairo-devel libxml2-devel pango-devel perl-Time-HiRes \

gd gd-devel libjpeg-turbo libjpeg-turbo-devel libXpm libXpm-devel

注: gd、zlib、jpeg为图形所需的包,若未安装上,将没有nagios map

针对操作系统默认安装的软件包不同,安装的依赖包也有所差异。以上安装的依赖包是针对系统为精简安装所需要安装的依赖包。

2.2 修改snmp配置

Nagios的监控方式有很多,snmp的方式主要是针对以后要监控服务器网卡流量信息。

vim /etc/snmp/snmpd.conf

41    com2sec notConfigUser 127.0.0.1 public

62    access notConfigGroup "" any noauth exact all none none

85    view all included .1 80

service snmpd restart

chkconfig snmpd on

2.3    安装Nagios

目前可使用以下最新版的安装包

2.3.1   创建naigios程序用户、组

useradd -s /sbin/nologin nagios

mkdir /usr/local/nagios

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

2.3.2   安装Nagios

tar zxf nagios-4.4.4.tar.gz

cd nagios-4.4.4

./configure --with-command-group=nagcmd --prefix=/usr/local/nagios/

make all && make install && make install-daemoninit && make install-commandmode && make install-config && make install-webconf

#注: make install-webconf将自动生成nagios web配置 文件,也就无需手动去httpd.conf中添加相应的配置。

make install-exfoliation

#注: make install-exfoliation为naigios新的界面,想要换成以前老的见面需要执行make install-classicui老的界面

2.3.3 安装Nagios插件

tar zxf nagios-plugins-2.2.1.tar.gz

cd nagios-plugins-2.2.1

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

make ;make install

2.3.4 创建Naigios登陆认证

#注: Nagios默认的apache认证文件位于“/usr/local/nagios/etc/htpasswd”

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

#注: nagiosadmin为登陆nagios的用户名,下面是需要输入的密码。

New password:

Re-type new password:

Adding password for user nagiosadmin

service httpd restart

chkconfig httpd on

2.3.5 安装Nrpe插件

Nrpe插件是Nagios监控的主要方式。详细监控方式如下:

#注: 建议从http://www.nagios.org官网下载最新的Nrpe插件。安装方式如下:

tar zxf nrpe-3.2.1.tar.gz

cd nrpe-3.2.1

./configure –prefix=/usr/local/nagios --enable-command-args

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

将nrpe添加为系统服务

vi /etc/services

nrpe            5666/tcp                # NRPE

#注: 需要为nagios添加nrpe命令

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

...

define command{

command_name      check_nrpe

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

}

2.3.6 安装rrdtools工具

tar zxf rrdtool-1.7.0.tar.gz

cd rrdtool-1.7.0

./configure --prefix=/usr/local/rrdtool

make;make install

2.3.7 安装PNP

tar zxvf  pnp4nagios-0.6.26.tar.gz

cd pnp4nagios-0.6.26

./configure --prefix=/usr/local/pnp4nagios --with-rrdtool=/usr/local/rrdtool/bin/rrdtool \

--with-perl_lib_path=/usr/local/rrdtool/lib/perl/5.10.1/x86_64-linux-thread-multi/

make all && make fullinstall

#注:make install-webconf将在/etc/httpd/conf.d/产生其配置文件pnp4nagios.conf

2.4 配置Nagios

A)创建默认配置文件

cd /usr/local/pnp4nagios/etc

cp misccommands.cfg-sample misccommands.cfg

cp nagios.cfg-sample nagios.cfg

cp rra.cfg-sample rra.cfg-sample

cd /usr/local/pnp4nagios/etc/pages

cp web_traffic.cfg-sample web_traffic.cfg

/usr/local/pnp4nagios/etc/check_commands

cp check_all_local_disks.cfg-sample check_all_local_disks.cfg

cp check_nrpe.cfg-sample check_nrpe.cfg

cp check_nwstat.cfg-sample check_nwstat.cfg

chown -R nagios:nagios /usr/local/pnp4nagios

B)修改process_perfdata.cfg

#修改Nagios主配置文件,增加曲线图

vi /usr/local/nagios/etc/nagios.cfg

833 process_performance_data=1

845 host_perfdata_command=process-host-perfdata

846 service_perfdata_command=process-service-perfdata

# templates.cfg在末行添加如下信息

#此配置为自定web界面的图形位置

vi /usr/local/nagios/etc/objects/templates.cfg

define host{

name       host-pnp

register   0

action_url /pnp4nagios/graph?host=$HOSTNAME$

}

define service{

name       srv-pnp

register   0

action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$

}

C)修改nagios commands.cfg,让PNP在后台自动生成性能曲线图

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

# ‘process-host-perfdata‘ command definition

define command{

command_name    process-host-perfdata

command_line    /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl  -d HOSTPERFDATA

}

# ‘process-service-perfdata‘ command definition

define command{

command_name    process-service-perfdata

command_line    /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl

}

#修改PNP日志级别(若pnp配置有问题,可以通过该日志排错)

vi /usr/local/pnp4nagios/etc/process_perfdata.cfg

#Loglevel 0=silent 1=normal 2=debug

LOG_LEVEL = 2

LOG_FILE = /usr/local/pnp4nagios/var/perfdata.log

#注意:配置完成后,需要等几分钟后才会有曲线图。

(曲线图的数据默认存放位置为:“ /usr/local/pnp4nagios/var/perfdata”  过个几分钟后该目录会生成相应的监控数据文件)

#删除pnp的默认web页面

cd /usr/local/pnp4nagios/share/

mv install.php install.php.bak

2.4.2 修改Nagios授权用户

#默认nagios仅允许nagiosadmin用户登陆。若在步骤“2.3.4 创建Naigios登陆认证”添加的为别的用户(如:user),则需要修改cgi.cfg文件。多个用户之间用逗号隔开(如:nagiosadmin,user)。

vi /usr/local/nagios/etc/cgi.cfg

authorized_for_system_information=nagiosadmin,user

authorized_for_configuration_information=nagiosadmin,user

authorized_for_system_commands= nagiosadmin,user

authorized_for_all_services= nagiosadmin,user

authorized_for_all_hosts= nagiosadmin,user

authorized_for_all_service_commands= nagiosadmin,user

authorized_for_all_host_commands= nagiosadmin,user

2.4.3 修改Nagios配置文件

vi /usr/local/nagios/etc/nagios.cfg

# directive as shown below:

cfg_dir=/usr/local/nagios/etc/objects/文件夹

#文件夹可根据项目名自定义,存放以.cfg结尾的配置文件。

# Definitions for monitoring the local (Linux) host

#cfg_file=/usr/local/nagios//etc/objects/localhost.cfg

#默认监控localhost,可根据需求是否注释

2.4.4 添加被监控主机配置文件

进入“/usr/local/nagios/etc/objects/文件夹”目录。创建一个以.cfg结尾的配置文件。例:

cd /usr/local/nagios/etc/objects/文件夹

touch linux.cfg

touch windows.cfg

#具体配置信息可参考如下配置

2.4.4.1 被监控主机为linux

#-------------------------------- linux server ------------------------#

#--------------------------------- hosts -----------------------------#

define host{

use                     linux-server,host-pnp

host_name               zhujiming

alias                   bieming

address                 ipdizhi

#        icon_image        image_file

#        icon_image_alt           alt_string

#        vrml_image        image_file

#        parents                 zhujiming

#        statusmap_image         server.png

#        2d_coords               200,200

#        3d_coords               200,200,100

}

#zhujiming -- 主机名

#bieming   -- 别名

#ipdizhi   -- p地址

#-------------------------------- services ---------------------------#

define service{                                   #监控cpu

use                     generic-service,srv-pnp

host_name               zhujiming

service_description     CPU_Usage

check_command           check_nrpe!check_cpu

}

define service{                                   #监控swap

use                     generic-service,srv-pnp

host_name               zhujiming

service_description     Swap_Usage

check_command           check_nrpe!check_swap

}

define service{                                   #监控mem

use                     generic-service,srv-pnp

host_name               zhujiming

service_description     Mem_Usage

check_command           check_nrpe!check_memory

}

define service{                                   #监控目录大小

use                     generic-service,srv-pnp

host_name               zhujiming

service_description     /_Usage

check_command           check_nrpe!check_/

}

define service{                                         #监控IO百分比

use                     generic-service,srv-pnp

host_name               zhujiming

service_description     IO_%util

check_command           check_nrpe!check_diskio

}

define service{                                         #监控磁盘IO

use                     generic-service,srv-pnp

host_name               zhujiming

service_description     IO_r/w

check_command           check_nrpe!check_iostat

}

#define service{                                 #监控服务

#     use                generic-service,srv-pnp

#        host_name               zhujiming

#        service_description     web

#        check_command           check_http

#        }

#define service{                                 #监控端口

#     use                generic-service,srv-pnp

#        host_name               zhujiming

#        service_description     tomcat

#        check_command           check_tcp!8080

#        }

#define service{                                 #监控网卡流量

#        use                     generic-service,srv-pnp

#        host_name               zhujiming

#        service_description     traffic

#     check_command           check_nrpe!check_traffic

#        }

#define service{                                 #监控负载

#        use                     generic-service,srv-pnp

#        host_name               zhujiming

#        service_description     CPU Load

#        check_command           check_nrpe!check_load

#        }

2.4.4.2 被监控主机为windows

#-------------------------------- windows server ------------------------#

#--------------------------------- hosts -----------------------------#

define host{

use                     windows-server,host-pnp

host_name               zhujiming

alias                   bieming

address                 ipdizhi

#        icon_image              image_file

#        icon_image_alt          alt_string

#        vrml_image              image_file

#        parents                 zhujiming

#        statusmap_image         server.png

#        2d_coords               200,200

#        3d_coords               200,200,100

}

#zhujiming -- 主机名

#bieming   -- 别名

#ipdizhi   -- p地址

#-------------------------------- services ---------------------------#

define service{                                                 #监控CPU

use                     generic-service,srv-pnp

host_name               zhujiming

service_description     CPU Load

check_command           check_nt!CPULOAD!-l 5,80,90

}

define service{                                                 #监控内存

use                     generic-service,srv-pnp

host_name               zhujiming

service_description     Memory Uadminsge

check_command           check_nt!MEMUSE!-w 80 -c 90

}

define service{                                                 #监控磁盘使用情况

use                     generic-service,srv-pnp

host_name               zhujiming

service_description     D:\ Drive Space

check_command           check_nt!USEDDISKSPACE!-l d -w 80 -c 90

}

#define service{                                               #监控服务

#        use                     generic-service,srv-pnp

#        host_name               zhujiming

#        service_description     web

#        check_command           check_http

#        }

#define service{                                               #监控端口

#     use                generic-service,srv-pnp

#        host_name               zhujiming

#        service_description     tomcat

#        check_command           check_tcp!8080

#define service{                                               #监控网卡流量

#        use                     generic-service,srv-pnp

#        host_name               zhujiming

#        service_description     traffic

#        check_command           check_traffic!2 -w 600,600 -c 800,800

#        }

#define service{                                               #监控服务

#        use                     generic-service,srv-pnp

#        host_name               zhujiming

#       service_description  SNMP

#     check_command           check_nt!SERVICESTATE!-d SHOWALL -l "SNMP Service"

#     }

2.4.5 主机组和服务组的配置

修改nagios主配置文件,添加主机组和服务组的配置文件

vi /usr/local/nagios/etc/nagios.cfg

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

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

#具体配置信息可参考如下配置

2.4.5.1 主机组的配置

vi /usr/local/nagios/etc/objects/hostgroups.cfg

define hostgroup{

hostgroup_name          windows-servers

alias                   windows机器

}

#define hostgroup{

#        hostgroup_name          template

#     alias            模版

#        members              host1,host2,

#     }

2.4.5.2 服务组的配置

vi /usr/local/nagios/etc/objects/servicegroups.cfg

#define servicegroup{

#        servicegroup_name      template1

#        alias                  模版1

#        members                   host1,service1,host2,service1,

#     }

#define servicegroup{

#        servicegroup_name       template2

#        alias                   模版2

#        members                 host1,service1,host2,service2,

#     }

3.  Nagios客户端配置

3.1 Linux客户端安装(以Centos5.5为例)

3.1.1 安装客户端及相关软件包

#注: 建议从http://www.nagios.org官网下载最新的nagios插件及nrpe软件包。安装方式如下:

useradd -s /sbin/nologin Nagios

tar zxf nagios-plugins-1.4.16.tar.gz

tar zxf nrpe-2.12.tar.gz

cd nagios-plugins-1.4.16

./configure ;make ;make install

cd ../nrpe-2.14

./configure ; make all ; make install-plugin ; make install-daemon ; make install-daemon-config

3.1.2 配置客户端

A)#让客户端允许nagios服务端监控(服务端地址以192.168.1.100为例)

sed -i ‘s/allowed_hosts=.*/allowed_hosts=127.0.0.1,192.168.1.100/g‘ /usr/local/nagios/etc/nrpe.cfg

B)#若要监控客户端的swap,数据盘等信息,需要修改客户端的配置文件

echo ‘command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%

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

#command[check_traffic]=/usr/local/nagios/libexec/check_traffic.sh  -V 2c -C public -H 127.0.0.1 -I 2 -w 800,800 -c 1000,1000 -K -b

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

command[check_memory]=/usr/local/nagios/libexec/check_memory.pl -u -w 80 -c 90

command[check_diskio]=/usr/local/nagios/libexec/check_diskio.sh -d dm-0 -w 60 -c 80

command[check_iostat]=/usr/local/nagios/libexec/check_iostat.sh -d dm-0 -w 20 -c 30

command[check_cpu]=/usr/local/nagios/libexec/check_cpu.sh -w 80 -c 90‘ >> /usr/local/nagios/etc/nrpe.cfg

#注:[check_swap]可自定义,但需要与服务端的配置文件中的命令相同。

# check_iostat.sh -d dm-0 -w 20 -c 30 脚本后面跟的为报警参数,具体信息可通过

/usr/local/nagios/libexec/check_iostat.sh --help查看。

C)#启动Nagios客户端:

sed -i "s#127.0.0.1#$nagios_server#g" /etc/xinetd.d/nrpe

grep "nrpe" /etc/services

if [ $? -eq 0 ];then

echo "ok"

else

echo "nrpe 5666/tcp # nrpe" >> /etc/services

fi

/etc/init.d/xinetd start

chkconfig xinetd on

#旧版本的启动方式

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d

echo ‘/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d

’ >> /etc/rc.local

netstat -an|grep 5666

##察看是否在5666端口上监听

##注意:防火墙 释放端口5666,很重要

D)服务器端的配置请参阅:” 2.4.4.1 被监控主机为linux

3.2 Windows客户端安装

3.2.1 安装客户端及相关软件包

A)上传软件包:NSCP-0.4.1.105-x64

B)双击运行即可

填写nagios服务器端的地址

两个步骤可根据监控的方式进行勾选,默认通过check_nt命令监控,即勾选第二个即可

3.2.2   配置客户端

A)  修改配置文件

编辑NSC.INI文件(位于C:\NSClient++目录)并做如下修改:

B)启动服务的方法

进入命令提示符:win+r

键入: services.msc

找到NSClient++,右键重新启动即可。

C)服务器端的配置请参阅:” 2.4.4.2 被监控主机为windows

4.  Nagios报警设置

4.1 Nagios检测频率相关设置

Windows与linux监控的模板基本相同,详细信息可查看“templates.cfg”

cat /usr/local/nagios/etc/objects/templates.cfg

# Linux host definition template - This is NOT a real host, just a template!

# Windows host definition template - This is NOT a real host, just a template!

#Host监控模板信息

check_interval          5 #主机每5分钟检查一次

retry_interval          1 #如果主机出现问题,每1分钟检查一次

max_check_attempts      10  #如果主机出现问题,每1分钟检查一次,共检查10次

notification_interval   30 #定义发送报警的频率,每30分钟发一次

#service监控模板信息

notification_options    w,u,c,r      ; Send notifications about warning, unknown, critical, and recovery events                #定义报警的类型

notification_interval   60       #定义报警的频率,每小时

notification_period      24x7   #定义报警的时间段

max_check_attempts      3    #如果一个监控项出现问题,它会检测3次,如果第三次依然有问题,nagios就会将它定义为出现问题的服务。

normal_check_interval    10    #正常的服务是每10分钟检测一次

即:定义监控的服务检测的频率。(对关键业务监控的频率需要变小。)

4.2 设置邮箱报警

设置邮箱联系人的默认文件为“contacts.cfg”

cat /usr/local/nagios/etc/objects/contacts.cfg

email   [email protected]   ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******

}

将[email protected]改成接收报警的邮箱即可。

4.2.1 安装mailx发送邮件

Nagios默认使用/usr/bin/mailx或者/usr/bin/mail发送邮件

安装mailx

yum -y install mailx

发送测试邮件

[[email protected] ~]#mail [email protected]

Subject: test mail from gzw

shaoyong test

.

EOT

从客户端查看邮件,邮件已收到。

4.2.2 报警配置文件之间的关系

A)hosts.cfg、services.cfg或者 “/usr/local/nagios/etc/objects/文件夹”目录下以.cfg结尾的配置文件,host和service分别定义了使用的模板,以linux服务器为例,信息如下:

cat /usr/local/nagios/etc/objects/项目名/xxx.cfg

define host{

use                     linux-server,host-pnp

}

define service{

use                     generic-service,srv-pnp

}

即:配置文件调用了配置模板

B)linux-server,host-pnp、generic-service,srv-pnp是在template.cfg,查看模板定义的联系人组如下:

cat /usr/local/nagios/etc/objects/template.cfg

# Linux host definition template - This is NOT a real host, just a template!

define host{

name         linux-server

use           generic-host

contact_groups             admins

}

define service{

name                    generic-service

contact_groups            admins

}

即:模板中定义的联系人为admins组

C)admins组是在contacts.cfg中定义的,查看contacts.cfg信息如下:

cat /usr/local/nagios/etc/objects/contacts.cfg

define contactgroup{

contactgroup_name      admins

alias                   Nagios Administrators

members               nagiosadmin

}

#定义了admins里包含了成员nagiosadmin用户

define contact{

contact_name           nagiosadmin

use                   generic-contact

alias                  Nagios Admin

email                 [email protected]

}

即:此处定义接收报警的邮箱地址

4.2.3 Nagios报警如何通过邮件发出去

A)hosts.cfg、services.cfg或者 “/usr/local/nagios/etc/objects/文件夹”目录下以.cfg结尾的配置文件,host和service分别定义了使用的模板,可通过“4.2.1 报警配置文件之间的关系查看。

B) linux-server,host-pnp、generic-service,srv-pnp是在template.cfg,查看模板定义的联系人组如下:

define contact{

name                            generic-contact

service_notification_commands   notify-service-by-email

host_notification_commands      notify-host-by-email

}

即:“notify-service-by-email” 、“notify-host-by-email”定义了发邮件的命令

C)“notify-service-by-email” 、“notify-host-by-email”命令是在commands.cfg中定义的,查看commands.cfg信息如下:(设置告警信息)

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

# ‘notify-host-by-email‘ command definition

define command{

command_name    notify-host-by-email

command_line    /usr/bin/printf "%b" "***** Nagios by ShaoYong *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$

}

# ‘notify-service-by-email‘ command definition

define command{

command_name    notify-service-by-email

command_line    /usr/bin/printf "%b" "***** Nagios by ShaoYong *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$

}

即:“command_line”就是发送邮件的具体内容

5.  拓扑图展现

被监控主机的配置文件中包含主机的坐标信息,可以先理清被监控主机间的逻辑关系后进行拓扑图的配置。

以linux服务器为例,其配置见“2.4.4.1被监控主机为linux”,主机定义部分如下:

define host{

use                     linux-server,host-pnp

host_name               zhujiming

alias                   bieming

address                 ipdizhi

parents                 zhujiming

#定义拓扑图中上联的设备

statusmap_image         server.png

#定义设备图标。默认位于“/usr/local/nagios/share/images/logos/”目录下。

2d_coords               200,200

#定义设备的坐标。根据拓扑图填写坐标位置。

#      3d_coords               200,200,100

}

最后,测试了一下,得出的拓扑展现如下:

原文地址:https://www.cnblogs.com/skyshao/p/11392686.html

时间: 2024-11-09 02:56:55

Nagios4.x安装配置总结的相关文章

Centos 6.6 安装-配置Nagios

安装-配置 1 开始下载: wget http://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.0.6/nagios-4.0.6.tar.gz/download?use_mirror=jaist 如下图所示,下载free版本的. ? 安装前准备工作,安装一些lib包: [[email protected] root]# yum -y install httpd gcc glibc glibc-common # yum ins

CentOS 6.9中Telnet的安装配置

Telnet:TCP/IP协议中的一员,是Internet远程登录服务的标准协议和主要方式.它为用户提供了在本地计算机上完成远程主机工作的能力.要开始一个Telnet会话,必须输入用户名和密码来登录服务器.Telnet是常用的远程控制Web服务器的方法,监听TCP的23号端口. xinetd:新一代的网络超级守护进程,经常用来管理多种轻量级的Internet服务.xinetd提供类似于inetd+tcp_wrapper的功能,但它更强大更安全.xinetd能够同时监听多个指定的端口,在接受用户请

使用LVS实现负载均衡原理及安装配置详解

转:http://www.cnblogs.com/liwei0526vip/p/6370103.html 使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director

47 监控系统基础及zabbix介绍、zabbix工作原理及安装配置、zabbix on CentOS7、zabbix配置

02    zabbix工作原理及安装配置 配置环境 node1192.168.1.120CentOS6.7 node2192.168.1.121CentOS6.7 1.安装配置zabbix #安装前准备 [[email protected] ~]#yum -y install mysql-server mysq [[email protected] ~]# mysql mysql> CREATE DATABASE zabbix CHARACTER SET utf8; mysql> GRANT

详解“FTP文件传输服务”安装配置实例

"FTP文件传输服务"安装配置实例 家住海边喜欢浪:zhang789.blog.51cto.com 目录 简介 ftp工作原理 常见的FTP服务 Vsftpd服务器的安装 Vsftpd.conf配置文件详解 配置FTP服务器实例 实例:配置匿名用户 实例:配置本地用户登录 实例:配置虚拟用户登录(MySQL认证) 实例:控制用户登录 实例:设置欢迎信息 分析vsftpd日志管理 FTP服务器配置与管理 简介 FTP 是File Transfer Protocol(文件传输协议)的英文简

redis应用之安装配置介绍

一.redis介绍: 1.redis定义: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主持.redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都

Linux下安装配置MongoDB数据库

说明: 操作系统:CentOS 5.X 64位 IP地址:192.168.21.130 实现目的: 安装配置MongoDB数据库 具体操作: 一.关闭SElinux.配置防火墙 1.vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq!  #保存退出 setenforce 0 #使配置立即生效 2.vi /etc/sysconfig/iptables  

Linux下安装配置Apache服务器

Linux下安装配置Apache服务器 1. 安装Apache [[email protected] ~]# yum –y install httpd 2. 启动Apache [[email protected] ~]# systemctl start httpd 3. 查看进程 [[email protected] ~]# systemctl status httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib

Exchange2016正式版功能介绍及全新安装配置

Exchange2016功能介绍及全新安装配置 说到Exchange服务相信很多人都在关注,微软在2015年更新了很多服务,从功能上来说确实做了很多优化及提升,具体就不多说了,微软在2015年10月1日发布了Exchange2016正式版,版本还是分为标准版和企业版,此次发布为多语言版本 同样微软在2015年发布了那些新产品呢 : 我们还是说说Exchange2016,从安装及官网文档上看微软从Exchange2010到Exchange2016角色上缩减了很多,从Exchange2010的Mai