环境中的软件版本>>>>>>>>>>>>>>>>>>
nagios版本:3.5.1
rrdtool版本:1.3.8
pnp4nagios版本:0.6.21

一、第一部分:nagios服务的部署安装 

(1)安装nagios服务所需的依赖

[root@nagios_server ~]# yum install yum install gcc make -y      //nagios源码安装需要
[root@nagios_server ~]# yum install glibc glibc-common -y //最小化安装的系统都会安装有这两个包
[root@nagios_server ~]# yum install httpd php -y
[root@nagios_server ~]# yum install gd gd-devel -y //php所需的gd库,不安装会影响主页上的Map功能

(2)、创建nagios用户、nagcmd组、
           将nagios和apache用户加入到nagcmd组中

[root@nagios_server nagios]# useradd nagios
[root@nagios_server nagios]# groupadd nagcmd
[root@nagios_server ~]# usermod -a -G nagcmd nagios
[root@nagios_server ~]# usermod -a -G nagcmd apache

(3)源码安装nagios

[root@nagios_server ~]# tar xf nagios-3.5..tar.gz
[root@nagios_server ~]# cd nagios
[root@nagios_server nagios]# ./configure --with-command-group=nagcmd
[root@nagios_server nagios]# make all //编译所有的源码
[root@nagios_server nagios]# make install //安装主程序,CGIs,网页文件,会产生bin、libexec、sbin、share、var目录
[root@nagios_server nagios]# make install-config //安装etc配置目录
[root@nagios_server nagios]# make install-init //安装nagios启动脚本
[root@nagios_server nagios]# make install-webconf //为nagios网站安装httpd配置文件
[root@nagios_server nagios]# make install-commandmode //外部命令访问nagios配置文件的权限、为./var/rw设置0775权限、改所属组为nagcmd

(4)解压nagios插件包、然后进入其目录,执行如下命令编译安装

[root@nagios_server nagios-plugins-2.0.]# ./configure --with-nagios-user=nagiosc --with-nagios-group=nagcmd
[root@nagios_server nagios-plugins-2.0.]# make && make install //编译安装

(5)启动httpd和nagios服务,然后为nagios网站首页设置密码

[root@nagios_server ~]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

根据提示会要求输入和确定密码,上面命令nagiosadmin为用户名,如下图所示:

第二部分:RRDTool+PNP4nagios的安装 

 pnp4nagios是一个小巧的开源软件包,它是基于PHP和Perl,利用rrdtool将Nagios采集的数据绘制成图表。

(1)其中对于rrdtool,我们可以直接使用yum的方式,在此也一同安装上pnp4nagios所需的依赖

[root@nagios_server ~]# yum install perl rrdtool php-gd perl-Time-HiRes rrdtool-perl -y

(2)解压pnp4nagios,进入pnp4nagios-0.6.21目录执行如下命令

[root@nagios_server pnp4nagios-0.6.]# ./configure \
--prefix=/usr/local/pnp4nagios \
--with-rrdtool=/usr/bin/rrdtool \
--with-nagios-user=nagios \
--with-nagios-group=nagios
[root@nagios_server pnp4nagios-0.6.]# make all           //编译所有源码
[root@nagios_server pnp4nagios-0.6.]# make fullinstall //安装全部

(3)配置pnp4nagios软件,需要修改pnp4nagios/etc下的目录,及其pages、check_commands目录的文件后缀

[root@nagios_server pnp4nagios-0.6.]# cd /usr/local/pnp4nagios/etc
[root@nagios_server etc]# mv misccommands.cfg-sample misccommands.cfg
[root@nagios_server etc]# mv nagios.cfg-sample nagios.cfg
[root@nagios_server etc]# mv rra.cfg-sample rra.cfg
[root@nagios_server etc]# mv pages/web_traffic.cfg-sample pages/web_traffic.cfg
[root@nagios_server etc]# cd check_commands/
[root@nagios_server check_commands]# mv check_all_local_disks.cfg-sample check_all_local_disks.cfg
[root@nagios_server check_commands]# mv check_nrpe.cfg-sample check_nrpe.cfg
[root@nagios_server check_commands]# mv check_nwstat.cfg-sample check_nwstat.cfg

(4)启动npcd服务

[root@nagios_server check_commands]# /etc/init.d/npcd restart      //启动npcd

(5)重启httpd服务,通过http://ip地址/pnp4nagios 验证pnp4nagios是否成功,如果安装成功、按提示删除如下文件

[root@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=                          //默认为0
host_perfdata_command=process-host-perfdata //默认前面有注释符#
service_perfdata_command=process-service-perfdata //默认前面有注释符#

(4)接下来就是模板的引用,只需要在需要出图的服务上引用srv-pnp即可,也可以在需要出图的主机上引用hosts-pnp,引用了就可以见到如下效果:

linux系统下Nagios+rrdtool+Pnp4nagios监控环境的搭建的更多相关文章

  1. SAAS云平台搭建札记: (二) Linux Ubutu下.Net Core整套运行环境的搭建

    最近做的项目,由于预算有限,公司决定不采购Windows服务器,而采购基于Linux的服务器. 一般的VPS服务器,如果使用Windows系统,那么Windows Server2012\2016安装好 ...

  2. Linux系统下配置网络、JAVA环境,配置tomcat,mysql

    一.配置网络 1.进入自己的系统,并跳转到network-scripts 2.编辑 3.查看系统的信息 4.将其添加到刚刚的if-cfg-eth0中 5.重启网络 6.这个时候ping百度还是ping ...

  3. Linux系统下本地yum镜像源环境部署-完整记录

    之前介绍了Linux环境下本地yum源配置方法,不过这个是最简单最基础的配置,在yum安装的时候可能有些软件包不够齐全,下面说下完整yun镜像源系统环境部署记录(yum源更新脚本下载地址:https: ...

  4. 使用inotify实现linux系统下的目录变化监控

    近期,有个项目须要及时删除Nginx服务生成的缓存文件,因为不是非常了解Nginx缓存生成的策略,在网上也沒有细致找,经过大家讨论,终于希望引入liunx的inotify功能,监控某个liunx文件夹 ...

  5. LINUX系统下Java和Scala的环境配置

    最近,笔者在研究一个有关“自然语言处理”的项目,在这个项目中,需要我们用Spark进行编程.而Spark内核是由Scala语言开发的,所以在使用Spark之前,我们必须配置好Scala,而Scala又 ...

  6. Linux系统下安装python3.7.3环境

    这里用到的Linux系统是centos7系统,centos7是自带py的但是py的2.7.5版本 连接服务器的使用的是SSH Secure shell 1.首先安装依赖包 1)安装gcc编译器 gcc ...

  7. 在Linux系统下安装jdk并配置环境变量

    本文主要介绍的是如何是Linux环境下安装JDK的,因为Linux环境下,很多时候也离不开Java的,下面笔者就和大家一起分享如何jdk1.8的过程吧. 1.安装环境 操作系统:CentOS 07 6 ...

  8. Windows10系统下Hadoop和Hive开发环境搭建填坑指南

    前提 笔者目前需要搭建数据平台,发现了Windows系统下,Hadoop和Hive等组件的安装和运行存在大量的坑,而本着有坑必填的目标,笔者还是花了几个晚上的下班时候在多个互联网参考资料的帮助下完成了 ...

  9. Linux系统下配置JDK环境变量

    刚申请了阿里云,平时很少接触Linux,特此记录一下Linux系统下安装JDK的步骤. 1.进入usr:cd /usr: 2.创建java文件夹:mkdir java: 3.将下载好的文件拷贝至jav ...

随机推荐

  1. [原创]AndroBugs_Framework Android漏洞扫描器介绍

    [原创]AndroBugs_Framework Android漏洞扫描器介绍 1 AndroBugs_Framework Android 漏洞扫描器简介 一款高效的Android漏洞扫描器,可以帮助开 ...

  2. C# Xamarin移动开发项目实战篇

    一.课程介绍 在前面阿笨的<C# Xamarin移动开发基础进修篇>课程中,大家已经熟悉和了解了Xamarin移动App开发的基础知识和原理.本次分享课<C# Xamarin移动开发 ...

  3. Spring Aop 修改目标方法参数和返回值

    一.新建注解 @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Document ...

  4. tensorflow由于未初始化变量所导致的错误

     版权声明:本文为博主原创文章,如需转载请注明出处,谢谢. https://blog.csdn.net/qq_38542085/article/details/78742295 初始代码 import ...

  5. spring注解之@PostConstruct在项目启动时执行指定方法

    一.注解解释 Spring的@PostConstruct注解在方法上,表示此方法是在Spring实例化该Bean之后马上执行此方法,之后才会去实例化其他Bean,并且一个Bean中@PostConst ...

  6. CentOS7本地安装MySQL5.7

    操作系统:3.10.0-514.el7.x86_64 安装包:mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz 1:检查是否安装了 libaio(centos7默认 ...

  7. 福利:42套AI技术视频免费领取

    <福利:33套AI技术视频免费领取> 视频获取方式:请加机器学习和自然语言(QQ群号:436303759)群后,私信群主获取(备注上自己想要获取是视频名称),仅限本群公众号粉丝成员,多套视 ...

  8. C#模拟客户端发送数据示例

      在给一些客户端做服务器端支持时,发现他们提交上来的数据大都不是http请求格式,因而使用Request.Form获取不到内容,今天用C#做下模拟,并演示下数据接收. 1.发送文本 1).客户端发送 ...

  9. Clion使用MinGW编译好的boost库

    MinGW编译Boost库可以参考我之前写的编译Boost的文章. 以下是cmake链接boost静态库的配置: cmake_minimum_required(VERSION 3.8) project ...

  10. ORACLE 存储函数

    前奏: 必要的概念: ORACLE 提供能够把 PL/SQL 程序存储在数据库中.并能够在不论什么地方来运行它.这样就叫存储过 程或函数. 过程和函数统称为 PL/SQL 子程序.他们是被命名的 PL ...