dremio opentelemetry监控试用

标准的系统监控应该包含metrics,trace,log 这个三大类,metrics 部分,包含了一个promethues 的扩展,当然官方也支持jmx以及slf4j的
opentelemetry 是一个直接内置的trace 功能,很不错,以下是一个简单的测试

环境准备

dremio 默认就支持opentelemetry trace,对于opentelemetry collector 我使用了开源的signoz,相对比较简单

  • signoz 启动
    可以使用官方的,或者我修改的一个(不保证更新,我主要删除了内置的一些测试服务)
    官方模式
git clone -b main https://github.com/SigNoz/signoz.git && cd signoz/deploy/
docker compose -f docker/clickhouse-setup/docker-compose.yaml up -d
  • dremio 配置
    dremio-telemetry.yaml
tracing:
  type: opentelemetry
  serviceName: mydremio
  samplerType: on
  collectorEndpoint: http://172.16.8.210:4317 #  修改为自己的ip,实际上就是signoz 暴露的ip
  # samplerEndpoint: http://localhost:4317
  logSpans: true
  propagator: jaeger

Dockerfile (直接使用官方的,主要是添加了配置)

FROM dremio/dremio-oss:24.3.0
COPY dremio-telemetry.yaml /opt/dremio/conf/dremio-telemetry.yaml

效果

  • 查看信息

打开signoz 的http://localhost:3301 地址


tracing 效果

说明

以上是一个简单的测试,实际上基于OpenTelemetry 的tracing 是一个很不错的选择,值得尝试下

参考资料

https://github.com/rongfengliang/dremio_opentelemetry_signoz_learning
https://www.cnblogs.com/rongfengliang/p/14407749.html
https://github.com/dremio-hub/dremio-prometheus-exporter
https://github.com/locustio/locust
https://signoz.io/docs/install/docker/
services/telemetry-api/src/main/java/com/dremio/telemetry/api/Telemetry.java
services/telemetry-impl/src/main/java/com/dremio/telemetry/impl/config/tracing/OpenTelemetryConfigurator.java

posted on 2024-01-19 17:15  荣锋亮  阅读(26)  评论(0编辑  收藏  举报

导航