博客/工程

如何发送痕迹和OpenTelemetry收集器Grafana云的节奏服务吗

2021年4月13日4分钟

作为一个开源的公司,我们了解开放标准和互操作性的价值。这适用于Grafana云和我们的节奏服务跟踪管理,目前处于测试阶段。

Grafana代理很容易发送Grafana云痕迹,但这不是必需的。事实上,Grafana云的节奏服务公开为一个符合符合标准的gRPC端点开放的遥测TraceService与HTTP基本授权。任何工具可以调用端点与适当的HTTP头信息可以发送痕迹。

这篇文章将介绍如何使用的这样做OpenTelemetry收集器

开始

开始的第一步是收集您的Grafana云节奏在我的帐户页面的URL和凭证。选择堆栈,然后发送跟踪查看您的用户名和URL。API密钥管理的安全- >的API密钥。

配置收集器

下一步是创建的配置文件打开遥测收集器。创建一个文件命名otel-config.yaml用下面的内容:

接收器:jaeger:协议:thrift_compact:处理器:批处理:出口商:otlp:端点:tempo-us-central1.grafana.net: 443头:授权:基本< base64数据>服务:管道:痕迹:接收器:(jaeger)处理器:(批)出口商:[otlp]

这个配置有四个部分:

  1. 接收器部分控制协议和格式的痕迹,可以收到。这个例子只允许在紧凑的节俭协议支持Jaeger节俭,但任何OpenTelemetry跟踪接收机是支持的。
  2. 处理器部分添加批处理器,这批数据上传之前帮助性能和压缩。这是一个最佳实践。
  3. 出口商部分添加了otlp(OpenTelemetry协议)出口国,与Grafana gRPC-based协议使用云。的端点是你Grafana云栈的url。的部分添加HTTP授权基本格式的标题。我们将回到base64编码的凭证。
  4. 服务节把前面的三个部分连在一起通过构建最终的管道跟踪数据。

授权头配置了基本计划,这是一个base64编码的文本版本<用户>:<密码>。有多种方法可以创建这个值,包括命令和网页,但这里是一个简单的示例命令:

美元echo - n”<您的用户id >: < api键>”| base64

复制和粘贴的输出值配置文件。

运行收集器

为了让事情简单,这个示例将运行收集器和将数据发送给它的Jaeger HotROD演示使用docker-compose。创建一个docker-compose。yaml以下内容:

版本:“2”服务:hotrod:形象:jaegertracing / example-hotrod:最新的港口:——“8080:8080”命令:(“所有”)环境:- JAEGER_AGENT_HOST =收集器JAEGER_AGENT_PORT = 6831收藏家:形象:otel / opentelemetry-collector: 0.23.0命令:”——配置/etc/otel-config。卷:yaml”。/ otel-config.yaml: / etc / otel-config.yaml

HotROD演示通过环境变量指向收集器。收集器安装的配置文件和命令行参数中指定。

开始的一切docker-compose起来并浏览到http://localhost: 8080与HotROD交互演示。点击按钮开始生成跟踪数据。

查看跟踪

确认一切正常,收集跟踪ID和把它在Grafana云。HotROD演示日志跟踪IDs stdout,可以使用下面的命令:

docker-compose日志——尾= 1美元hotrod粘附compose-cloud-collector_hotrod_1 hotrod_1 |…调度成功……“trace_id”:“32 f2c9dcb3456820”…

接下来,通过导航搜索跟踪在Grafana云探索和选择你的痕迹数据源。有你有它!

结束

在这篇文章中我们已经看到Grafana云如何使用行业标准提供了高度的灵活性允许您使用适合你的工具。如果您已经在使用或想要知道更多关于使用Grafana代理,看看我们以前的博客文章开始发送的痕迹和插装Javanet

尝试的β节奏服务跟踪管理,免费注册Grafana云。Grafana云是最简单的方法开始观察指标、日志、痕迹,和仪表板,我们有免费和付费计划吗以适应每个用例。