nagios图形显示的配置





在服务端安装相关软件

#1、图形显示管理的依赖库

yum install cairo pango zlib zlib-devel freetype freetype-devel gd gd-devel -y





#2、rrdtools的依赖

tar xf libart_lgpl-2.3.17.tar.gz

cd libart_lgpl-2.3.17

./configure

make

make install

/bin/cp -r /usr/local/include/libart-2.0 /usr/include

cd ../





#3、rrdtools轮询的数据库,专门画图

tar xf rrdtool-1.2.14.tar.gz 

cd rrdtool-1.2.14

./configure --prefix=/usr/local/rrdtool  --disable-python  --disable-tcl

#WARNING: The RRDs Perl Modules are not found on your System

#Using RRDs will speedup things in larger Installtions.

#configure后出现上面的提示可以不用理会。

make

make install

cd ../

ls -l /usr/local/rrdtool/bin





报错:

configure: error: Please fix the library issues listed above and try again.

解决:

yum -y install pango*

yum install -y libart_lgpl-devel





#4、PNP收集数据告诉rrdtools画图,PHP负责展示

tar zxf pnp-0.4.14.tar.gz

cd pnp-0.4.14

./configure \

--with-rrdtool=/usr/local/rrdtool/bin/rrdtool --with-perfdata-dir=/usr/local/nagios/share/perfdata/

#################

#  WARNING: The RRDs Perl Modules are not found on your System

#           Using RRDs will speedup things in larger Installtions.

#####################

make all

make install

make install-config

make install-init

ll /usr/local/nagios/libexec/ |grep process

问题:configure报错(一般不会发生)

checking for linker flags for loadable modules... -shared

checking for Perl Module Time::HiRes... no

configure: error: Perl Module Time::HiRes not available

解决:

yum install perl-Time-HiRes -y





配置出图



1.vim /usr/local/nagios/etc/nagios.cfg +833

    833 process_performance_data=1<==========

    834 

    835 

    836 

    837 # HOST AND SERVICE PERFORMANCE DATA PROCESSING COMMANDS

    838 # These commands are run after every host and service check is

    839 # performed.  These commands are executed only if the

    840 # enable_performance_data option (above) is set to 1.  The command

    841 # argument is the short name of a command definition that you

    842 # define in your host configuration file.  Read the HTML docs for

    843 # more information on performance data.

    844 

    845 host_perfdata_command=process-host-perfdata<==========

    846 service_perfdata_command=process-service-perfdata<==========





2.执行编辑命令 vim /usr/local/nagios/etc/objects/commands.cfg +227,修改commands.cfg配置文件。

#修改commands.cfg 配置文件,约227-238行

#默认配置为(如果没有直接添加即可)

#-----------------------------------------------------------------   

# 'process-host-perfdata' command definition

define command{

        command_name    process-host-perfdata

        command_line    /usr/bin/printf "%b" "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> /usr/local/nagios/var/host-perfdata.out

        }

# 'process-service-perfdata' command definition

define command{

        command_name    process-service-perfdata

        command_line    /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/service-perfdata.out

        }

修改成如下配置

# 'process-host-perfdata' command definition

define command{

        command_name    process-host-perfdata

        command_line    /usr/local/nagios/libexec/process_perfdata.pl

        }





# 'process-service-perfdata' command definition

define command{

        command_name    process-service-perfdata

        command_line    /usr/local/nagios/libexec/process_perfdata.pl

        } 

也可以用nagios变量$USER1$替代/usr/local/nagios/libexec/路径

执行检查语法命令/etc/init.d/nagios checkconfig 

Total Warnings: 0

Total Errors:   0

根据提示,配置通过。重新加载/etc/init.d/nagios reload





3、主机出图的配置,模板或主机配置里hosts.cfg或者vim templates.cfg

action_url            /nagios/pnp/index.php?host=$HOSTNAME$

单独对hosts.cfg的配置

对 templates.cfg 的配置

4、服务出图,模板或服务配置里service.cfg、templates.cfg注意,service中的use generic-service 要和 templates中的name generic-service名称要一致

action_url            /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$

对service.cfg的配置

对templates.cfg的配置

snmp协议(cacti),客户端安装或开启SNMP

nrpe(nlient++)

网络设备(路由器,交换机),开启SNMP





自定义插件:监控密码文件是否改变





测试

# md5sum /etc/passwd

c8273759e929d37c56dbae0478bd4d3b  /etc/passwd

[root@node3 ~]# md5sum /etc/passwd >/etc/jack.md5

[root@node3 ~]# md5sum -c /etc/jack.md5

/etc/passwd: OK





①在客户端添加自定义脚本

cd /usr/local/nagios/libexec

cat check_passwd





#!/bin/bash

char=`md5sum -c /etc/jack.md5 2>/dev/null|grep "OK"|wc -l`

if [ $char -eq 1 ];then

echo "passwd is ok"

exit 0

else

echo "passwd is changed"

exit 2

fi





# chmod +x check_passwd 

[root@node3 libexec]# ll check_passwd 

-rwxr-xr-x 1 root root 166 Jul 22 21:33 check_passwd

②在客户端增加命令,并重启nrpe服务使之生效

vim /usr/local/nagios/etc/nrpe.cfg

添加check_passwd定义命令

command[check_passwd]=/usr/local/nagios/libexec/check_passwd

③在服务端测试

/usr/local/nagios/libexec/check_nrpe -H 192.168.8.41 -c check_passwd





添加服务脚本

define service{

        use generic-service

        host_name node3.chinasoft.com

        service_description   check_passwd

        check_command   check_nrpe!check_passwd

}





检测语法并重新加载service nagios checkconfig,service nagios reload

④改变性测试在客户端执行添加用户命令 useradd jack

服务端执行

/libexec/check_nrpe -H 192.168.8.41 -c check_passwd

passwd is changed

nagios系列(五)之nagios图形显示的配置及自定义插件检测密码是否修改详解的更多相关文章

  1. 《手把手教你》系列技巧篇(三十五)-java+ selenium自动化测试-单选和多选按钮操作-下篇(详解教程)

    1.简介 今天这一篇宏哥主要是讲解一下,如何使用list容器来遍历多选按钮.大致两部分内容:一部分是宏哥在本地弄的一个小demo,另一部分,宏哥是利用JQueryUI网站里的多选按钮进行实战. 2.d ...

  2. Nginx服务器中配置非80端口的端口转发方法详解

    这篇文章主要介绍了Nginx服务器中配置非80端口的端口转发方法详解,文中使用到了Nginx中的proxy_pass配置项,需要的朋友可以参考下 nginx可以很方便的配置成反向代理服务器: 1 2 ...

  3. 第三百五十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy信号详解

    第三百五十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy信号详解 信号一般使用信号分发器dispatcher.connect(),来设置信号,和信号触发函数,当捕获到信号时执行 ...

  4. CentOS 7 配置 Nginx 正向代理 http、https 最详解

    手头项目中有使用到 nginx,因为使用的三方云服务器,想上外网需要购买外网IP的,可是有些需要用到外网却不常用的主机也挂个外网IP有点浪费了,便想使用nginx的反向代理来实现多台内网服务器使用一台 ...

  5. 【HANA系列】【第四篇】SAP HANA XS使用服务器JavaScript Libraries详解

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第四篇]SAP HANA XS ...

  6. nagios系列(四)之nagios主动方式监控tcp常用的80/3306等端口监控web/syncd/mysql及url服务

    nagios主动方式监控tcp服务web/syncd/mysql及url cd /usr/local/nagios/libexec/ [root@node4 libexec]# ./check_tcp ...

  7. nagios系列(三)之nagios被动监控模式之添加系统负载load、swap、磁盘iostat及memory内存监控详解

    环境: nagios server:192.168.8.42 host_name:node4.chinasoft.com nagios client:192.168.8.41 host_name:no ...

  8. Struts2-整理笔记(二)常量配置、动态方法调用、Action类详解

    1.修改struts2常量配置(3种) 第一种 在str/struts.xml中添加constant标签 <struts> <!-- 如果使用使用动态方法调用和include冲突 - ...

  9. 大数据入门基础系列之Hadoop1.X、Hadoop2.X和Hadoop3.X的多维度区别详解(博主推荐)

    不多说,直接上干货! 在前面的博文里,我已经介绍了 大数据入门基础系列之Linux操作系统简介与选择 大数据入门基础系列之虚拟机的下载.安装详解 大数据入门基础系列之Linux的安装详解 大数据入门基 ...

随机推荐

  1. Windows 10 MBR转GPT

    Windows 10的创意者更新中,新增了mbr2gpt命令行工具,只需简单几步快速搞定分区表的转换 语法 MBR2GPT /validate|convert [/disk:] [/logs:] [/ ...

  2. 百度地图BMapLib.InfoBox 手机兼容源码修改

    InfoBox.prototype.initialize = function (map) { var me = this; var div = this._div = baidu.dom.creat ...

  3. 蛋白质结构模型和功能预测:I-TASSER工具的使用

    I-TASSER是一款用于预测蛋白质结构和功能的工具,网站链接:https://zhanglab.ccmb.med.umich.edu/I-TASSER/ 具体描述如下: I-TASSER (Iter ...

  4. 线程的同步(协调)synchronized

    [格式] 同步代码块:synchronized(Object){...} 关键字在代码块前,每次只允许一个线程调用此代码块. Object为任何对象(一般用this),每个对象都有一个标志位(0锁住状 ...

  5. springboot项目中jdk版本的问题

    几经周折,在idea中修改了多次jdk编译为1.8,可是一编译就恢复到默认的1.7版本. 在经过多次这个博客的修改内容: https://blog.csdn.net/li396864285/artic ...

  6. 类的内置方法__attr__介绍

    1.hasattr  getaddr  setaddr delattr 这四个函数同样也适用于类 class BlackMedium: feture="Ugly" def __in ...

  7. 关于bottle WEB框架中签名cookie的一点理解

    首先要理解一个概念 MAC (message authenticate code) 消息认证码(带密钥的Hash函数):密码学中,通信实体双方使用的一种验证机制,保证消息数据完整性的一种工具. 构造方 ...

  8. Scala进阶之路-Scala中的高级类型

    Scala进阶之路-Scala中的高级类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.类型(Type)与类(Class)的区别 在Java里,一直到jdk1.5之前,我们说 ...

  9. JAVA 远程通讯机制

    在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI.MINA.ESB. Burlap.Hessian.SOAP.EJB和JMS等,这 ...

  10. python---正则中的(?P<name>group)

    application=tornado.web.Application([ (r"/index/(?P<num>\d*)/(?P<nid>\d*)",hom ...