当前位置: 首页 > article >正文

29.2 golang实战项目log2metrics架构说明

本节重点介绍 :

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

架构图

log2metrics.png

需求分析

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

计算方法说明

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

启动日志采集任务

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

启动分析组件

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

启动数据处理组件

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

架构图

log2metrics.png

本节重点总结 :

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

http://www.kler.cn/a/375751.html

相关文章:

  • 履带式排爆演习训练机器人技术详解
  • 数据挖掘(四)
  • Python酷库之旅-第三方库Pandas(186)
  • 什么是FUSE用户态文件系统
  • FineReport 单元格的特殊应用场景
  • 我为何要用wordpress搭建一个自己的独立博客
  • 基于SpringBoot的汽车配件销售管理系统
  • C# 如何处理 WebSocket 连接异常
  • Ubuntu 搭建Yapi服务
  • NLP segment-04-自动摘要 auto-summary java 开源实现
  • 大型商场应急响应:SpringBoot技术实现
  • 关于我的编程语言——C/C++——第三篇
  • 详细分析Pytorch中的transpose基本知识(附Demo)| 对比 permute
  • 论敏捷软件开发方法及其应用
  • [含文档+PPT+源码等]精品基于PHP实现的鲜花批发销售网站的设计与实现
  • centos7 keepalived 安装一共有几种方式?
  • jieba-fenci 05 结巴分词之简单聊一聊
  • 精品网:低时延、高私密性,满足企业多元化需求
  • Vue指令:v-show、v-if
  • 安科瑞AMB400分布式光纤测温系统解决方案--远程监控、预警,预防电气火灾
  • 网页中嵌入Unity并传参给Unity
  • 【论文阅读】语言模型何时需要检索增强
  • 配置BGP与IGP交互和路由自动聚合示例
  • Unity3D包管理bug某些版本Fbx Exporter插件无法搜索到的问题
  • Python网络爬虫基础指南
  • Leetcode—624. 数组列表中的最大距离【中等】