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架构设计
相关推荐
ting94520006 小时前
Humalike X Hermes 深度技术剖析:单指令注入群聊社交智能的底层架构、算法与跨 IM 平台实现
人工智能·算法·架构
ZGIAI8 小时前
ZGI 混合检索:汇集候选并统一重排
人工智能·架构
ZGIAI8 小时前
ZGI 运行日志:还原任务与节点状态
人工智能·架构
yurenpai(27届找实习中)9 小时前
从零读懂 AI 智能客服(一):模块职责与 SSE 聊天链路(后端架构)
java·人工智能·架构·langchain4j
ltl9 小时前
WebAssembly 架构:浏览器之外的运行时与沙箱
架构
uncle_ll10 小时前
LlamaIndex 全栈实战指南:架构解构、RAG 核心原理与私有知识库工程化落地方案
架构·llm·agent·rag·llamaindex
熊猫钓鱼>_>12 小时前
鸿蒙ArkUI全手势操作实战指南:6大基础手势从原理到落地避坑
人工智能·深度学习·华为·架构·harmonyos·arkui·tapgesture
天远数科12 小时前
零信任架构实战:基于天远二手车VIN估值构建自动化汽车数据网关
人工智能·架构·自动化·汽车
独孤九剑打醒他13 小时前
SMS 架构轻量化原型:单硬盘双分区实现方案+仿真
架构
这个DBA有点耶14 小时前
Redis大key“根治”指南:拆分策略与数据结构选型
数据库·mysql·架构