关于开源监控工具Hyperic 的文本日志监控功能

简述

本文针对Hyperic 5.8+ 版本java

在实际的监控中,有不少日志并非Log4j格式,例如oracle的 ALERT.LOG, Linux的 syslog 和 dmesg等。经过浏览Hyperic的源码发现, 支持 Log4j 的支持类是 Log4JLogTrackPlugin, 继承自 LogFileTailPlugin,而该类实现了对普通文本日志的监控。git

那么问题来了,哪一个插件使用了 LogFileTailPlugin 这个支持类? 通过仔细分析,发现了一个插件,不但使用了这个类,也提供了更多的功能: Multi Log Tracker 正则表达式

本文示例配置监控 /var/log  目录下的  syslog 和 dmesg文件。匹配字符串 rsyslogd服务器

操做系统: Ubuntu 12.04.3 LTS oracle

配置过程

  • 在某个平台下新建服务器,如图ide

  • 填写名称,在“服务器类型”选择 “Multi Log Tracker 1.0”,在安装路径 可填写"/"spa

  • 单击“肯定”显示以下,在左下角,如图,单击“编辑”操作系统

  • 如图,填入几个重要参数,以下,插件

    basedir             : /var/log
日志

    logfilepattern:     : dmesg,syslog

    includepattern    : rsyslogd:    (所要匹配的字符串)

    选中  server.log_track.enable  和 server.enable_log_services

   

  • 单击“肯定”后,稍等片刻,如图:

  • 进入,每一个发现的服务,如图:

说明

插件 Multi Log Tracker 1.0 可监控多个log文件,使用的技术是: Apache ant Directory Scanner

basedir - 基准目录,用于扫描每一个如何  logfilepattern 模式的文件,该目录必须存在,而且可读,不能使用通配符;

logfilepattern - 扫描的文件模式,能够英文逗号分开。

includepattern - 正则表达式,使用该正则表达式匹配tail的每一行。大小写不敏感。匹配的每一行将送到Hyperc server。

excludepattern - 排除的正则表达式,匹配该表达式的每一行将忽略,该规则覆盖  includepattern.

includepattern_2 - 第二个 include pattern, 可选。

excludepattern_2 - 第二个exclude pattern, 可选。

enable_only_metrics - 不发送日志,只采集指标。

override_file_checks - 默认时,若是文件不存在,验证将失败。该选项覆盖这种行为。

示例

 logfilepattern option:

**\*.class - 匹配全部以 .class 结尾的文件/目录  

test\a??.java - 在目录 test下,匹配全部以a开头,而后是俩个任意字符,后接 .java 的文件/目录。

** - 匹配目录树下的全部内容。

**\test\**\XYZ* - 匹配全部文件/目录,符合 以 "XYZ"开头,而且父目录是 test (例如: "abc\test\def\ghi\XYZ123").

具体示例:

匹配 /var/log 目录下的名为  messages* 或 *log  的文件/目录

basedir=/var/log 

logfilepattern=**/messsages*,**/*log 

includepattern=error|warn|too many threads running 

符合以上条件的文件是: 

/var/log/messages 

/var/log/cron.log 

/var/log/yum.log


下载免费开源Hyperic

相关文章
相关标签/搜索