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架构设计
相关推荐
牛角上的男孩1 小时前
部署Prometheus、Grafana、Zipkin、Kiali监控度量Istio
grafana·prometheus·istio
The Open Group6 小时前
企业如何通过架构蓝图实现数字化转型
大数据·人工智能·分布式·微服务·云原生·架构·数字化转型
车载诊断技术14 小时前
整车功能架构 --- 智能座舱
网络·人工智能·分布式·架构·汽车·电子电器架构
Fireworkitte14 小时前
OLAP与OLTP:数据处理系统的两种核心架构
架构
生活不只*眼前的苟且21 小时前
实体(Entity)详解
后端·架构
IT界的奇葩1 天前
微服务透传日志traceId
java·spring boot·微服务·云原生·架构
茶馆大橘1 天前
微服务系列四:热更新措施与配置共享
java·学习·spring cloud·微服务·架构·热更新
Kika写代码1 天前
【基于轻量型架构的WEB开发】课程 作业2 mybatis关联查询、缓存、注解
前端·架构·mybatis
小扳1 天前
Spring Security 框架篇-深入了解 Spring Security 的授权核心功能(RBAC 权限模型、自定义异常处理器、校验权限方法)
java·数据库·spring boot·后端·mysql·spring·架构
张可1 天前
一个大型 Android 项目的模块划分哲学
android·前端·架构