关于OpenTelementry一些思考

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 从KubeConf关于OpenTelemetry PPT中的一些思考

(未完待续)

image

image

image

image

image

image

image

Open Telemetry模块分解

  1. Collectors can communicate with various backends via exporters
  2. Configuration controls aggregation, batching, and processing
  3. In-proc exporters are easily replaceable to work with different backend
  4. SDK allows various extensions: sampling, filtering, enrichments
  5. OpenTelemetry SDK package can be completely replaced

image

最佳实践

Tracer:

  • Customer Attributes: Add custom properties for easier querying and differentiating telemetry.
  • Resource API: define resource attributes, which are distinct from regular attributes

    • Deployment name and location
    • App name and version
    • Hosting environment
    • Propagation:

      • use it as a metrics dimension or
      • attribute spans

OT视角的一种实现

jobsQueuedGauge := meter.NewFloat64Gauge("jobs_queued", metric.WithDescription("The number of jobs currently queued"))

err := tracer.WithSpan(ctx, "jobEnqueue", func(ctx context.Context) error { jobsTotal, err := jobQueue.Enqueue(job) if err != nil { return err } jobsQueuedGauge.Set(ctx, jobsTotal)

})

image

基于M3DB的一种实现

# HELP http_requests_total http_requests # TYPE http_requests_total counter http_requests_total{endpoint="/search",status_code="2xx"} 1725 # {trace_id="b096e71d..."} http_requests_total{endpoint="/search",status_code="4xx"} 4 # {trace_id=" 944a6d97..."} http_requests_total{endpoint="/search",status_code="5xx"} 27 # {trace_id="50785260..."} http_request_latency_bucket{endpoint="/search",le="0.1"} 7 # {trace_id=" 7f78deda..."}

image

支持采样机制

image

统一模型

Trace有Metric关系

image

数据表示上可以用Time + KeyValue方式融合

image

Metric与Trace、Log关联原理

  • 同一个时间段
  • 同一个实体Entity:例如通过Namespace,Location,Label等关联
  • (*)同一个TraceId

image

一种融合的观点

(待添加)

Reference

  • OpenTelemetry The First Release, What’s Next, and How to Get Involved - Morgan McLean, Google; Tristan Sloughter, Postmates; Sergey Kanzhelev, Microsoft; & Chris Kleinknecht, Google
  • Beyond Getting Started Using OpenTelemetry to Its Full Potential - Sergey Kanzhelev, Microsoft & Morgan McLean
目录
相关文章
|
SQL 存储 监控
深入可观测底层:OpenTelemetry 链路传递核心原理
本文会系统讲解链路传递一些基本概念,同时结合案例讲解链路传递的过程。
2324 0
深入可观测底层:OpenTelemetry 链路传递核心原理
|
6月前
|
域名解析 网络协议 应用服务中间件
服务器主机名值命名规范
服务器主机名值命名规范
213 0
|
11月前
|
存储 JavaScript 编译器
玩转vitepress1.0,搭建个人网站~
当初1月份的时候为了后续春招求职,就使用vitepress搭建了一个个人网站,然后把自己本地的一些md文件整理了发布在了上面,不过当时vitepress还未发布正式版本,还是0.22.x这样的版本, 所以其实有很多不满意的地方,比如侧边栏折叠之前没有,明暗模式之前没有,单篇文章的大纲好像也没有,侧边栏在不同tab下有问题,这些我不太确定,可能功能是有的,但是官方文档上没更新罢了
378 0
|
4月前
|
Kubernetes 负载均衡 Docker
[面试题~k8s] 云原生必问基础篇
[面试题~k8s] 云原生必问基础篇
372 0
|
11月前
|
Prometheus 监控 Cloud Native
夜莺 V6 全新升级为开源观测平台
夜莺 V6 全新升级为开源观测平台
|
前端开发 Java Spring
SpringBoot2.6.x 整合swagger3.0 报错Failed to start bean ‘documentationPluginsBootstrapper‘
org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException
11435 2
SpringBoot2.6.x 整合swagger3.0 报错Failed to start bean ‘documentationPluginsBootstrapper‘
|
9月前
|
数据采集 存储 分布式计算
Hadoop生态系统中的数据质量与数据治理:Apache Atlas和Apache Falcon的作用
Hadoop生态系统中的数据质量与数据治理:Apache Atlas和Apache Falcon的作用
|
10月前
|
Arthas Java 测试技术
Arthas可以对线上jar中的代码进行断点查看
Arthas可以对线上jar中的代码进行断点查看
1956 1
|
运维 负载均衡 监控
服务网格下的东西向与南北向流量管理实践|学习笔记
快速学习服务网格下的东西向与南北向流量管理实践
1033 0
服务网格下的东西向与南北向流量管理实践|学习笔记
|
存储 Prometheus 运维
统一观测丨使用 Prometheus 监控云原生网关,我们该关注哪些指标?
MSE 云原生网关默认提供了丰富的 Metrics 指标大盘,配合阿里云 Prometheus 监控提供开箱即用的完整可观测性能力,能够帮助用户快捷、高效的搭建自身的微服务网关与对应的可观测体系。
统一观测丨使用 Prometheus 监控云原生网关,我们该关注哪些指标?