golang实战项目log2metrics架构说明
2025-04-18 07:11:32 阅读次数:1
code,日志,组件
架构图

需求分析
算qps
- 比如统计 nginx日志中code=200的qps
- 对应就是 每隔10秒grep一下日志文件 ,用增量/时间差 算出qps
日志关键字告警
错误类型的关键字举例
- 如应用连接mysql报错
dial mysql host error
- 如redis同步失败报错
cannot sync data
- 如进程被oom kill了
Out of Memory (OOM) killer
流程说明
配置采集任务
- 采集任务的名称
- 指定暴露的metrics名称 如 ngx_access_cnt
- 指定日志路径
- 提供日志匹配正则 ,如过滤包含 containerd的日志
level: ".*level=(.*?) .*"
计算方法说明
- cnt 对符合规则的日志进行计数 ,就是日志的总数counter
- max 对符合规则的日志抓取出的数字算最大值 ,如code=404 和code=500 max结果就是 500
- min 对符合规则的日志抓取出的数字算最小值
- sum 对符合规则的日志抓取出的数字算和
- avg 对符合规则的日志抓取出的数字算平均值
启动日志采集任务
- 启动tailer读取相关日志
- 将结果通过队列发送给分析组件
启动分析组件
- 接收tailer发过来的日志
- 使用正则进行分析
- 转换为统计的数据结构
- 发送给数据处理组件
启动数据处理组件
- 定时分析数据,转化为prometheus metrics
架构图

本节重点总结 :
- 需求分析
- 流程说明
- log2metrics架构设计
版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/moonfdd/12451154,作者:福大大架构师每日一题,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。
上一篇:一致性哈希算法介绍
下一篇:传统CV算法——基于opencv的答题卡识别判卷系统