29.2 golang实战项目log2metrics架构说明

本节重点介绍 :

  • 需求分析
  • 流程说明
  • log2metrics架构设计

架构图

需求分析

算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的日志
shell 复制代码
 ".*containerd.*"
  • 提供标签正则,如过滤level
shell 复制代码
      level: ".*level=(.*?) .*"

计算方法说明

  • cnt 对符合规则的日志进行计数 ,就是日志的总数counter
  • max 对符合规则的日志抓取出的数字算最大值 ,如code=404 和code=500 max结果就是 500
  • min 对符合规则的日志抓取出的数字算最小值
  • sum 对符合规则的日志抓取出的数字算和
  • avg 对符合规则的日志抓取出的数字算平均值

启动日志采集任务

  • 启动tailer读取相关日志
  • 将结果通过队列发送给分析组件

启动分析组件

  • 接收tailer发过来的日志
  • 使用正则进行分析
  • 转换为统计的数据结构
  • 发送给数据处理组件

启动数据处理组件

  • 定时分析数据,转化为prometheus metrics

架构图

本节重点总结 :

  • 需求分析
  • 流程说明
  • log2metrics架构设计
相关推荐
天波信息技术分享25 分钟前
AI 云电竞游戏盒子:从“盒子”到“云-端-芯”一体化竞技平台的架构实践
人工智能·游戏·架构
云游2 小时前
大模型性能指标的监控系统(prometheus3.5.0)和可视化工具(grafana12.1.0)基础篇
grafana·prometheus·可视化·监控
k↑2 小时前
微服务之注册中心与ShardingSphere关于分库分表的那些事
数据库·微服务·架构·shardingsphere
Tadas-Gao5 小时前
Java设计模式全景解析:从演进历程到创新实践
java·开发语言·微服务·设计模式·云原生·架构·系统架构
高阳言编程17 小时前
3. 存储、中断、总线与 I/O 系统
架构
夜影风21 小时前
RabbitMQ核心架构与应用
分布式·架构·rabbitmq
奥格列的魔法拖鞋~1 天前
Docker-LNMP架构 创建多项目- 单个ngixn代理多个PHP容器服务
nginx·docker·eureka·架构·php·lnmp
泉城老铁1 天前
在秒杀场景中,如何通过动态调整线程池参数来应对流量突增
后端·架构
技术老金1 天前
给你的AI应用“降本增效”:吃透模型级联、智能缓存等三大成本优化策略
人工智能·架构