关于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 链路传递核心原理
本文会系统讲解链路传递一些基本概念,同时结合案例讲解链路传递的过程。
2310 0
深入可观测底层:OpenTelemetry 链路传递核心原理
|
6月前
|
域名解析 网络协议 应用服务中间件
服务器主机名值命名规范
服务器主机名值命名规范
210 0
|
4月前
|
Kubernetes 负载均衡 Docker
[面试题~k8s] 云原生必问基础篇
[面试题~k8s] 云原生必问基础篇
366 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
11366 2
SpringBoot2.6.x 整合swagger3.0 报错Failed to start bean ‘documentationPluginsBootstrapper‘
|
9月前
|
数据采集 存储 分布式计算
Hadoop生态系统中的数据质量与数据治理:Apache Atlas和Apache Falcon的作用
Hadoop生态系统中的数据质量与数据治理:Apache Atlas和Apache Falcon的作用
|
9月前
|
存储 缓存 弹性计算
阿里云服务器通用型g5、g6、g7实例区别及选择参考
在我们选择阿里云服务器实例规格的时候,如果是选择通用型实例,会发现同样是通用型实例,有通用型g5、通用型g6和通用型g7可选(当然还有g8i、g8y等其他通用型实例可选),他们都属于企业级云服务器,都配有2核4G、4核8G和8核16G等处理器与内存比1:4的配置,那么它们之间有什么区别,下边就这三个实例各自的特点、网络、适用场景及最新活动价格来详细分析一下新手用户应该怎么选择。
阿里云服务器通用型g5、g6、g7实例区别及选择参考
|
10月前
|
Arthas Java 测试技术
Arthas可以对线上jar中的代码进行断点查看
Arthas可以对线上jar中的代码进行断点查看
1939 1
|
运维 负载均衡 监控
服务网格下的东西向与南北向流量管理实践|学习笔记
快速学习服务网格下的东西向与南北向流量管理实践
1023 0
服务网格下的东西向与南北向流量管理实践|学习笔记
|
存储 Prometheus 运维
统一观测丨使用 Prometheus 监控云原生网关,我们该关注哪些指标?
MSE 云原生网关默认提供了丰富的 Metrics 指标大盘,配合阿里云 Prometheus 监控提供开箱即用的完整可观测性能力,能够帮助用户快捷、高效的搭建自身的微服务网关与对应的可观测体系。
统一观测丨使用 Prometheus 监控云原生网关,我们该关注哪些指标?