奔富洛神西拉赤霞珠:pnp4nagios安装配置
来源:百度文库 编辑:偶看新闻 时间:2024/05/01 12:57:13
pnp4nagios安装配置(2011-05-31 09:45)分类: Nagios
(1)安装
#tar -zxvf php4nagios-*.tar.gz
#cd php4nagios
#./configure--with-nagios-user=nagios --with-nagios-group=nagios (如果单独编译安装的rrdtoool,则使用--with-rrdtool=/usr/local/rrdtool-1.2.xx/bin/rrdtool这样的形式)#make all
#make install
#make install-webconf
#make install-config
#make install-init(使用这条命令替换所有的make命令, make fullinstall)#service httpd restart
(2)配置
pnp4nagios有三种模式,配置方法分别如下Synchronous Mode:#vi /usr/local/nagios/etc/nagios.cfg
process_performance_data=1
enable_environment_macros=1
service_perfdata_command=process-service-perfdata
host_perfdata_command=process-host-perfdata#vi /usr/local/nagios/etc/command.cfg
define command {
command_name process-service-perfdata
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl
}
define command {
command_name process-host-perfdata
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
}
Bulk Mode:#vi /usr/local/nagios/etc/nagios.cfg
process_performance_data=1service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=15
service_perfdata_file_processing_command=process-service-perfdata-filehost_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
host_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file
#vi /usr/local/nagios/etc/command.cfg
define command{
command_name process-service-perfdata-file
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/service-perfdata
}
define command{
command_name process-host-perfdata-file
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/host-perfdata
}由于一次处理的性能数据比较多,有可能超时,可以更改etc/process_perfdata.cfg里的timeout时间。
Bulk Mode with NPCD: (我们现在使用的是这种方式)更改方法同bulk mode,只有定义command部分不同:
#vi /usr/local/nagios/etc/command.cfg
define command{
command_name process-service-perfdata-file
command_line /bin/mv /usr/local/pnp4nagios/var/service-perfdata/usr/local/pnp4nagios/var/spool/service-perfdata.$TIMET$
}
define command{
command_name process-host-perfdata-file
command_line /bin/mv /usr/local/pnp4nagios/var/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$
}
#/usr/local/pnp4nagios/bin/npcd -d -f /usr/local/pnp4nagios/etc/npcd.cfg(确保npcd.cfg中设置了正确的spool目录)
(3)检查
第一次访问http://ip/php4nagios
将会执行一个必要部分的检查。如果看到“PHP magic_quotes_gpc is deprecated”,那么到php.ini文件中找到相应的设置并off掉。调试日志
如果想产生调试日志,则更改process_perfdata.cfg中的
LOG_LEVEL=2,
一般情况下设置为0即可。
(4)排错verify_pnp_config
在运行pnp4nagios之前,我们最好运行一下scritps下的verify_pnp_config.pl来检查一下PNP的配置。
(5)将性能图集成到nagios的web页面中
更改定义主机和服务的模板文件:
define host {
name host-pnp
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=_HOST_
register 0
}define service {
name srv-pnp
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}
再定义主机和服务时,添加上use行,来使用模板主机和服务:define host{
use linux-server,host-pnp ; Name of host templates to use
; This host definition will inherit all variables that are defined
; in (or inherited by) the linux-server host template definition.
host_name localhost
alias localhost
address 127.0.0.1
} define service{
use local-service,srv-pnp ; Name of service template to use
host_name localhost
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
你可以定义PNP集成到Nagios中,不需要点击任何图表就显示性能数据
1. 安装并运行PNP
2. 将contrib/ssi目录下的status-header.ssi拷贝到/usr/local/nagios/share/ssi/下。不要添加可执行权限。
3.更改相关的主机和服务模板设置:
define host {
name host-pnp
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=_HOST_'class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=_HOST_
register 0
}define service {
name srv-pnp
action_url/pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips'rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}
(6)设置PNP Web前端通过更改etc/config.php来实现对PNP Web前端的更改。一般我们将自己的调整写在etc/config_local.php中,
但是如果这个文件不存在,则config.php可以作为一个参考。
(7)定义page在/usr/local/pnp4nagios/etc/pages下创建*.cfg的文件,文件定义了要显示在一个页面上的性能数据:例如define page {
use_regex 1 # 0 = use no regular expressions, 1 = use regular expressions
page_name test-page # page description
}define graph {
host_name host1,host2,host3 #将显示host1,host2,host3三台主机的Current_Load服务性能图在test-page页面上
service_desc Current_Load
}define graph {
host_name host1,host2 #将显示host1和host2上所有包含a或者o的服务的性能图到test-page页面上
service_desc a|o
}
(8)模板模板存放在两个位置
share/template.dist 存放PNP包中的模板
share/template 自定义的模板存放位置如果显示localhost上http服务的图形,那么PNP将会通过perfdata/localhost/http.xml文件中的TEMPLATE定义部分来决定使用什么模板(这个文件是自动生成的)。
PNP查找模板的顺序如下:
1. templates/check_http.php
2. templates.dist/check_http.php
3. templates/default.php
4. templates/default.php 创建自己的模板
模板必须遵循如下原则:
1.必须是有效的php语句
2.模板不能产生任何输出
3.队列$opt[]和$def[]必须被填充
另外一个需要注意的是,PNP4nagios是这样一个画图流程。
nagios里定义的命令名字 => pnp4nagios在etc/check_commands/ 目录下找跟命令名一样的 command_name.cfg => 这个配置文件中定义了模板的名字规则 个人总结:如果要创建某个nagios服务的画图模板,我们可以先确认这个服务的名称是什么,服务命令的名称是什么,然后到perfdata/hostname/下找到对应的“服务名.xml”,打开文件,看TEMPLATE定义部分的内容,这个内容便是这个相应检查命令默认使用的模板名称,模板后缀为php。
例如主机AAA的服务ALL_DISK,使用的命令是snmp_linux_alldisk_check.sh,那么我们可以查看perfdata/AAA/ALL_DISK.xml文件,TEMPLATE部分的内容是snmp_linux_alldisk_check,则说明这个服务使用模板snmp_linux_alldisk_check.php,而你可以自己创建这个文件,并放在share/tmplates下,来实现自定义显示效果。(9)NCPD的介绍当nagios服务器运行大量的服务(即检查),高负载可能导致这样一个问题,定义的检查轮训是5分钟,也许它10分钟才执行。如果这时,nagios服务器再执行性能数据的采集,将会加重其检查的延迟,为了使nagioscore摆脱性能数据的处理部分,我们使用ncpd。通过上面的配置部分,我们可以发现原本由nagioscore处理性能数据的命令,变成了仅仅将性能数据拷贝到/usr/local/pnp4nagios/var/spool目录下,并打上时间戳,这个速度是非常快的。剩下性能数据处理工作就由ncpd进程来完成,更新到rrd文件中。使用ncpd还有一个好处,防止性能数据的丢失,因为即使你的ncpd进程死掉活着重启之后没有启动ncpd,在/usr/local/pnp4nagios/var/spool目录下也保存着包含时间戳的数据,当重启ncpd进程时,它会对所有搜索到的数据进行处理,并更新到rrd文件中。
(10)nagios性能数据nagios将插件输出中”|”号后的内容作为性能数据。性能数据格式如下:
'label'=value[UOM];[warn];[crit];[min];[max]注意:
1. 多个性能数据之间用空格分割
2. label 可以包含任何字符
3. 如果label中包含空格、等号、或者单引号,则label需要用单引号来括起来
4. warn/crit/min/max可以为null值
5. 如果UOM单位是%,则min和max不需要再指定
6. UOM单位可以是如下: 默认空,表示数量(用于用户数、处理器数等)
s 表示秒(也可以用us,ms)
% 表示百分比
B 表示字节(也可以用KB,MB,TB,GB)
c 一个连续的计数(如:接口传输的字节数)
pnp4nagios的安装
(1)安装
#tar -zxvf php4nagios-*.tar.gz
#cd php4nagios
#./configure--with-nagios-user=nagios --with-nagios-group=nagios (如果单独编译安装的rrdtoool,则使用--with-rrdtool=/usr/local/rrdtool-1.2.xx/bin/rrdtool这样的形式)#make all
#make install
#make install-webconf
#make install-config
#make install-init(使用这条命令替换所有的make命令, make fullinstall)#service httpd restart
(2)配置
pnp4nagios有三种模式,配置方法分别如下Synchronous Mode:#vi /usr/local/nagios/etc/nagios.cfg
process_performance_data=1
enable_environment_macros=1
service_perfdata_command=process-service-perfdata
host_perfdata_command=process-host-perfdata#vi /usr/local/nagios/etc/command.cfg
define command {
command_name process-service-perfdata
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl
}
define command {
command_name process-host-perfdata
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
}
Bulk Mode:#vi /usr/local/nagios/etc/nagios.cfg
process_performance_data=1service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=15
service_perfdata_file_processing_command=process-service-perfdata-filehost_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
host_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file
#vi /usr/local/nagios/etc/command.cfg
define command{
command_name process-service-perfdata-file
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/service-perfdata
}
define command{
command_name process-host-perfdata-file
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/host-perfdata
}由于一次处理的性能数据比较多,有可能超时,可以更改etc/process_perfdata.cfg里的timeout时间。
Bulk Mode with NPCD: (我们现在使用的是这种方式)更改方法同bulk mode,只有定义command部分不同:
#vi /usr/local/nagios/etc/command.cfg
define command{
command_name process-service-perfdata-file
command_line /bin/mv /usr/local/pnp4nagios/var/service-perfdata/usr/local/pnp4nagios/var/spool/service-perfdata.$TIMET$
}
define command{
command_name process-host-perfdata-file
command_line /bin/mv /usr/local/pnp4nagios/var/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$
}
#/usr/local/pnp4nagios/bin/npcd -d -f /usr/local/pnp4nagios/etc/npcd.cfg(确保npcd.cfg中设置了正确的spool目录)
(3)检查
第一次访问http://ip/php4nagios
将会执行一个必要部分的检查。如果看到“PHP magic_quotes_gpc is deprecated”,那么到php.ini文件中找到相应的设置并off掉。调试日志
如果想产生调试日志,则更改process_perfdata.cfg中的
LOG_LEVEL=2,
一般情况下设置为0即可。
(4)排错verify_pnp_config
在运行pnp4nagios之前,我们最好运行一下scritps下的verify_pnp_config.pl来检查一下PNP的配置。
(5)将性能图集成到nagios的web页面中
更改定义主机和服务的模板文件:
define host {
name host-pnp
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=_HOST_
register 0
}define service {
name srv-pnp
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}
再定义主机和服务时,添加上use行,来使用模板主机和服务:define host{
use linux-server,host-pnp ; Name of host templates to use
; This host definition will inherit all variables that are defined
; in (or inherited by) the linux-server host template definition.
host_name localhost
alias localhost
address 127.0.0.1
} define service{
use local-service,srv-pnp ; Name of service template to use
host_name localhost
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
你可以定义PNP集成到Nagios中,不需要点击任何图表就显示性能数据
1. 安装并运行PNP
2. 将contrib/ssi目录下的status-header.ssi拷贝到/usr/local/nagios/share/ssi/下。不要添加可执行权限。
3.更改相关的主机和服务模板设置:
define host {
name host-pnp
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=_HOST_'class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=_HOST_
register 0
}define service {
name srv-pnp
action_url/pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips'rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}
(6)设置PNP Web前端通过更改etc/config.php来实现对PNP Web前端的更改。一般我们将自己的调整写在etc/config_local.php中,
但是如果这个文件不存在,则config.php可以作为一个参考。
(7)定义page在/usr/local/pnp4nagios/etc/pages下创建*.cfg的文件,文件定义了要显示在一个页面上的性能数据:例如define page {
use_regex 1 # 0 = use no regular expressions, 1 = use regular expressions
page_name test-page # page description
}define graph {
host_name host1,host2,host3 #将显示host1,host2,host3三台主机的Current_Load服务性能图在test-page页面上
service_desc Current_Load
}define graph {
host_name host1,host2 #将显示host1和host2上所有包含a或者o的服务的性能图到test-page页面上
service_desc a|o
}
(8)模板模板存放在两个位置
share/template.dist 存放PNP包中的模板
share/template 自定义的模板存放位置如果显示localhost上http服务的图形,那么PNP将会通过perfdata/localhost/http.xml文件中的TEMPLATE定义部分来决定使用什么模板(这个文件是自动生成的)。
PNP查找模板的顺序如下:
1. templates/check_http.php
2. templates.dist/check_http.php
3. templates/default.php
4. templates/default.php 创建自己的模板
模板必须遵循如下原则:
1.必须是有效的php语句
2.模板不能产生任何输出
3.队列$opt[]和$def[]必须被填充
另外一个需要注意的是,PNP4nagios是这样一个画图流程。
nagios里定义的命令名字 => pnp4nagios在etc/check_commands/ 目录下找跟命令名一样的 command_name.cfg => 这个配置文件中定义了模板的名字规则 个人总结:如果要创建某个nagios服务的画图模板,我们可以先确认这个服务的名称是什么,服务命令的名称是什么,然后到perfdata/hostname/下找到对应的“服务名.xml”,打开文件,看TEMPLATE定义部分的内容,这个内容便是这个相应检查命令默认使用的模板名称,模板后缀为php。
例如主机AAA的服务ALL_DISK,使用的命令是snmp_linux_alldisk_check.sh,那么我们可以查看perfdata/AAA/ALL_DISK.xml文件,TEMPLATE部分的内容是snmp_linux_alldisk_check,则说明这个服务使用模板snmp_linux_alldisk_check.php,而你可以自己创建这个文件,并放在share/tmplates下,来实现自定义显示效果。(9)NCPD的介绍当nagios服务器运行大量的服务(即检查),高负载可能导致这样一个问题,定义的检查轮训是5分钟,也许它10分钟才执行。如果这时,nagios服务器再执行性能数据的采集,将会加重其检查的延迟,为了使nagioscore摆脱性能数据的处理部分,我们使用ncpd。通过上面的配置部分,我们可以发现原本由nagioscore处理性能数据的命令,变成了仅仅将性能数据拷贝到/usr/local/pnp4nagios/var/spool目录下,并打上时间戳,这个速度是非常快的。剩下性能数据处理工作就由ncpd进程来完成,更新到rrd文件中。使用ncpd还有一个好处,防止性能数据的丢失,因为即使你的ncpd进程死掉活着重启之后没有启动ncpd,在/usr/local/pnp4nagios/var/spool目录下也保存着包含时间戳的数据,当重启ncpd进程时,它会对所有搜索到的数据进行处理,并更新到rrd文件中。
(10)nagios性能数据nagios将插件输出中”|”号后的内容作为性能数据。性能数据格式如下:
'label'=value[UOM];[warn];[crit];[min];[max]注意:
1. 多个性能数据之间用空格分割
2. label 可以包含任何字符
3. 如果label中包含空格、等号、或者单引号,则label需要用单引号来括起来
4. warn/crit/min/max可以为null值
5. 如果UOM单位是%,则min和max不需要再指定
6. UOM单位可以是如下: 默认空,表示数量(用于用户数、处理器数等)
s 表示秒(也可以用us,ms)
% 表示百分比
B 表示字节(也可以用KB,MB,TB,GB)
c 一个连续的计数(如:接口传输的字节数)
MySQL安装配置问题?
MIDI的安装配置
安装路由器的配置
outlook express安装,配置
PWS的安装与配置
win2000域控制器安装配置?
安装XP需要什么配置
路由器如何安装和配置?
sql server 2000 安装配置
XP系统IIS安装配置 ??
安装premere 最低配置要求
catia安装配置的问题
安装3dsMAX的最低配置和理想配置
PHOTOSHOP7.0安装需要配置的机器
sql安装程序配置服务器失败
win xpa的最低安装配置是什么?
安装WINDOWS XP要怎样的配置?
安装windows xp操作系统需要什么配置
急!!!!sql server 安装停在配置服务器?????
java的安装配置怎么搞啊?
window下如何安装配置php
Java工具包的安装配置问题
梦幻国度的安装配置条件
安装网卡时应配置什么参数