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架构设计
相关推荐
AI人H哥会Java1 小时前
【Spring】基于XML的Spring容器配置——<bean>标签与属性解析
java·开发语言·spring boot·后端·架构
time_silence2 小时前
微服务——技术选型与框架
微服务·架构
dbcat官方2 小时前
1.微服务灰度发布(方案设计)
java·数据库·分布式·微服务·中间件·架构
S-X-S3 小时前
【微服务】整合Nacos注册中心和动态配置
微服务·rpc·架构
嵌入(师)4 小时前
嵌入式驱动开发详解20(IIO驱动架构)
驱动开发·架构
小李不想输啦8 小时前
什么是微服务、微服务如何实现Eureka,网关是什么,nacos是什么
java·spring boot·微服务·eureka·架构
SRExianxian11 小时前
kubernetes存储架构之PV controller源码解读
容器·架构·kubernetes
XianxinMao11 小时前
Transformer 架构对比:Dense、MoE 与 Hybrid-MoE 的优劣分析
深度学习·架构·transformer
Light6013 小时前
云途领航:现代应用架构助力企业转型新篇
微服务·架构·saas·paas·iaas·ipaas·apaas
言之。15 小时前
【面试题】构建高并发、高可用服务架构:技术选型与设计
架构