1、部署Prometheus
2、Mtail 日志監控
簡介
mtail日志處理器是由Google的SRE人員編寫的,其采用Apache 2.0許可證,並且使用Go語言。mtail日志處理器專門用於從應用程序日志中提取要導出到時間序列數據庫中的指標
mtail日志處理器通過運行“程序”(program)來工作,它定義了日志匹配模式,並且指定了匹配后要創建和操作的指標。它與Prometheus配合得很好,可以暴露任何要抓取的指標,也可以配置為將指標發送到collectd、StatsD或Graphite等工具
3、部署Mtail
下載地址:https://github.com/google/mtail/releases
wget https://github.com/google/mtail/releases/download/v3.0.0-rc38/mtail_v3.0.0-rc38_linux_amd64 chmod 777 mtail_v3.0.0-rc38_linux_amd64 mv mtail_v3.0.0-rc38_linux_amd64 mtail
cp mtail /usr/local/bin
驗證:
cd /usr/local/bin
mtail --version

4、使用Mtail
mkdir /etc/mtail touch /etc/mtail/line_count.mtail vim /etc/mtail/line_count.mtail
counter error_count
/ERROR/ { error_count++ }
說明:error_count變量值統計了包含ERROR字串的
mtail的例子,請參考:https:
//github.com/google/mtail/tree/master/examples
運行 ./mtail -logtostderr --progs /etc/mtail/line_count.mtail --logs '/var/log/*.log' >/dev/null 2>&1 &
訪問3903端口,這里顯示已經可以推送信息了
配置Prometheus,添加監控項
- job_name: 'mtail-moniter' static_configs: - targets: ['172.27.65.10:3903'] labels: instance: log-dev
重啟Prometheus,顯示監控正常
添加告警:
告警條件:
error_count > 0
告警規則
- alert: 日志關鍵字
expr: error_count > 0
for: 5s
labels:
severity: ERROR
service: "Mtail-warning"
annotations:
summary: "日志關鍵字告警"
description: "日志包含告警關鍵字xxx個數大於1"
value: "{{ $value }}"
測試: