關於開源監控工具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

相關文章
相關標籤/搜索