Nagios学习笔记之(四)外部扩展:
yum -y install php-gd rrdtool-perl rrdtool librrds-perl perl-Time-HiRes
wget http://jaist.dl.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.21.tar.gz
tar zxf pnp4nagios-0.6.21.tar.gz
cd pnp4nagios-0.6.21
./configure --with-nagios-user=nagios --with-nagios-group=nagcmd #编译前的预配置,nagcmd为你安装nagios时指定的组
make all #编译
make install #安装
make install-webconf #安装web配置文件
make install-config #安装样例配置文件
make install-init #初始化服务
ls|grep sample|awk -F"." '{print $1}'|xargs -i{} mv {}.cfg-sample {}.cfg
#意思就是把所有以.cfg-sample的样例文件直接变成.cfg
3.1.首先就是修改nagios的主配置文件,打开数据传输
sed -i 's/process_performance_data=0/process_performance_data=1/' /usr/local/nagios/etc/nagios.cfg
sed -i 's/#host_perfdata_command/host_perfdata_command/' /usr/local/nagios/etc/nagios.cfg
sed -i 's/#service_perfdata_command/service_perfdata_command/' /usr/local/nagios/etc/nagios.cfg
##添加
# 'process-host-perfdata' command definition
define command{
command_name process-host-perfdata
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl
}
# 'process-service-perfdata' command definition
define command{
command_name process-service-perfdata
command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl
} #把原有的注释,添加即可,也可在其上直接修改
define host {
name hosts-pnp
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=_HOST_
register 0
}
define service {
name services-pnp
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
} #在最后添加即可
define host{
use linux-server,hosts-pnp #添加至此就ok了
host_name mail
alias mail
address 192.168.1.1
}
define service{
use generic-service,services-pnp #添加至此就ok了
host_name mail
service_description CPU Load
check_command check_nrpe!check_load
contact_groups mailadm
}
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.55.tar.gz
tar zxf sendEmail-v1.55.tar.gz
cd sendEmail-v1.55
cp sendEmail /usr/local/bin
chmod 755 /usr/local/bin/sendEmail
/usr/local/bin/sendEmail �Cf nagios@test.com �Ct tony@test.com �Cs mail.test.com �Cu “nagios test” �Cxu nagios �Cxp abc123 �Cm test
define command {
command_name notify-host-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\n
State: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/sbin/sendEmail -f 邮箱名
-t $CONTACTEMAIL$ -s 邮件服务器地址 -u "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" -xu smtp认证名 -xp 密码
register 1
}
define command {
command_name notify-service-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVIC
EDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/sbin/sendEmail -f
邮箱名 -t $CONTACTEMAIL$ -s 邮件服务器地址 -u "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVI
CESTATE$ **" -xu smtp认证名 -xp 密码
register 1
}
Options:
-h, --help #显示帮助
Print detailed help screen
-V, --version #显示版本
Print version information
-H, --hostname=ADDRESS #指定要监控的主机名
Host name argument for servers using host headers (virtual host)
Append a port to include it in the header (eg: example.com:5000)
-I, --IP-address=ADDRESS #指定要监控主机的ip
IP address or name (use numeric address if possible to bypass DNS lookup).
-p, --port=INTEGER #指定要监控的端口,默认80
Port number (default: 80)
-4, --use-ipv4 #使用ipv4协议
Use IPv4 connection
-6, --use-ipv6 #使用ipv6协议
Use IPv6 connection
-S, --ssl=VERSION #使用ssl加密,默认端口就是443
Connect via SSL. Port defaults to 443. VERSION is optional, and prevents
auto-negotiation (1 = TLSv1, 2 = SSLv2, 3 = SSLv3).
所以假如监控的端口不是80的话,比如8080,改成下面:
define service{
use generic-service
host_name server
service_description HTTP
check_command check_nrpe!check_http -p 8080
}
Nagios全系列笔记:
Nagios学习笔记之(一)最初搭建
Nagios学习笔记之(二)监控部署
Nagios学习笔记之(三)配置详解
Nagios学习笔记之(四)外部扩展
Nagios学习笔记之(五)后期维护
本文出自 “____�N.�r^随记” 博客,转载请与作者联系!