监控系统 - pnp4nagios
pnp4nagios是nagios的一个插件,用于将perfdata数据写入rrd,用于展示流量图,目前最高版本0.6.25。
我用官方下载的tar.gz打rpm包,官方提供的pnp4nagios.spec 需要更改几处,才能顺利打包
version: 0.6.16 =>0.6.25
%build
--with-perfdata-spool-dir=%{_localstatedir}/spool/nagios => --with-perfdata-spool-dir=%{_localstatedir}/nagios/spool
%files
增加
%{_libexecdir}/rrd_modify.pl
pnp4nagios 依赖 php-gd 还有rrdtool-perl,这个记得一定不能少。
pnp4nagios支持多种rrd生成模式,我选择Bulk Mode with NPCD和Gearman Mode模式
nagios.cfg
# 开启perfdata数据生成
process_performance_data=1
# perfdata数据位置
host_perfdata_file=/var/nagios/host-perfdata
service_perfdata_file=/var/nagios/service-perfdata
# perfdata数据模板
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$
host_perfdata_file_mode=a
service_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
service_perfdata_file_processing_interval=15
# perfdata数据文件处理命令,这个与pnp4nagios相关
host_perfdata_file_processing_command=process-host-perfdata-file
service_perfdata_file_processing_command=process-service-perfdata-file
commands
# 与Bulk Mode with NPCD模式对应,对应图示 - 步骤3
define command {
command_name process-host-perfdata-file
command_line /bin/mv /var/nagios/host-perfdata /var/nagios/spool/host-perfdata.$TIMET$
}
define command {
command_name process-service-perfdata-file
command_line /bin/mv /var/nagios/service-perfdata /var/nagios/spool/service-perfdata.$TIMET$
}
config.php
$views[] = array('title' => 'One Hour', 'start' => (60*60) );
$conf['RRD_DAEMON_OPTS'] = 'unix:/var/run/rrdcached.sock';
npcd.cfg
# 日志,用于调试
log_type = file
log_file = /var/log/nagios/npcd.log
log_level = 1
# pnp4nagios spool目录,与commands.cfg要对应
perfdata_spool_dir = /var/nagios/spool
npcd_max_threads = 10
# /var/nagios/spool目录扫描间隔
sleep_time = 15
process_perfdata.cfg
# rrd存储目录,与pnp4nagios的config.php对应
RRDPATH = /usr/share/pnp4nagios/perfdata
# 日志,用于调试
LOG_FILE = /var/log/nagios/perfdata.log
LOG_LEVEL = 1
# 使用rrdcached降低压力
RRD_DAEMON_OPTS = unix:/var/run/rrdcached.sock
/usr/share/pnp4nagios/templates.dist/default.php
默认模板里rrdtool配置参数与rrdtool 1.6不兼容,需要修改
--lower => --lower-limit
--upper => --upper-limit
启动
systemctl restart nagios
systemctl restart npcd
mod-gearman
#/etc/mod_gearman/module.conf
perfdata=yes
perfdata_send_all=yes
perfdata_mode=1
process_perfdata.cfg
# rrd存储目录,与pnp4nagios的config.php对应
RRDPATH = /usr/share/pnp4nagios/perfdata
# 日志,用于调试
LOG_FILE = /var/log/nagios/perfdata.log
LOG_LEVEL = 1
# 使用rrdcached降低压力
RRD_DAEMON_OPTS = unix:/var/run/rrdcached.sock
# 子进程数量
PREFORK = 20
# 指定gearmand服务器的地址
GEARMAN_HOST = xxx.xxx.xxx.xxx:4730
启动
systemctl restart nagios
systemctl restart pnp_gearmand_work
监控系统 - pnp4nagios的更多相关文章
- 监控系统-nagios
Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设备,打印机等.在系统或服务状态异常发出邮件或短信报警第一 ...
- CentOS 7.4 下安装部署Nagios监控系统详细攻略(三)
Nagios是一个流行的电脑系统和网络监控程序,它检测主机和服务,当异常发生和解除时能提醒用户.它是基于GPLv2开发的开源软件,可免费获得及使用. nagios工作原理 nagios的功能是监控服务 ...
- Opserver开源的服务器监控系统(ASP.NET)
Opserver是Stack Exchange下的一个开源监控系统,系统本身由C#语言开发的ASP.NET(MVC)应用程序,无需任何复杂的应用配置,入门很快.下载地址:https://github. ...
- prometheus监控系统
关于Prometheus Prometheus是一套开源的监控系统,它将所有信息都存储为时间序列数据:因此实现一种Profiling监控方式,实时分析系统运行的状态.执行时间.调用次数等,以找到系统的 ...
- 利用WCF的双工通讯实现一个简单的心跳监控系统
何为心跳监控系统? 故名思义,就是监控某个或某些个程序的运行状态,就好比医院里面的心跳监视仪一样,能够随时显示病人的心跳情况. 心跳监控的目的是什么? 与医院里面的心跳监视仪目的类似,监控程序运行状态 ...
- 分布式监控系统Zabbix-3.0.3-完整安装记录(7)-使用percona监控MySQL
前面已经介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控,但是没有提供可以直接使用的Key,太过简陋,监控效果不佳.要想更加仔细的监控Mysql,业内同学们都会选择 ...
- 监控系统Opserver的配置调试
Stack Exchange开源其监控系统Opserver有一段时间了.之前在项目中用过他们的MiniProfile来分析页面执行效率和帮助新人了解项目,当他们开源了其监控系统的时候正好部门也在关注监 ...
- 日志监控系统中,大批量查询mysql方案
最近开发遇到一个问题:需要查询一个大时间段内的数据,分1000个小段,即为1000个点.X轴是时间,Y轴是该小时间段内统计后数据.注意:数据返回是一个list,其中每个对象返回值都是该小时间段内数据统 ...
- day26 分布式监控系统开发
本节内容 为什么要做监控? 常用监控系统设计讨论 监控系统架构设计 监控表结构设计 为什么要做监控? –熟悉IT监控系统的设计原理 –开发一个简版的类Zabbix监控系统 –掌握自动化开发项目的程序设 ...
随机推荐
- java消息中间件
消息中间件介绍 消息队列 什么是消息队列 消息队列是消息中间件的一种实现方式. 什么是消息中间件? 将消息中间件需要理解一下什么是消息和中间件? 消息 消息是指软件对象之间进行交互作用和通讯利用的 ...
- jQuery form插件的使用--ajaxForm()和ajaxSubmit()
转载:https://blog.csdn.net/qq_38602656/article/details/78668924
- 匿名类与lambda区别
第一种是继承Thread, 重写了Thread.run() getClass()返回的是匿名类 java.long.Thread$1 第二种是lambda, 重写了Runnable.run() ...
- RequireJS -Javascript模块化(一、简介)
1.认识RequireJS RequireJs官网(http://requirejs.org/)的描述: RequireJS is a JavaScript file and module loade ...
- REQUIRED与REQUIRED_NEW
出处: https://blog.csdn.net/selfsojourner/article/details/74561745 spring 事务的传播行为中,有两个容易混淆的行为:REQUIRED ...
- vue--钩子函数1
最近在学习自定义指令,这里做个整理 vue允许注册自定义指令,在2.0中,代码复用和抽象的主要形式是组件.然而有的情况下仍需要对普通DOM元素进行底层操作,这时就会用到自定义指令. 全局指令direc ...
- OS---文件结构
1.概述 1.1 对于任何一个文件,都存在以下2种形式结构: 文件的逻辑结构: 从用户的角度出发所观察到的文件组织形式,独立于文件的物理特性: 文件的物理结构(文件存储结构): 文件在外存上的存储组织 ...
- ERROR:105: Unable to locate a modulefile for 'xxx'
查看可用的 module:module avail 将xxx替换为屏幕输出中已有的模块.
- 性能测试工具LoadRunner15-LR之负载生成器(Load Generators)
简介 对场景进行设计后,需要对负载生成器进行管理和配置.Load Generators是运行脚本的负载引擎(相当于加压机)主要功能是生成虚拟用户进行负载,在默认情况下使用本地的负载生成器来运行脚本. ...
- 性能测试工具LoadRunner09-LR之Virtual User Generator 日志
在录制和回放的时候,VU会分别把发生的事件记录成日志文件,这些日志有利于我们跟踪VU和服务器的交互过程 回放日志(Replay Log) 脚本回放运行时的输出都记在这个Log里 “输出”窗口的“回放日 ...