1 获取与安装

https://labs.consol.de/assets/downloads/nagios/check_logfiles-3.7.4.tar.gz

链接可能会失效,建议去官网下载。

https://labs.consol.de/nagios/check_logfiles/

阅读官网的使用说明,但感觉还是不太明了,毕竟是英文 的,

http://blog.chinaunix.net/uid-261392-id-2138989.html

这是开源中国上面一兄弟写的介绍,让你入门。

tar xvf check_logfiles-3.7.4.tar.gz

./configure

make && make install

安装完成。

安装的时候使用的是root用户,安装后其实是在libexec下多了一个check_logfiles程序。

建议把该程序的owner改为nagios.nagiios.其实不改也可以,它的权限是其他组也可以执行。

chown nagios:nagios /usr/local/nagios/libexec/check_logfiles

2 我以在某节点dn42上监控datanode与nodemanager进程的日志为目标,做了一下处理

a. nagios目录/usr/local/nagios/下创建var/tmp目录,如果没有,并且权限要给nagios.nagios.

因为我们需要配置check_logfiles来存储状态文件和一些信息在这个目录里面。编译时未指定,它的默认目录可能没有访问权限。

b.创建配置文件,我放在/usr/local/nagios/etc/log.cfg

配置如下:

$seekfilesdir = '/usr/local/nagios/var/tmp';
$protocolsdir = '/usr/local/nagios/var/tmp';
$scriptpath = '/usr/local/nagios/var/tmp';
@searches = (
{
tag => 'dn42_datanode',
logfile => '/home/hadoop/app/hadoop/logs/hadoop-hadoop-datanode-dn42pub.log',
rotation => 'hadoop-hadoop-datanode-dn42pub.log.[0-9]',
criticalpatterns => [
'ERROR .*',
'FAILURE .*',
] },
{
tag => 'dn42_nm',
logfile => '/home/hadoop/app/hadoop/logs/yarn-hadoop-nodemanager-dn42pub.log',
rotation => 'yarn-hadoop-nodemanager-dn42pub.log.[0-9]',
criticalpatterns => [
'ERROR .*',
'FAILURE .*',
] },
);

我这里没有配置warningpatterns,暂时没有此需要,如果有需要可以配置上。

c.在nrpe里面配置命令:

command[check_logfiles]=/usr/local/nagios/libexec/check_logfiles -f /usr/local/nagios/etc/log.cfg

d.在nagios服务器端配置这台机器的配置文件,在原有的配置文件中添加新的服务。(原来我放在nn1上/usr/local/nagios/etc/servers/dn42pub.cfg中,只需要添加如下即可)

;;monitor hadoop datanode and nodemanager process log content
define service{
use test-service
host_name dn42pub
service_description log_check
check_command check_nrpe!check_logfiles
is_volatile
max_check_attempts
}

注意,我这里使用的test-service是我在template.cfg中配置的,重写了它的检查周期为一分钟,这里需要注意。

dn42端执行:service xinetd reload即可

在nagios服务器端使用命令 nagios –v /usr/local/nagios/etc/nagios.cfg

检查如果没有错误,使用service nagios reload即可。

但是我在web端看到是unknown状态,这是因为nagios用户没有对日志目录的访问权限。

遂做以下修改。

chmod 705 /home/hadoop

即可。

3。其他机器如果需要安装,则可以如下操作,

直接scp /usr/local/nagios/libexec/check_logfiles targethost:/usr/local/nagios/libexec

makedir –p /usr/local/nagios/var/tmp

chown –R nagios:nagios /usr/local/nagios/var/tmp

修改nrpe.cfg 和并复制修改log.cfg即可

常见的问题,

我们通常会有这样的考虑,第一次运用nagios来检查文件的时候,文件可能很大了,而且会有很多旧的错误,会不会超时之类的,那check_logfiles是怎么处理的呢?

如果你不把type=>'virtual',则它是不会从头检查文件的,它只会检查文件的字节数,存一个offset,下次才会读新的数据。这正是我们想要的。这个问题我邮件咨询了

作者,以下是他的回复。

If you run check_logfiles for the first time, it does not scan the file. It positions at the end of the file and saves the position. (If it would start from the beginning, you would get very old errors)

When you run check_logfiles for the second time, it reads the saved position and then reads the _new lines_ which were appended in the meantime.

check_logfiles only scans new lines. (normally. if you use type=virtual, it scans the whole file all the time)

Nagios check_logfiles插件的使用记录的更多相关文章

  1. 基于MVC4+EasyUI的Web开发框架经验总结(1)-利用jQuery Tags Input 插件显示选择记录

    最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...

  2. Nagios+pnp4nagios+rrdtool 安装配置为nagios添加自定义插件(三)

    nagios博大精深,可以以shell.perl等语句为nagios写插件,来满足自己监控的需要.本文写mysql中tps.qps的插件,并把收集到的结果以图形形式展现出来,这样输出的结果就有一定的要 ...

  3. jQuery Tags Input 插件显示选择记录

    利用jQuery Tags Input 插件显示选择记录 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采 ...

  4. Eclipse 导入项目与 svn 插件关联全过程记录

    文章摘自:http://www.cnblogs.com/xmmcn/archive/2013/03/01/2938365.html 感谢博友分享! Eclipse 导入项目与 svn 插件关联全过程记 ...

  5. (转)基于MVC4+EasyUI的Web开发框架经验总结(1)-利用jQuery Tags Input 插件显示选择记录

    http://www.cnblogs.com/wuhuacong/p/3667703.html 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开 ...

  6. Unity3D框架插件uFrame实践记录(一)

    1.概览 uFrame是提供给Unity3D开发者使用的一个框架插件,它本身模仿了MVVM这种架构模式(事实上并不包含Model部分,且多出了Controller部分).因为用于Unity3D,所以它 ...

  7. Nagios 自定义插件与安装使用之监控dead datanodes

    现在我使用nagios来监控hadoop的核心进程,rm,nm,dn,nn,zkfc,jn,zk等,但是有时候进程虽然还在,但是日志不刷新,web ui上可以看到有些datanodes节点已经变为de ...

  8. 项目中jquery插件ztree使用记录

    最近公司要求做一个关于后台的管理系统.在这个mvvm模式横行的年代,虽然这里用jquery做项目可能有点不符合时代的潮流,但是管他呢,能做出来先在说呗(公司以后要改用angular或者vue来统一前端 ...

  9. Jquery_AjaxFileUpload插件的使用记录

    功能需求:Spring MVC框架下,实现无刷新页面上传图片,并展示图片预览效果 直接上代码: 1.图片预览效果 <%@ page contentType="text/html;cha ...

随机推荐

  1. MyBank(自助银行)系统

    光阴似箭,岁月如梭. 从开始学Java到现在学C#已快四个月了,我们学的东西越来越多了.但是虽说学到现在,都不知道有什么用?没地方表现啊. 那么今天我就来给大家说说说这些东西的用处吧. 就拿MyBan ...

  2. css知多少(10)——display

    1. 引言 网页的所有元素,除了“块”就是“流”,而且“流”都是包含在“块”里面的(最外层的body就是一个“块”).在本系列一开始讲<浏览器默认样式>的时候,大家也都看到了浏览器默认样式 ...

  3. Sequence.js 实现带有视差滚动特效的图片滑块

    Sequence.js 功能齐全,除了能实现之前分享过的现代的图片滑动效果,还可以融合当前非常流行的视差滚动(Parallax Scrolling)效果.让多层背景以不同的速度移动,形成立体的运动效果 ...

  4. 如何垂直居中div?面试经常问到

    水平居中:给div设置一个宽度,然后添加margin:0 auto属性 div{ width:200px; margin:0 auto;} 让绝对定位的div居中 ;;;;} 重点来了! 水平垂直居中 ...

  5. JavaScript学习笔记-实例详解-类(二)

    实例详解-类(二)   //===给Object.prototype添加只读\不可枚举\不可配置的属性objectId(function(){ Object.defineProperty(Object ...

  6. 【高级功能】使用Web存储

    Web存储允许我们在浏览器里保存简单的键/值数据.Web存储和cookie很相似,但它有着更好的实现方式,能保存的数据量也很大.这两种类型共享相同的机制,但是被保存数据的可见性和寿命存在区别. PS: ...

  7. sharepoint2010问卷调查(1)-实现问卷的图片调查(采用JS实现)

      1. 首先建立个图片库上传图片 2. 采用:评估范围(一系列选项或 Likert 范围)制作,如下图: http://win-i07fillcfom:8003/DocLib2/1.jpg http ...

  8. PHP美元符和花括号组合那些事—${${}}

    双美元符+{}:${${variable}}是一种比较常见的用法,但是它的实现原理是什么呢?今天来探究一下: 提及这种用法,还得先说一下PHP的String类型php.net上指出,一个字符串可以用4 ...

  9. Autodesk 最新开发技术研讨会 -8月22日-Autodesk北京办公室

    为了增进与广大中国地区Autodesk产品的二次开发人员的了解与互动,帮助中国地区的Autodesk产品二次开发人员了解Autodesk最新的二次开发技术动向,并获得Autodesk公司专业开发支持顾 ...

  10. 关于SharePoint 2013 UserProfile跨场的几点注意

    1.跨场中需要以下几个Service实例,没有这几个会遇到各种问题 2.发布场和消费场同时需要创建Host站点,否则消费场的SiteFeed无法使用. 3.跨场关注的问题请参考:http://www. ...