首页 > 其他分享 >dremio + grafana/tempo opentelemetry监控集成

dremio + grafana/tempo opentelemetry监控集成

时间:2024-01-20 18:02:37浏览次数:34  
标签:dremio http minio tempo grafana yaml

昨天我写过一个基于signoz的dremio opentelemetry 集成,实际上grafana/tempo 也是一个很不错的选择,主要是部署简单,以下是一个简单测试

环境准备

  • docker-compose 文件
version: "3"
services:
  tempo:
    image: grafana/tempo:latest
    command: [ "-config.file=/etc/tempo.yaml" ]
    volumes:
      - ./tempo/tempo-s3.yaml:/etc/tempo.yaml
      - ./tempo/tempo-data:/tmp/tempo
    ports:
      - "14268:14268"      # jaeger
      - "4317:4317"
      - "4318:4318"
      - "9411:9411"
      - "3200:3200"  # tempo
  minio:
    image: minio/minio:latest
    environment:
      - MINIO_ACCESS_KEY=minio
      - MINIO_SECRET_KEY=minio123
    ports:
      - "9001:9001"
      - "9000:9000"
    entrypoint:
      - sh
      - -euc
      - mkdir -p /data/tempo && minio server /data --console-address ':9001'
  prometheus:
    image: prom/prometheus:latest
    command:
      - --config.file=/etc/prometheus.yaml
      - --web.enable-remote-write-receiver
      - --enable-feature=exemplar-storage
    volumes:
      - ./tempo/prometheus.yaml:/etc/prometheus.yaml
    ports:
      - "9090:9090"
  grafana:
    image: grafana/grafana:10.1.1
    volumes:
      - ./tempo/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
    environment:
      - GF_AUTH_ANONYMOUS_ENABLED=true
      - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
      - GF_AUTH_DISABLE_LOGIN_FORM=true
      - GF_FEATURE_TOGGLES_ENABLE=traceqlEditor
    ports:
      - "3000:3000"
  dremio:
    build: .
    ports:
       - "9047:9047"
       - "31010:31010"

tempo-s3.yaml

server:
  http_listen_port: 3200
 
distributor:
  receivers:                           # this configuration will listen on all ports and protocols that tempo is capable of.
    jaeger:                            # the receives all come from the OpenTelemetry collector.  more configuration information can
      protocols:                       # be found there: https://github.com/open-telemetry/opentelemetry-collector/tree/main/receiver
        thrift_http:                   #
        grpc:                          # for a production deployment you should only enable the receivers you need!
        thrift_binary:
        thrift_compact:
    zipkin:
    otlp:
      protocols:
        http:
        grpc:
    opencensus:
 
ingester:
  max_block_duration: 5m               # cut the headblock when this much time passes. this is being set for demo purposes and should probably be left alone normally
 
compactor:
  compaction:
    block_retention: 1h                # overall Tempo trace retention. set for demo purposes
 
metrics_generator:
  registry:
    external_labels:
      source: tempo
      cluster: docker-compose
  storage:
    path: /tmp/tempo/generator/wal
    remote_write:
      - url: http://prometheus:9090/api/v1/write
        send_exemplars: true
 
storage:
  trace:
    backend: s3                        # backend configuration to use
    wal:
      path: /tmp/tempo/wal             # where to store the the wal locally
    s3:
      bucket: tempo                    # how to store data in s3
      endpoint: minio:9000
      access_key: minio
      secret_key: minio123
      insecure: true
      # For using AWS, select the appropriate regional endpoint and region
      # endpoint: s3.dualstack.us-west-2.amazonaws.com
      # region: us-west-2
 
overrides:
  metrics_generator_processors: [service-graphs, span-metrics]

dremio-telemetry.yaml 配置

tracing:
  type: opentelemetry
  serviceName: mydremio
  samplerType: on
  collectorEndpoint: http://tempo:4317 # replace with your ip addresss
  # samplerEndpoint: http://localhost:4317
  logSpans: true
  propagator: jaeger

启动&效果

  • 启动
docker-compose up -d
  • 访问

注意需要进行环境的初始化,比如dremio的
grafana 直接支持tempo 的显示 dashboard 地址 http://localhost:3000/explore
效果

说明

如果系统使用grafana 周边比较多的,选择tempo 是挺不错的,而且部署已经使用简单,值得使用,完整配置我已经push github 了,可以参考

参考资料

https://grafana.com/docs/tempo/v2.3.x/
https://github.com/grafana/tempo/tree/main/example/docker-compose
https://github.com/rongfengliang/dremio_opentelemetry_signoz_learning

标签:dremio,http,minio,tempo,grafana,yaml
From: https://www.cnblogs.com/rongfengliang/p/17976866

相关文章

  • dremio opentelemetry监控试用
    标准的系统监控应该包含metrics,trace,log这个三大类,metrics部分,包含了一个promethues的扩展,当然官方也支持jmx以及slf4j的opentelemetry是一个直接内置的trace功能,很不错,以下是一个简单的测试环境准备dremio默认就支持opentelemetrytrace,对于opentelemetrycollector......
  • docker 部署prometheus监控+Grafana
    yum-yinstallyum-utilsdevice-mapper-persistent-datalvm2安装docker或者使用containerd自行安装,使用containerd把docker命令换成对应的containerd的命令[root@Docker~]#dockerpullprom/prometheus[root@Docker~]#dockerrun--nameprometheus-d-p9090:9090--......
  • dremio 基于Options注解的配置技巧
    以前简单写过一个dremio配置相关的介绍,以下是一个简单的使用原理dremio自己定义了一个Options的注解,包含此注解的类会被启动的时候进行类扫描加载,Options的会存储起来(分为不用类型的)有session级别的,系统级别的。。。。简单使用pom.xml <?xmlversion="1.......
  • spring boot 3.2.1 dremio jdbc jprofiler 集成
    jprofiler可以直接与idea集成,对于分析一些实际需要debug但是不好复现的问题还是比较方便的,以下是一个简单的与dremio集成的,springboot使用了3.2(jdk需要17)同时也会包含一些启动说明安装idea插件直接plugins的市场中搜索安装就可以了,之后就是配置了idea启动配置因......
  • dremio nessie 版本持久化配置简单说明
    dremio对于nessie的使用就是一个插件配置,默认基于docker运行的nessie是没有进行版本持久化的,以下是一个简单说明配置参考我基于了pg,实际支持的存储引擎还是很多的docker-composeversion:"3"services:mysql2:image:mysql:5.6command:--......
  • dremio jdbc 访问最好使用链接池工具
    昨天在碰到一个dremiojdbc比较奇怪的问题,按照了标准的jdbc操作(建立链接,创建Statement,处理数据,关闭Statement,关闭连接)当进行多次执行(多次建立连接操作)发现dremio有一个操作异常,造成数据表创建有问题(事务不完整)参考代码 privatestaticvoidv3(){tr......
  • Kubernetes集群中 Pod 中报pthread_create failed: Resource temporarily unavailable
    查看containerd日志显示如下信息OCIruntimeexecfailed:execfailed:unabletostartcontainerprocess:readinit-p:connectionresetbypeer:unknown"查看Pod日志中显示pthread_createfailed:Resourcetemporarilyunavailable通过监控系统查看节点的进程数t......
  • dremio 测试特性api 的开启&外部profile查看
    以前简单说过基于代码修改开启test的外部profile能力,实际上官方是由配置参数的,可以在启动的时候添加到配置中配置添加dremio.conf文件debug{allowTestApis:true}检查选项时候开启的一个技巧使用arthas命令使用了arthas的vmtool也可以结......
  • zabbix对接grafana,优化dashboard
    zabbix对接grafana #下载grafana官网地址https://grafana.com/grafana/download/9.4.7?pg=graf&plcmt=deploy-box-1官网有下载指导  #开启并设置开机自启 #安装的服务器地址加ip:3000/login账号,密码默认都是admin     创建新数据   ......
  • `git push` 报错:error: remote unpack failed: unable to create temporary object di
    祸首:wsl:检测到localhost代理配置,但未镜像到WSL。NAT模式下的WSL不支持localhost代理;修改:NAT改镜像问题1:在自己的服务器上新建git仓库时,推送就一直报错;最开始一直推送失败,怀疑是WSL的网关由NAT改为镜像了......