mtail项目地址
mtail :它是一个google开发的日志提取工具,从应用程序日志中提取指标以导出到时间序列数据库或时间序列计算器
用途就是:
实时读取应用程序的日志、 再通过自己编写的脚本进行分析、 最终生成时间序列指标
https://github.com/google/mtail/releases
下载二进制文件改名为mtail
给执行权限chmod +x mtail
将其移到/usr/local/bin/目录下
1. 定义配置文件
如error_count.mtail(更多官网配置示例)(配置语法)
下面这个文件的意思是:error_count变量值统计了日志中包含ERROR字串的行数
counter error_count
/ERROR/ {
error_count++
}
mtail -logtostderr -progs ~/mtail/prog/error_count.mtail -logs ~/mtail/prog/php.log
程序启动后默认监听3903端口,可以通过http://ip:3903访问,metrics可以通过http://ip:3903/metrics访问
- job_name: 'phplogmtail'
static_configs:
- targets: ['192.168.10.11:3903']
Prometheus使用文件发现方式配置job
scrape_configs:
- job_name: 'mtail'
file_sd_configs:
- files:
- targets/mtail/*.json
refresh_interval: 5m
demo.json
[{
"targets": [
"web:3903",
"rails:3903"
]
}]
Alert中新增一个告警规则
- alert: ErrorlogStatus # alert 名字
expr: error_count{job="phplogmtail"} > 0 # 判断条件
for: 10s # 条件保持 10s 才会发出 alter
labels: # 设置 alert 的标签
severity: "critical"
annotations: # alert 的其他标签,但不用于标识 alert
description: php log error more than 20s
summary: php have error