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 }}"
测试: