环境中的软件版本>>>>>>>>>>>>>>>>>>
nagios版本:3.5.1
rrdtool版本:1.3.8
pnp4nagios版本:0.6.21
一、第一部分:nagios服务的部署安装
(1)安装nagios服务所需的依赖
[iyunv@nagios_server ~]# yum install yum install gcc make -y //nagios源码安装需要
[iyunv@nagios_server ~]# yum install glibc glibc-common -y //最小化安装的系统都会安装有这两个包
[iyunv@nagios_server ~]# yum install httpd php -y
[iyunv@nagios_server ~]# yum install gd gd-devel -y //php所需的gd库,不安装会影响主页上的Map功能
(2)、创建nagios用户、nagcmd组、
将nagios和apache用户加入到nagcmd组中
[iyunv@nagios_server nagios]# useradd nagios
[iyunv@nagios_server nagios]# groupadd nagcmd
[iyunv@nagios_server ~]# usermod -a -G nagcmd nagios
[iyunv@nagios_server ~]# usermod -a -G nagcmd apache
(3)源码安装nagios
[iyunv@nagios_server ~]# tar xf nagios-3.5.1.tar.gz
[iyunv@nagios_server ~]# cd nagios
[iyunv@nagios_server nagios]# ./configure --with-command-group=nagcmd
[iyunv@nagios_server nagios]# make all //编译所有的源码
[iyunv@nagios_server nagios]# make install //安装主程序,CGIs,网页文件,会产生bin、libexec、sbin、share、var目录
[iyunv@nagios_server nagios]# make install-config //安装etc配置目录
[iyunv@nagios_server nagios]# make install-init //安装nagios启动脚本
[iyunv@nagios_server nagios]# make install-webconf //为nagios网站安装httpd配置文件
[iyunv@nagios_server nagios]# make install-commandmode //外部命令访问nagios配置文件的权限、为./var/rw设置0775权限、改所属组为nagcmd
(4)解压nagios插件包、然后进入其目录,执行如下命令编译安装
[iyunv@nagios_server nagios-plugins-2.0.3]# ./configure --with-nagios-user=nagiosc --with-nagios-group=nagcmd
[iyunv@nagios_server nagios-plugins-2.0.3]# make && make install //编译安装
(5)启动httpd和nagios服务,然后为nagios网站首页设置密码
[iyunv@nagios_server ~]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
根据提示会要求输入和确定密码,上面命令nagiosadmin为用户名,如下图所示:
第二部分:RRDTool+PNP4nagios的安装
pnp4nagios是一个小巧的开源软件包,它是基于PHP和Perl,利用rrdtool将Nagios采集的数据绘制成图表。
(1)其中对于rrdtool,我们可以直接使用yum的方式,在此也一同安装上pnp4nagios所需的依赖
[iyunv@nagios_server ~]# yum install perl rrdtool php-gd perl-Time-HiRes rrdtool-perl -y
(2)解压pnp4nagios,进入pnp4nagios-0.6.21目录执行如下命令
[iyunv@nagios_server pnp4nagios-0.6.21]# ./configure \
--prefix=/usr/local/pnp4nagios \
--with-rrdtool=/usr/bin/rrdtool \
--with-nagios-user=nagios \
--with-nagios-group=nagios
[iyunv@nagios_server pnp4nagios-0.6.21]# make all //编译所有源码
[iyunv@nagios_server pnp4nagios-0.6.21]# make fullinstall //安装全部
(3)配置pnp4nagios软件,需要修改pnp4nagios/etc下的目录,及其pages、check_commands目录的文件后缀
[iyunv@nagios_server pnp4nagios-0.6.21]# cd /usr/local/pnp4nagios/etc
[iyunv@nagios_server etc]# mv misccommands.cfg-sample misccommands.cfg
[iyunv@nagios_server etc]# mv nagios.cfg-sample nagios.cfg
[iyunv@nagios_server etc]# mv rra.cfg-sample rra.cfg
[iyunv@nagios_server etc]# mv pages/web_traffic.cfg-sample pages/web_traffic.cfg
[iyunv@nagios_server etc]# cd check_commands/
[iyunv@nagios_server check_commands]# mv check_all_local_disks.cfg-sample check_all_local_disks.cfg
[iyunv@nagios_server check_commands]# mv check_nrpe.cfg-sample check_nrpe.cfg
[iyunv@nagios_server check_commands]# mv check_nwstat.cfg-sample check_nwstat.cfg
(4)启动npcd服务
[iyunv@nagios_server check_commands]# /etc/init.d/npcd restart //启动npcd
(5)重启httpd服务 ,通过http://ip地址/pnp4nagios 验证pnp4nagios是否成功,如果安装成功、按提示删除如下文件
[iyunv@nagios_server check_commands]# rm -rf /usr/local/pnp4nagios/share/install.php
第三部分:nagios与pnp4nagios的结合
(1)定义命令、需要注释掉自带的process-host-perfdata和process-service-perfdata
编辑/usr/local/nagios/etc/objects/commands.cfg 文件,加入如下内容:
define command{
command_name process-host-perfdata
command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
}
define command{
command_name process-service-perfdata
command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl
}
(2)定义模板 ,编辑/usr/local/nagios/etc/objects/templates.cfg ,加入如下内容:
define host {
name hosts-pnp
register 0
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_
process_perf_data 1
}
define service {
name srv-pnp
register 0
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
process_perf_data 1
}
(3)修改nagios配置文件/usr/local/nagios/etc/nagios.cfg
process_performance_data=1 //默认为0
host_perfdata_command=process-host-perfdata //默认前面有注释符#
service_perfdata_command=process-service-perfdata //默认前面有注释符#
(4)接下来就是模板的引用 ,只需要在需要出图的服务上引用srv-pnp 即可,也可以在需要出图的主机上引用hosts-pnp ,引用了就可以见到如下效果:
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com