腾讯mini项目-【指标监控服务重构】2023-08-24

今日已办

Jeager

功能

  1. 监控分布式工作流程并排除故障
  2. 识别性能瓶颈
  3. 追踪根本原因
  4. 分析服务依赖关系

部署

  • 部署 Deployment — Jaeger documentation (jaegertracing.io)

  • 支持 clickhouse jaegertracing/jaeger-clickhouse: Jaeger ClickHouse storage plugin implementation (github.com)

  • 使用 prometheus 监控 Service Performance Monitoring (SPM) — Jaeger documentation (jaegertracing.io)

  • 使用 elasticsearch docker - How to configure Jaeger with elasticsearch? - Stack Overflow

image-20230824164528524

image-20230824164557310

  • github issue jaeger-collector: Failed to init storage factory · Issue #931 · jaegertracing/jaeger (github.com)

image-20230824164635380

version: "3"services:proxy:image: traefik:v3.0container_name: proxyhostname: proxynetworks:- elastic-jaegerports:- "80:80"- "8080:8080"command:- --ping=true- --api.dashboard=true- --api.insecure=true- --providers.file.directory=/etc/traefik- --providers.file.watch=true- --entrypoints.web-entrypoint.address=:80- --entrypoints.kafka-entrypoint.address=:9092- --accesslog=true- --metrics.openTelemetry=true- --metrics.openTelemetry.address=jaeger-collector:4317- --metrics.openTelemetry.grpc=true- --metrics.openTelemetry.insecure=true- --tracing.openTelemetry=true- --tracing.openTelemetry.address=jaeger-collector:4317- --tracing.openTelemetry.grpc=true- --tracing.openTelemetry.insecure=true- --log.level=WARN # DEBUG, INFO, WARN, ERROR, FATAL, PANIChealthcheck:test: [ "CMD-SHELL", "traefik healthcheck --ping" ]interval: 5stimeout: 3sretries: 3volumes:- ./config/traefik:/etc/traefikelasticsearch:image: elasticsearch:7.17.12container_name: elasticsearchnetworks:- elastic-jaegerports:- "127.0.0.1:9200:9200"- "127.0.0.1:9300:9300"restart: on-failureenvironment:- cluster.name=jaeger-cluster- discovery.type=single-node- http.host=0.0.0.0- transport.host=127.0.0.1- ES_JAVA_OPTS=-Xms512m -Xmx512m- xpack.security.enabled=falsevolumes:- esdata:/usr/share/elasticsearch/datajaeger-collector:container_name: jaeger-collectorimage: jaegertracing/jaeger-collectorports:- "14269:14269"- "14268:14268"- "14267:14267"- "14250:14250"- "9411:9411"- "4317:4317"networks:- elastic-jaegerrestart: on-failureenvironment:- SPAN_STORAGE_TYPE=elasticsearchcommand: ["--es.server-urls=http://elasticsearch:9200","--es.num-shards=1","--es.num-replicas=0","--log-level=error"]depends_on:- elasticsearchjaeger-agent:container_name: jaeger-agentimage: jaegertracing/jaeger-agenthostname: jaeger-agentcommand: [ "--reporter.grpc.host-port=jaeger-collector:14250" ]ports:- "5775:5775/udp"- "6831:6831/udp"- "6832:6832/udp"- "5778:5778"networks:- elastic-jaegerrestart: on-failureenvironment:- SPAN_STORAGE_TYPE=elasticsearchdepends_on:- jaeger-collectorjaeger-query:container_name: jaeger-queryimage: jaegertracing/jaeger-queryenvironment:- SPAN_STORAGE_TYPE=elasticsearch- no_proxy=localhostports:- "16686:16686"- "16687:16687"networks:- elastic-jaegerrestart: on-failurecommand: ["--es.server-urls=http://elasticsearch:9200","--span-storage.type=elasticsearch","--log-level=debug"]depends_on:- jaeger-agentvolumes:esdata:driver: localnetworks:elastic-jaeger:driver: bridge
  • Service Performance Monitoring (SPM) — Jaeger documentation (jaegertracing.io)

image-20230824151625898

image-20230824163003324

可以看到指标了

image-20230824163605029

jaeger的 trace 展示与 grafana,signoz 不一致

image-20230824200138255

出现异常,为修改相关代码,先前可以在Prometheus观测到traefik的指标【已修复】

image-20230824201645823

Otel-collector 的 Pipeline

理解了整个 otel-collector 的 Pipeline 的流程和各个组件的功能

  • spanmetrics 是一个 connector
  • 它可以作为一个 receiver 【可以接收上游 trace pipeline 的 spanmetrics - 它作为一个 exporter】来开启一个metric 的 pipeline
  • 它可以作为一个 exporter 【存储 trace pipeline 的 span 指标】
  • spanmetrics 定义为 processer,可以在 trace 的 pipeline 中将 span的指标导出到 Prometheus 里

image-20230824212138251

可以观测到 traefik、venus、profile 上报的 metrics!

image-20230824212552469

明日待办

  1. 压测 jaeger
  2. 测试替换 jaeger 的数据库为 es

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/141173.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Python之列表

标题 列表什么是列表列表的创建列表的删除列表的访问 列表的常用方法append()、insert()、extend()pop()、remove()、clear()count()、index()list()、 filter()、 reduce()、lambda() 列表支持的运算加法运算符乘法运算符*成员测试运算符in 内置函数对列表的操作列表推导式列表…

Python 逢七拍手小游戏2.0

"""逢七拍手游戏介绍:逢七拍手游戏的规则是:从1开始顺序数数,数到有7,或者是7的倍数时,就拍一手。例如:7、14、17......70......知识点:1、循环语句for2、嵌套条件语句if/elif/e…

tensorrt获取输入输出

利用Netron打开onnx,右边名字: int input_index engine->getBindingIndex("inout1.1");int output_index engine->getBindingIndex("191");

010_第一代软件开发(二)

第一代软件开发(二) 文章目录 第一代软件开发(二)项目介绍界面布局功能完善快照功能获取可用串口播放按键提示音 关键字: Qt、 Qml、 QSerialPort、 QPixmap、 QSoundEffect 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML&#xff…

Java基础(一)——Hello World,8种数据类型,键盘录入

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

C++项目:仿muduo库实现高性能高并发服务器

文章目录 一、实现目标二、前置知识(一)HTTP服务器1.概念 (二)Reactor模型:1.概念2.分类(1)单Reactor单线程:单I/O多路复用业务处理。(2)单Reactor多线程&…

ElementUI之登陆+注册

一.什么是ElementUI 二.ElementUI完成用户注册登录界面搭建 使用命令npm install element-ui -S,添加Element-UI模块 导依赖 建立登录和注册页面 ​编辑 配置样式 编写登录页面(Login) 编写注册页面(reginter) …

Elasticsearch(Es搜索(简单使用、全文查询、复合查询)、地理位置查询、特殊查询、聚合操作、桶聚合、管道聚合)

Elasticsearch(三)——Es搜索(简单使用、全文查询、复合查询)、地理位置查询、特殊查询、聚合操作、桶聚合、管道聚合 一、Es搜索 这里的 Es 数据博主自己上网找的,为了练习 Es 搜索。 1、Elasticsearch 搜索入门 …

三子棋小游戏(简单详细)

设计总体思路 实现游戏可以一直玩,先打印棋盘,玩家和电脑下棋,最后分出胜负。 如果编写较大的程序,我们可以分不同模块 例如这个三子棋,我们可以创建三个文件 分别为: game.h 函数的声明game.c 函数…

MySQL简介以及安装和部署(Linux)

MySQL简介 MySQL是一个小型关系数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被sun公司10亿美金收购。2009年,SUN又被Oracle以74亿美金收购。 目前MySQL被广泛地应用在Internet上的中小型网站中。由于体积小、速度快、总体拥有成本低&…

java微服务项目整合skywalking链路追踪框架

skywalking官网网址:Apache SkyWalking 目录 1、安装skywalking 2、微服务接入skywalking 3、skywalking数据持久化 1、安装skywalking 下载skywalking,本篇文章使用的skywalking版本是8.5.0 Index of /dist/skywalkinghttps://archive.apache.org/…

网站整站优化-网站整站优化工具

您是否曾为您的网站在搜索引擎中的排名而感到焦虑?是否苦苦思考如何提高流量、吸引更多用户? 什么是整站优化。简而言之,它是一项用于提升网站在搜索引擎中排名的策略和技巧。通过对网站的内容、结构、速度等方面进行优化,可以使…

腾讯mini项目-【指标监控服务重构】2023-08-27

今日已办 Docker Monitoring with cAdvisor, Prometheus and Grafana Docker Monitoring with cAdvisor, Prometheus and Grafana | by Mertcan Simsek | MediumMonitoring Docker container metrics using cAdvisor | Prometheus prometheus.yml global:scrape_interval: …

电子信息工程专业课复习知识点总结:(五)通信原理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 第一章通信系统概述——通信系统的构成、各部分性质、性能指标1.通信系统的组成?2.通信系统的分类?3.调制、解调是什么?有什么用…

牛客java训练题 day1

9.24 day1 Q 1. this 指针是用来干什么的? 2.基类和派生类分别是指什么? 3.为什么方法中不能写静态变量 4. 解释一下ASCII码和ANSI码和两者的区别 5.简述j ava.io java.sql java.awt java.rmi 分别是什么类型的包 6. 看下面一段代码:…

自定义数据类型

前言:小伙伴们又见面啦,今天这篇文章,我们来谈谈几种自定义数据类型。 目录 一.都有哪些自定义数据类型 二.结构体 结构体内存对齐 1.如何对齐 2.为什么要对齐 3.节省空间和提升效率的方法 (1)让占用空间小的成员…

SD-MTSP:萤火虫算法(FA)求解单仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)

一、萤火虫算法(FA)简介 萤火虫算法(Firefly Algorithm,FA)是Yang等人于2009年提出的一种仿生优化算法。 参考文献:田梦楚, 薄煜明, 陈志敏, et al. 萤火虫算法智能优化粒子滤波[J]. 自动化学报, 2016, 42(001):89-97. 二、单仓…

Java基础常考知识点(基础、集合、异常、JVM)

作者:逍遥Sean 简介:一个主修Java的Web网站\游戏服务器后端开发者 主页:https://blog.csdn.net/Ureliable 觉得博主文章不错的话,可以三连支持一下~ 如有需要我的支持,请私信或评论留言! Java基础常考知识点…

【golang】调度系列之sysmon

调度系列 调度系列之goroutine 调度系列之m 调度系列之p 在golang的调度体系中,除了GMP本身,还有另外一个比较重要的角色sysmon。实际上,除了GMP和sysmon,runtime中还有一个全局的调度器对象。但该对象只是维护一些全局的数据&…

ROS2 的行为树 — 第 1 部分:解锁高级机器人决策和控制

一、说明 在复杂而迷人的机器人世界中,行为树(BT)已成为决策过程中不可或缺的一部分。它们提供了一种结构化、模块化和高效的方法来对机器人的行为进行编程。BT起源于视频游戏行业,用于控制非玩家角色,他们在机器人领域…