51阅读吧 - 为您打造专业优质的文章分享平台!
您的当前位置: 51阅读吧 >

nagios安装|nagios安装详解

NO.1 nagios安装详解

Nagios 参考文档

1. 安装步骤:

1. 主服务器端安装

1.1 Apache 安装

./configure --prefix=/www --enable-module=so --enable-module=expires --enable-module=headers --enable-module=rewrite > apache_install_result 2>&1 make

make install

1.2 GD Lib库 安装

nagios生成和图形相关的cgi

1.3 Php 安装

./configure --prefix=/usr/local/php --with-apxs2=/www/bin/apxs --with-zlib=/usr --with-gd=/usr --with-png-dir=/usr --with-jpeg-dir=/usr

make

make install

修改/monior/naigos/etc/nagios.cfg

添加

#AddType text/html .shtml

#AddOutputFilter INCLUDES .shtml

AddType application/x-httpd-php .php .php3 .htm .phtml .php4

AddType application/x-httpd-php-source .phps

1.4 Nagios安装

添加nagios用户和组

groupadd nagios

useradd -g nagios -d /home/nagios -m nagios

以上命令和操作系统有关,可能有所不同

建立安装目录

mkdir -p /monitor/nagios

修改安装目录的权限

chown nagios:nagios /monitor/nagios

nagios安装 nagios安装详解

标识Web Server用户

grep "^User" /www/conf/httpd.conf

User daemon

表明用户名使daemon

./configure --prefix= /monitor/nagios \

--with-nagios-user=nagios \

--with-nagios-group=nagios \

--with-commang-group=nagios \

--with-httpd-conf=/www/conf

make all

make install

make install-init

make install-commandmode

make install-config

make install-webconf

设置页面访问权限

/www/bin/htpassword -c /monitor/nagios/etc/htpasswd.users nagiosadmin

修改/monior/naigos/etc/nagios.cfg

log_rotation_method=h 记录每小时平均数据

其他的配置均使用默认。(www.51jianli.com]

修改/monior/naigos/etc/cgi.cfg

允许使用cgi的用户 与页面访问用户匹配

authorized_for_configuration_information=nagiosadmin

authorized_for_system_information=nagiosadmin

修改/www/conf/httpd.conf文件

ServerName Nagiosbak

文档最后添加:

include /www/conf/nagios.conf

/www/conf/nagios.conf 定义认证模块

ScriptAlias /nagios/cgi-bin "/monitor/nagios/sbin"

<Directory "/monitor/nagios/sbin">

# SSLRequireSSL

Options ExecCGI

AllowOverride None

Order allow,deny

Allow from all

# Order deny,allow

# Deny from all

# Allow from 127.0.0.1

nagios安装 nagios安装详解

AuthName "Nagios Access"

AuthType Basic

AuthUserFile /monitor/nagios/etc/htpasswd.users Require valid-user

</Directory>

Alias /nagios "/monitor/nagios/share"

<Directory "/monitor/nagios/share">

# SSLRequireSSL

Options None

AllowOverride None

Order allow,deny

Allow from all

# Order deny,allow

# Deny from all

# Allow from 127.0.0.1

AuthName "Nagios Access"

AuthType Basic

AuthUserFile /monitor/nagios/etc/htpasswd.users Require valid-user

</Directory>

测试httpd.conf

/www/bin/apachectl -t

Syntax OK # 说明成功

访问地址 http://192.168.1.179/nagios/

1.5 RRDTool 安装

没啥特别的。[www.51jianli.com]

Nagios主配置文件去掉注释(开放取性能数据)

host_perfdata_command=process-host-perfdata

service_perfdata_command=process-service-perfdata

修改/monitor/naigos/etc/object/command.cfg

define command{

command_name process-host-perfdata

command_line /monitor/nagios/libexec/process_perfdata.pl }

# 'process-service-perfdata' command definition

nagios安装 nagios安装详解

define command{

command_name process-service-perfdata

command_line /monitor/nagios/libexec/process_perfdata.pl }

1.6 Qmail安装

按照原Qmail安装文档安装即可,无特殊设置。[www.51jianli.com]

2. 被监控端安装(Linux)

2.1 Nagios-Plugins 安装

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

Make;

Make install;

2.2 Nrpe 安装

groupadd nagios;useradd -g nagios -d /home/nagios -m nagios ./configure --prefix=/usr/local/nagios;

make all;

make install-plugin;

make install-daemon;

make install-daemon-config;

make install-xinetd

改变属主

chown –R nagios:nagios /usr/local/nagios

修改/etc/service

添加nrpe 5666/tcp

修改/etc/xinetd.d/nrpe

only_from = 192.168.1.179 允许谁来监控

nrpe服务隶属于xinetd服务 安装完成后重启xinetd服务

验证

netstat -at | grep nrpe

tcp 0 0 *:nrpe *:* LISTEN

# NRPE

nagios安装 nagios安装详解

3. 被监控端安装(windows)

下载nsclient 丢到windows目录下

Cmd 模式下安装

配置nsclient

编辑:NSC.ini

去掉在[modules]段里的列出模块程序的注释,除了CheckWMI.dll和 RemoteConfiguration.dll;

去掉在[Settings]段里的'allowed_hosts'选项注释,

allowed_hosts=192.168.1.179/32 确认一下在[NSClient]段里的'port'选项里已经去掉注释并设置成5666;

启动服务

2. 监控服务器配置文件

目录/monitor/nagios/etc

2.1主配置文件 nagios.cfg

为方便被监控机器管理,添加配置文件夹(nagios启动时会遍历以定义的目录下所有

以.cfg结尾的文件)

cfg_dir=/monitor/nagios/etc/objects/servers

注释掉本地监控

#cfg_file=/monitor/nagios/etc/objects/localhost.cfg

其余均使用默认值。(www.51jianli.com)

2.2 命令配置文件 /object/command.cfg

例:

define command{

command_name ip_conns 命令名

command_line $USER1$/ip_conns $ARG1$ $ARG2$ 具体命令

}

由于定义在command的命令均为监控服务器主动发起的指令,会增加一定网络负载,

nagios安装 nagios安装详解

我的配置中都不用,基本上可以只需要看看他自定义的命令怎么用就可以了。[www.51jianli.com)

2.3 监控时间配置文件/objects/timeperiods.cfg

定义监控时间类型 24*7 工作时间等等

2.4 联系人配置文件 /objects/contacts.cfg

定义单个联系人

define contact{

contact_name nagiosadmin 定义用户

use generic-contact 调用 template.cfg中的generic-contact模板

alias Nagios Admin

email hongyu.ma@51job.com

}

定义联系人组,可加多个联系人

define contactgroup{

contactgroup_name admins

alias Nagios Administrators

members nagiosadmin

}

2.5 模板配置文件 /objects/templates.cfg

define service{

name generic-service ; 模板名

active_checks_enabled 1 ; 允许主动监测服务 就是使用command的命令

passive_checks_enabled 1 ;允许被动监测服务 就是使用nrpe

parallelize_check 1

obsess_over_service 1

check_freshness 0

notifications_enabled 1 允许通知

event_handler_enabled 1 允许记录主机事件 flap_detection_enabled 1

failure_prediction_enabled 1 允许故障预告

retain_status_information 1 保存主机状态信息

retain_nonstatus_information 1

is_volatile 0

check_period 24x7 检查周期

max_check_attempts 3 最大重试次数 normal_check_interval 10 普通检查间隔

retry_check_interval 2 检查失败重试间隔

nagios安装 nagios安装详解

contact_groups admins 联系组

notification_options w,u,c,r 哪些需要报警 除正常外均报警 notification_interval 60 报警间隔60分钟

notification_period 24x7 报警时间段

register 0 说明这只是个模板

}

目前所有服务均使用此模板

define host{

name generic-host

notifications_enabled 1

event_handler_enabled 1

flap_detection_enabled 1

failure_prediction_enabled 1

retain_status_information 1

retain_nonstatus_information 1

notification_period 24x7

register 0

action_url /nagios/pnp/index.php?host=$HOSTNAME$ 数据图像Url

process_perf_data 1 允许读取性能数据

}

所有主机均使用此模板

2.6 Server下个主机配置

Nagios的配置有继承关系 关键字use 本地配置会覆盖继承配置

define host{

name linux-co

use generic-host

check_period 24x7

check_interval 5

retry_interval 1

max_check_attempts 10

check_command check-host-alive

notification_period 24x7

notification_interval 30

notification_options d,r

contact_groups admins

register 0

}

define host{

use linux-co 使用上一级定义的主机模板

nagios安装 nagios安装详解

host_name 5co2

alias 5co2

address 192.168.5.96

}

define hostgroup{

hostgroup_name linux-Co

alias Co

members 5co2

}

2.7 Service.cfg 配置

我把大多数常用服务整合到了service.cfg 配置下

define service{

use generic-service

hostgroup_name

linux-Sysmailmon,linux-Mysql,linux-Wap,linux-Nagios,linux-Co,linux-Www,li

nux-Internaltux,linux-JobMail,linux-Mytux,linux-Tjsearchweb,linux-Images,lin

ux-Internalweb,linux-My,linux-Searchweb,linux-Tjwww,linux-Xytr 之前定义的组名

//也可以对个别机器做 host_name 5www6

service_description IP cons 描述

check_command check_nrpe!ip_conns 使用nrpe的被动监测方式 action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$ process_perf_data 1 绘图需要这两个也可以定义在service模板里 }

2.8 Windows服务配置

采用check_nt命令取值均为nsce软件自带。[www.51jianli.com]

define service{

use generic-service

hostgroup_name windows-Newehireweb

service_description CPU Load

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

}

2.9 PNP rrdtool配置

Pnp的目录集合在nagios下

由于使用的是check_nrpe!命令的模式pnp会默认先查询配置中是否对check_nrpe有配置定义,如无则再去核对/monitor/nagios/share/pnp/templates 是否有相应的php模板。

nagios安装 nagios安装详解

新增配置/monitor/nagios/etc/pnp/check_commandscheck_nrpe.cfg

Pnp作图默认取下图中0的名字比对

# check_command check_nwstat!LOAD5!80%!90%

# ________0__________| | | |

# ________1____________________| | |

# ________2_________________________| |

# ________3____________________________|

#

CUSTOM_TEMPLATE = 1 取第2项核对模板

DATATYPE = GAUGE,GAUGE,COUNTER,COUNTER 取多种类型数据

所有rrd的数据文件存在/monitor/nagios/share/perdata 下。(www.51jianli.com)

2.10 Nrpe配置 /usr/local/nagios/etc/nrpe.cfg

首先保证nrpe的使用者是nagios

nrpe_user=nagios

nrpe_group=nagios

配置末尾处添加需要监测的命令

command[ip_conns]=/monitor/nagios/libexec/ip_conns 200 300

红色区域要与监控服务器里check_command check_nrpe!ip_conns 红色部分对应 修改这个后不需要重启服务。

2.11 邮件告警配置

配置文件 command.cfg

主机邮件通知命令

define command{

command_name notify-host-by-email

command_line /usr/bin/printf "%b" "***** Nagios *****\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$

}

define command{

command_name notify-service-by-email

command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type:

$NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service

nagios安装 nagios安装详解

Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$

再结合联系人配置

配置发送报警邮件时间间隔

notification_interval 10 表示10分钟发一次,可根据不同服务进行配置。[www.51jianli.com] notification_options w,u,c,r 表示那些状态需要报警

notification_period 24x7 表示报警时间段

目前在用的脚本

所有脚本均在nagios libexec目录下

check_mem.pl 监控内存和虚拟内存

/monitor/nagios/libexec/check_mem.pl -w 110,50 -c 150,80

ip_conns 监控tcp侦听数

/monitor/nagios/libexec/ip_conns 200 300

check_load 监控服务器负载

/monitor/nagios/libexec/check_load -w 15,10,5 -c 30,25,20

check_procs 监控进程数(目前做了httpd和总进程,僵死进程)

/monitor/nagios/libexec/check_procs -a http -w 20 -c 30

check_disk 监控磁盘空间

/monitor/nagios/libexec/check_disk -w 20% -c 10% -p /var 指定目录

Check_mailq 监控邮件队列

/usr/bin/sudo /usr/local/nagios/libexec/check_mailq -w 2000 -c 3000 -M qmail

check_tuxedo 监控tuxedo是否排队

/usr/local/nagios/libexec/check_tuxedo 1 5

由于nagios无执行tux的权限,在/etc/sudoer 添加以下命令

nagios ALL=(ALL) NOPASSWD: /usr/local/nagios/libexec/check_tuxedo

Memcache的三个监控

/usr/local/nagios/libexec/check_memcached_hits -w 65 -c 50

/usr/local/nagios/libexec/check_memcached_requestcount -w 50 -c 100

/usr/local/nagios/libexec/check_memcached_conns -w 50 -c 100

补充

主服务器IP : 192.168.1.179

监控端安装目录 : /monitor/nagios

被监控端安装目录 : /usr/local/nagios

安装包位置 : 192.168.1.179:/opt/nagiosfile.20091025.tgz

/opt/rrdtool-1.2.6.tar.gz

/opt/php-5.3.0.tar.gz

NO.2 nagios安装详解

Nagios 参考文档

1. 安装步骤:

1. 主服务器端安装

1.1 Apache 安装

./configure --prefix=/www --enable-module=so --enable-module=expires --enable-module=headers --enable-module=rewrite > apache_install_result 2>&1 make

make install

1.2 GD Lib库 安装

nagios生成和图形相关的cgi

1.3 Php 安装

./configure --prefix=/usr/local/php --with-apxs2=/www/bin/apxs --with-zlib=/usr --with-gd=/usr --with-png-dir=/usr --with-jpeg-dir=/usr

make

make install

修改/monior/naigos/etc/nagios.cfg

添加

#AddType text/html .shtml

#AddOutputFilter INCLUDES .shtml

AddType application/x-httpd-php .php .php3 .htm .phtml .php4

AddType application/x-httpd-php-source .phps

1.4 Nagios安装

添加nagios用户和组

groupadd nagios

useradd -g nagios -d /home/nagios -m nagios

以上命令和操作系统有关,可能有所不同

建立安装目录

mkdir -p /monitor/nagios

修改安装目录的权限

chown nagios:nagios /monitor/nagios

标识Web Server用户

grep "^User" /www/conf/httpd.conf

User daemon

表明用户名使daemon

./configure --prefix= /monitor/nagios \

--with-nagios-user=nagios \

--with-nagios-group=nagios \

--with-commang-group=nagios \

--with-httpd-conf=/www/conf

make all

make install

make install-init

make install-commandmode

make install-config

make install-webconf

设置页面访问权限

/www/bin/htpassword -c /monitor/nagios/etc/htpasswd.users nagiosadmin

修改/monior/naigos/etc/nagios.cfg

log_rotation_method=h 记录每小时平均数据

其他的配置均使用默认。

修改/monior/naigos/etc/cgi.cfg

允许使用cgi的用户 与页面访问用户匹配

authorized_for_configuration_information=nagiosadmin

authorized_for_system_information=nagiosadmin

修改/www/conf/httpd.conf文件

ServerName Nagiosbak

文档最后添加:

include /www/conf/nagios.conf

/www/conf/nagios.conf 定义认证模块

ScriptAlias /nagios/cgi-bin "/monitor/nagios/sbin"

<Directory "/monitor/nagios/sbin">

# SSLRequireSSL

Options ExecCGI

AllowOverride None

Order allow,deny

Allow from all

# Order deny,allow

# Deny from all

# Allow from 127.0.0.1

AuthName "Nagios Access"

AuthType Basic

AuthUserFile /monitor/nagios/etc/htpasswd.users Require valid-user

</Directory>

Alias /nagios "/monitor/nagios/share"

<Directory "/monitor/nagios/share">

# SSLRequireSSL

Options None

AllowOverride None

Order allow,deny

Allow from all

# Order deny,allow

# Deny from all

# Allow from 127.0.0.1

AuthName "Nagios Access"

AuthType Basic

AuthUserFile /monitor/nagios/etc/htpasswd.users Require valid-user

</Directory>

测试httpd.conf

/www/bin/apachectl -t

Syntax OK # 说明成功

访问地址 http://192.168.1.179/nagios/

1.5 RRDTool 安装

没啥特别的。

Nagios主配置文件去掉注释(开放取性能数据)

host_perfdata_command=process-host-perfdata

service_perfdata_command=process-service-perfdata

修改/monitor/naigos/etc/object/command.cfg

define command{

command_name process-host-perfdata

command_line /monitor/nagios/libexec/process_perfdata.pl }

# 'process-service-perfdata' command definition

define command{

command_name process-service-perfdata

command_line /monitor/nagios/libexec/process_perfdata.pl }

1.6 Qmail安装

按照原Qmail安装文档安装即可,无特殊设置。

2. 被监控端安装(Linux)

2.1 Nagios-Plugins 安装

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

Make;

Make install;

2.2 Nrpe 安装

groupadd nagios;useradd -g nagios -d /home/nagios -m nagios ./configure --prefix=/usr/local/nagios;

make all;

make install-plugin;

make install-daemon;

make install-daemon-config;

make install-xinetd

改变属主

chown –R nagios:nagios /usr/local/nagios

修改/etc/service

添加nrpe 5666/tcp

修改/etc/xinetd.d/nrpe

only_from = 192.168.1.179 允许谁来监控

nrpe服务隶属于xinetd服务 安装完成后重启xinetd服务

验证

netstat -at | grep nrpe

tcp 0 0 *:nrpe *:* LISTEN

# NRPE

3. 被监控端安装(windows)

下载nsclient 丢到windows目录下

Cmd 模式下安装

配置nsclient

编辑:NSC.ini

去掉在[modules]段里的列出模块程序的注释,除了CheckWMI.dll和 RemoteConfiguration.dll;

去掉在[Settings]段里的'allowed_hosts'选项注释,

allowed_hosts=192.168.1.179/32 确认一下在[NSClient]段里的'port'选项里已经去掉注释并设置成5666;

启动服务

2. 监控服务器配置文件

目录/monitor/nagios/etc

2.1主配置文件 nagios.cfg

为方便被监控机器管理,添加配置文件夹(nagios启动时会遍历以定义的目录下所有

以.cfg结尾的文件)

cfg_dir=/monitor/nagios/etc/objects/servers

注释掉本地监控

#cfg_file=/monitor/nagios/etc/objects/localhost.cfg

其余均使用默认值。

2.2 命令配置文件 /object/command.cfg

例:

define command{

command_name ip_conns 命令名

command_line $USER1$/ip_conns $ARG1$ $ARG2$ 具体命令

}

由于定义在command的命令均为监控服务器主动发起的指令,会增加一定网络负载,

我的配置中都不用,基本上可以只需要看看他自定义的命令怎么用就可以了。

2.3 监控时间配置文件/objects/timeperiods.cfg

定义监控时间类型 24*7 工作时间等等

2.4 联系人配置文件 /objects/contacts.cfg

定义单个联系人

define contact{

contact_name nagiosadmin 定义用户

use generic-contact 调用 template.cfg中的generic-contact模板

alias Nagios Admin

email hongyu.ma@51job.com

}

定义联系人组,可加多个联系人

define contactgroup{

contactgroup_name admins

alias Nagios Administrators

members nagiosadmin

}

2.5 模板配置文件 /objects/templates.cfg

define service{

name generic-service ; 模板名

active_checks_enabled 1 ; 允许主动监测服务 就是使用command的命令

passive_checks_enabled 1 ;允许被动监测服务 就是使用nrpe

parallelize_check 1

obsess_over_service 1

check_freshness 0

notifications_enabled 1 允许通知

event_handler_enabled 1 允许记录主机事件 flap_detection_enabled 1

failure_prediction_enabled 1 允许故障预告

retain_status_information 1 保存主机状态信息

retain_nonstatus_information 1

is_volatile 0

check_period 24x7 检查周期

max_check_attempts 3 最大重试次数 normal_check_interval 10 普通检查间隔

retry_check_interval 2 检查失败重试间隔

contact_groups admins 联系组

notification_options w,u,c,r 哪些需要报警 除正常外均报警 notification_interval 60 报警间隔60分钟

notification_period 24x7 报警时间段

register 0 说明这只是个模板

}

目前所有服务均使用此模板

define host{

name generic-host

notifications_enabled 1

event_handler_enabled 1

flap_detection_enabled 1

failure_prediction_enabled 1

retain_status_information 1

retain_nonstatus_information 1

notification_period 24x7

register 0

action_url /nagios/pnp/index.php?host=$HOSTNAME$ 数据图像Url

process_perf_data 1 允许读取性能数据

}

所有主机均使用此模板

2.6 Server下个主机配置

Nagios的配置有继承关系 关键字use 本地配置会覆盖继承配置

define host{

name linux-co

use generic-host

check_period 24x7

check_interval 5

retry_interval 1

max_check_attempts 10

check_command check-host-alive

notification_period 24x7

notification_interval 30

notification_options d,r

contact_groups admins

register 0

}

define host{

use linux-co 使用上一级定义的主机模板

host_name 5co2

alias 5co2

address 192.168.5.96

}

define hostgroup{

hostgroup_name linux-Co

alias Co

members 5co2

}

2.7 Service.cfg 配置

我把大多数常用服务整合到了service.cfg 配置下

define service{

use generic-service

hostgroup_name

linux-Sysmailmon,linux-Mysql,linux-Wap,linux-Nagios,linux-Co,linux-Www,li

nux-Internaltux,linux-JobMail,linux-Mytux,linux-Tjsearchweb,linux-Images,lin

ux-Internalweb,linux-My,linux-Searchweb,linux-Tjwww,linux-Xytr 之前定义的组名

//也可以对个别机器做 host_name 5www6

service_description IP cons 描述

check_command check_nrpe!ip_conns 使用nrpe的被动监测方式 action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$ process_perf_data 1 绘图需要这两个也可以定义在service模板里 }

2.8 Windows服务配置

采用check_nt命令取值均为nsce软件自带。

define service{

use generic-service

hostgroup_name windows-Newehireweb

service_description CPU Load

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

}

2.9 PNP rrdtool配置

Pnp的目录集合在nagios下

由于使用的是check_nrpe!命令的模式pnp会默认先查询配置中是否对check_nrpe有配置定义,如无则再去核对/monitor/nagios/share/pnp/templates 是否有相应的php模板。

新增配置/monitor/nagios/etc/pnp/check_commandscheck_nrpe.cfg

Pnp作图默认取下图中0的名字比对

# check_command check_nwstat!LOAD5!80%!90%

# ________0__________| | | |

# ________1____________________| | |

# ________2_________________________| |

# ________3____________________________|

#

CUSTOM_TEMPLATE = 1 取第2项核对模板

DATATYPE = GAUGE,GAUGE,COUNTER,COUNTER 取多种类型数据

所有rrd的数据文件存在/monitor/nagios/share/perdata 下。

2.10 Nrpe配置 /usr/local/nagios/etc/nrpe.cfg

首先保证nrpe的使用者是nagios

nrpe_user=nagios

nrpe_group=nagios

配置末尾处添加需要监测的命令

command[ip_conns]=/monitor/nagios/libexec/ip_conns 200 300

红色区域要与监控服务器里check_command check_nrpe!ip_conns 红色部分对应 修改这个后不需要重启服务。

2.11 邮件告警配置

配置文件 command.cfg

主机邮件通知命令

define command{

command_name notify-host-by-email

command_line /usr/bin/printf "%b" "***** Nagios *****\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$

}

define command{

command_name notify-service-by-email

command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type:

$NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service

Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$

再结合联系人配置

配置发送报警邮件时间间隔

notification_interval 10 表示10分钟发一次,可根据不同服务进行配置。 notification_options w,u,c,r 表示那些状态需要报警

notification_period 24x7 表示报警时间段

目前在用的脚本

所有脚本均在nagios libexec目录下

check_mem.pl 监控内存和虚拟内存

/monitor/nagios/libexec/check_mem.pl -w 110,50 -c 150,80

ip_conns 监控tcp侦听数

/monitor/nagios/libexec/ip_conns 200 300

check_load 监控服务器负载

/monitor/nagios/libexec/check_load -w 15,10,5 -c 30,25,20

check_procs 监控进程数(目前做了httpd和总进程,僵死进程)

/monitor/nagios/libexec/check_procs -a http -w 20 -c 30

check_disk 监控磁盘空间

/monitor/nagios/libexec/check_disk -w 20% -c 10% -p /var 指定目录

Check_mailq 监控邮件队列

/usr/bin/sudo /usr/local/nagios/libexec/check_mailq -w 2000 -c 3000 -M qmail

check_tuxedo 监控tuxedo是否排队

/usr/local/nagios/libexec/check_tuxedo 1 5

由于nagios无执行tux的权限,在/etc/sudoer 添加以下命令

nagios ALL=(ALL) NOPASSWD: /usr/local/nagios/libexec/check_tuxedo

Memcache的三个监控

/usr/local/nagios/libexec/check_memcached_hits -w 65 -c 50

/usr/local/nagios/libexec/check_memcached_requestcount -w 50 -c 100

/usr/local/nagios/libexec/check_memcached_conns -w 50 -c 100

补充

主服务器IP : 192.168.1.179

监控端安装目录 : /monitor/nagios

被监控端安装目录 : /usr/local/nagios

安装包位置 : 192.168.1.179:/opt/nagiosfile.20091025.tgz

/opt/rrdtool-1.2.6.tar.gz

/opt/php-5.3.0.tar.gz

NO.3 详述nagios的安装记录

一、Nagios具有如下特征

1.网络服务监控(包括 SMTP, POP3, HTTP, NNTP, PING 等)

2.服务器资源监控(CPU负载, 磁盘使用率等)

3.可以很容易地定制开发自己需要的服务监测插件

4.并行的服务监测

5.支持父主机规则,支持分布式

6.主机或服务故障时,支持使用邮件、短信等方式提醒管理员

7.支持故障时的事件定义,可以先行解决一些问题

8.自动的日志回滚

9.支持冗余监控主机

10可以通过 Web 界面查看当前网络状态、通知和故障日志等信息

二、Nagios安装过程

安装 Nagios 主要是两部分,Nagios Core 和 Nagios Plugins。Nagios Core 只是个 Daemon,负责调度,真正的检测操作还是通过 Nagios Plugins 来实现的。

(1)安装 Nagios Core

下载解压

  1. wgethttp://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.0.tar.gz
  2. tarzxfnagios-3.2.0.tar.gz
  3. cdnagios-3.2.0

添加 nagios 用户和组

useradd -m -s /bin/bash nagios groupadd nagios usermod -G nagios nagios

因为要用到 CGI 的 Web 监控面板,所以这里我们还要添加一个 nagcmd 组,用于 CGI 执行相关指令。

groupadd nagcmd usermod -a -G nagcmd nagios usermod -a -G nagcmd www

配置编译安装

./configure --with-command-group=nagcmd --with-htmurl=/ --with-cgiurl=/cgi-bin make all make install-init make install-commandmode make install-config

添加启动服务

rc-update add nagios default

启动 Nagios

/etc/init.d/nagios start

(2)安装Nagios Plugins

  1. wgethttp://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz
  2. tarzxfnagios-plugins-1.4.14.tar.gz
  3. cdnagios-plugins-1.4.14
  4. ./configure--with-cgiurl=/cgi-binmake&&makeinstall
  5. [#page_#]

三、配置Web监控面板

纯Nginx族要托管监控面板的CGI 当然还是选择用 Nginx。新建站点配置文件:

  1. server{
  2. listen80;
  3. server_namenagios.local;
  4. access_log/work/www/logs/nagios.access.logmain;
  5. error_log/work/www/logs/nagios.error.log;
  6. location/{
  7. root/usr/local/nagios/share;
  8. indexindex.htmlindex.htmindex.php;
  9. }
  10. location~.php${
  11. root/usr/local/nagios/share;
  12. fastcgi_indexindex.php;
  13. fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
  14. includefastcgi_params;
  15. fastcgi_passunix:/tmp/php-fpm.sock;
  16. }
  17. location/cgi-bin/images{
  18. alias/usr/local/nagios/share/images;
  19. }
  20. location/cgi-bin/stylesheets{
  21. alias/usr/local/nagios/share/stylesheets;
  22. }
  23. location/cgi-bin{
  24. alias/usr/local/nagios/sbin;
  25. }
  26. location~.cgi${
  27. root/usr/local/nagios/sbin;
  28. rewrite^/cgi-bin/(.*).cgi/.cgibreak;
  29. fastcgi_indexindex.cgi;
  30. fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
  31. includenginx_fcgi_params;
  32. fastcgi_read_timeout5m;
  33. fastcgi_passunix:/var/run/nginx-fcgi.sock;
  34. }
  35. }

修改配置文件

打开 /usr/local/nagios/etc/cgi.cfg,修改 use_authentication 为:

  1. use_authentication=0

即去除用户验证,然后重启 nagios。

打开 /usr/local/nagios/share/config.inc.php,把:

  1. $cfg['cgi_base_url']='/nagios/cgi-bin';

改为(根据自己的实际情况修改):

  1. $cfg['cgi_base_url']='/cgi-bin';

访问监控面板

  1. http://nagios.local/

搭建完成!

Nagios安装到这里就成功了,如果读者对于nagios不明白你可以阅读:nagios监控网络服务器和网络服务概念篇和教你如何进行Nagios 3.0初步安装配置。

上一篇:小儿咳嗽的食疗|小儿咳嗽的食疗(一) 上一篇:追寻红色足迹|追寻先贤的足迹
与该文相关的文章

温馨提示:如果您对51阅读吧有任何建议,请通过网站联系邮箱向我们反馈,感谢各位的建议与支持!