当前位置: 首页 > 工具软件 > Mtail > 使用案例 >

Prometheus使用mtail监控日志错误

麹高远
2023-12-01

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++
}
  1. 运行mtail
mtail -logtostderr -progs ~/mtail/prog/error_count.mtail -logs ~/mtail/prog/php.log

程序启动后默认监听3903端口,可以通过http://ip:3903访问,metrics可以通过http://ip:3903/metrics访问

Prometheus中新增一个job

  - 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  

这里有一篇文章写的比较详细

 类似资料: