菜单
节奏的文档 节奏API

节奏API

节奏公开API来推动和查询跟踪,和操作集群本身。

为了清晰、API端点被服务分组。这些端点都暴露在运行节奏microservices和整体模式:

  • microservices:每个服务暴露自己的端点
  • 单片:节奏过程公开的所有API端点服务内部运行

端点

API 服务 类型 端点
准备调查 所有的服务 HTTP 准备好/
指标 所有的服务 HTTP GET /指标
Pprof 所有的服务 HTTP /调试/ pprof
摄取的痕迹 经销商 - - - - - - 有关详细信息,请参阅部分
通过id查询跟踪 Query-frontend HTTP GET / api /跟踪/ < traceID >
搜索痕迹 Query-frontend HTTP 得到/ api /搜索? <参数>
搜索标记名称 Query-frontend HTTP GET / api /搜索/标记
搜索标签值 Query-frontend HTTP GET / api /搜索/标签/ <标记> /值
搜索标签值V2 Query-frontend HTTP GET / api / v2 /搜索/标签/ <标记> /值
查询回声端点 Query-frontend HTTP 获得/ api /回声
Memberlist 经销商、摄取、查询器,压实机 HTTP GET / memberlist
冲洗 摄取 HTTP GET、POST /冲洗
关闭 摄取 HTTP GET、POST /关闭
经销商环状态(*) 经销商 HTTP 获得/分销商/环
Ingesters环状态 经销商,查询器 HTTP /吸收/环
Metrics-generator环状态(*) 经销商 HTTP 获得/ metrics-generator /环
压实机环状态 压实机 HTTP 压实机/环
状态 状态 HTTP GET /状态

(*)这个端点并不总是可用,检查特定部分的更多细节。

准备调查

准备好/

返回状态码200当节奏准备交通服务。

指标

GET /指标

回报指标的运行节奏服务普罗米修斯博览会格式。

Pprof

获得/调试/ pprof /堆获得/调试/ pprof /块/调试/ pprof /配置文件获得/调试/ pprof /跟踪/调试/ pprof / goroutine /调试/ pprof /互斥

返回预期的运行时分析数据格式pprof可视化工具。有许多事情可以使用这个异形包括堆,跟踪,goroutine等等。

有关更多信息,请查看官方的文档pprof

摄取

节奏经销商使用OpenTelemetry收集器接收器作为摄取跟踪数据的基础。这些api是被相应的客户端SDK或管道组件,如Grafana代理,OpenTelemetry收集器或Jaeger代理。

协议 类型 文档
OpenTelemetry GRPC 链接
OpenTelemetry HTTP 链接
Jaeger 节俭紧凑 链接
Jaeger 节俭的二进制 链接
Jaeger 节俭HTTP 链接
Jaeger GRPC 链接
Zipkin HTTP 链接

有关如何使用Zipkin端点的信息与旋度(用于调试目的),请参考与HTTP推动跨越

查询

以下用于检索请求的跟踪查询前端服务microservices部署或节奏的端点在单一的模式部署。

GET / api /跟踪/ < traceid > ?开始= <开始>,结束= <结束>

参数:

  • 开始= (unix纪元秒)可选的。随着结束定义一个时间范围,应该返回痕迹。
  • 结束= (unix纪元秒)可选的。随着开始定义一个时间范围,应该返回痕迹。提供两个开始结束指定时间范围将包括痕迹。如果提供的参数并不那么节奏将检查跟踪所有块的后端。如果提供的参数,它只会检查在指定时间范围内的块,这可能导致跟踪没有被发现或部分结果如果不落在指定的时间范围。

下面的查询API还提供了查询器服务调试目的。

GET /查询器/ api /跟踪/ < traceid > ?模式= xxxx&blockStart = 0000 &blockend = FFFF&start = <开始>,结束= <结束>

参数:

  • 模式=(块| ingesters |)指定查询器是否应该找块的跟踪,ingesters或两者(所有)。默认=所有
  • blockStart = (GUID)指定blockID边界开始。如果指定,查询器只会搜索模块id > blockStart。默认=00000000-0000-0000-0000-000000000000例子:blockStart = 12345678-0000-0000-1235-000001240000
  • blockEnd = (GUID)指定blockID完成边界。如果指定,查询器只会搜索模块id < blockEnd。默认=FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF例子:blockStart = ffffffff -飞行符-飞行符-飞行符- 456787652341
  • 开始= (unix纪元秒)可选的。随着结束定义一个时间范围,应该返回痕迹。
  • 结束= (unix纪元秒)可选的。随着开始定义一个时间范围,应该返回痕迹。提供两个开始结束指定时间范围将包括街区。

这个API并不意味着除非直接用于调试的分片功能查询前端。

返回:默认情况下这个端点返回OpenTelemetryJSON,但是如果它还可以发送OpenTelemetry原型接受:应用程序/ protobuf是过去了。

节奏的搜索API发现痕迹基于跨度和处理属性(标签和值)。

当执行一个搜索,在给定的时间节奏大规模并行搜索范围,并把第一个N的结果。甚至相同的搜索将因诸如机器不同负载和网络延迟。TraceQL遵循相同的行为。

中可用的API查询microservices前端服务部署,以单片模式或节奏端点部署。

以下请求用于查找包含跨越从服务痕迹myservice和url包含api / myapi

得到/ api /搜索?标签= service.name % 3 dmyservice % 20 http.url fmyapi % 3 dapi % 2

URL查询参数支持以下值:

TraceQL搜索参数

基于标签的搜索参数

  • 标签= (logfmt):任何span-level logfmt编码或流程级属性来过滤。作为一个不区分大小写的字符串匹配的值。键-值对由空间。如果值包含一个空间,它应该包含在双引号内。
  • minDuration =(持续时间值)可选的。找到痕迹至少持续时间。持续时间值的形式十年代10秒,100毫秒,30米等。
  • maxDuration =(持续时间值)可选的。发现没有比这更大的痕迹持续时间。使用相同的形式minDuration

支持所有的搜索参数

  • 限制=(整数)可选的。限制搜索结果的数量。默认值是20,但这在查询器是可配置的。指配置
  • 开始= (unix纪元秒)可选的。随着结束定义一个时间范围,应该返回痕迹。
  • 结束= (unix纪元秒)可选的。随着开始,定义一个时间范围,应该返回痕迹。提供两个开始结束将改变节奏的方式搜索。如果不提供参数,那么节奏将搜索最近的跟踪数据存储在ingesters。如果提供的参数,它将搜索后端。

如何使用curl查询速度的例子。这个查询将返回所有痕迹,状态设置为错误。

美元curl - g - s http://localhost: 3200 / api /搜索——data-urlencode的q ={状态=错误}|金桥{“痕迹”:[{“traceID”:“169 bdefcae1f19”、“rootServiceName”:“gme-ruler”、“rootTraceName”:“规则”、“startTimeUnixNano”:“1675090379953800000”,“durationMs”: 3,“spanSet”:{“跨越”:[{“spanID”:“45 b795d0c4f9f6ae”、“startTimeUnixNano”:“1675090379955688000”,“durationNanos”:“525000”,“属性”:[{“关键”:“状态”,“价值”:{“stringValue”:“错误”}}]}],“匹配”:1}},],“指标”:{“inspectedBlocks”: 13}}

如何使用curl查询速度的例子。这个查询将返回一个标签的所有痕迹service.name包含cartservice和一个最小时间600毫秒。

美元curl - g - s http://localhost: 3200 / api /搜索——data-urlencode“标签= service.name = cartservice”——data-urlencode minDuration = 600 ms |金桥{“痕迹”:[{“traceID”:“d6e9329d67b6146a”、“rootServiceName”:“前端”、“rootTraceName”:“购物车”、“startTimeUnixNano”:“1634727903545000000”,“durationMs”: 611}, {“traceID”:“1 b1ba462b409200d”、“rootServiceName”:“前端”、“rootTraceName”:“购物车”、“startTimeUnixNano”:“1634727775935000000”,“durationMs”: 611}],“指标”:{“inspectedTraces”: 3100年,“inspectedBytes”:“3811736”,“inspectedBlocks”: 3}}

搜索标签

摄取配置complete_block_timeout标签可用于搜索到底能产生多大的影响。

这个端点检索所有标记名称发现可用于搜索。端点可以在查询microservices前端服务部署,以单片模式或节奏端点部署。

GET / api /搜索/标记

例子

如何使用curl查询速度的例子。这个查询将返回所有发现标记名称。

美元curl - g - s http://localhost: 3200 / api /搜索/标签|金桥{“tagname”:“host.name”、“http。法”、“http。status_code”、“http。url”、“知识产权”、“load_generator。seq_num”、“名称”、“opencensus。exporterversion”、“地区”、“root.name”、“root.service.name”、“root_cause_error”、“取样器。param”、“取样器。类型”、“service.name”、“启动”、“版本”)}

搜索标签值

摄取配置complete_block_timeout标签可用于搜索到底能产生多大的影响。

这个端点检索所有发现的值为给定的标记,用于搜索。端点可以在查询microservices前端服务部署,以单片模式或节奏端点部署。下面的请求将返回所有发现的服务名称。

GET / api /搜索/标签/ service.name /值

例子

如何使用curl查询速度的例子。这个查询将返回所有发现的值标签service.name

美元curl - g - s http://localhost: 3200 / api /搜索/标签/ service.name /值|金桥{“tagValues”: [“adservice”、“cartservice”,“checkoutservice”、“前端”、“productcatalogservice”,“recommendationservice”]}

搜索标签值V2

这个端点检索所有发现给定TraceQL值及其数据类型标识符。端点可以在查询microservices前端服务部署,以单片模式或节奏端点部署。这个端点类似/ api /搜索/标签/ <标记> /值但操作TraceQL标识符和类型。看到TraceQLdocumention获得更多信息。以下请求返回所有发现的服务名称。

GET / api / v2 /搜索/标签/ .service.name /值

例子

这个示例查询使用curl节奏,并返回所有发现的值标签service.name

美元curl http://localhost: 3200 / api / v2 /搜索/标签/ .service.name /值|金桥。{“tagValues”:[{“类型”:“字符串”,“价值”:“客户”},{“类型”:“字符串”,“价值”:“mysql”},{“类型”:“字符串”,“价值”:“司机”},{“类型”:“字符串”,“价值”:“前端”},{“类型”:“字符串”,“价值”:“复述”}]}

查询回声端点

获得/ api /回声

返回状态码200和身体回声当查询前端和准备好接受请求。

请注意:用于查询可视化UI像Grafana节奏数据源正在测试。

冲洗

GET、POST /冲洗

触发犯下的所有内存痕迹的冲洗。有用的时候推出重启和意想不到的事故。

关闭

GET、POST /关闭

将所有内存痕迹和WAL长期后端。优雅地退出。关闭摄取服务。

请注意:这通常是按比例缩小的时候使用一个集群。

经销商环状态

请注意:这个端点只能当节奏配置了全球覆盖策略

获得/分销商/环

显示一个web页面的分销商散列环状态,包括状态、健康和每个经销商的最后心跳时间。

有关更多信息,请查看页面一致性哈希环

Ingesters环状态

/吸收/环

显示一个web页面的ingesters散列环状态,包括状态、健康和持续心跳时间每摄取。

有关更多信息,请查看页面一致性哈希环

Metrics-generator环状态

获得/ metrics-generator /环

显示一个web页面的metrics-generator散列环状态,包括状态、健康,最后每个metrics-generator心跳的时间。

这个端点只能当metrics-generator启用。看到metrics-generator

有关更多信息,请查看页面一致性哈希环

压实机环状态

压实机/环

显示一个web页面与压实机散列环状态,包括状态、健康和持续心跳时间压实机。

有关更多信息,请查看页面一致性哈希环

状态

GET /状态

默认打印所有可用的信息。

获得/地位/版本

打印版本信息。

GET /地位/服务

显示一个列表的服务和他们的身份。如果一个服务失败它会显示失败的情况。

获得/地位/端点

显示状态信息的API端点。

获得/地位/配置

显示配置。

显示当前配置应用于节奏(YAML格式),包括通过CLI旗帜和设置默认值。敏感数据被蒙住了。请注意,导出的配置不包括基本覆盖

可选的查询参数:

  • 模式= (diff |违约):diff显示了默认值和当前配置的区别。违约显示默认值。
获得/地位/ runtime_config

显示覆盖配置。

查询参数:

  • 模式= (diff):显示违约和覆盖的区别。
获得/地位/ usage-stats

显示匿名使用统计数据报告回Grafana实验室。bob电竞频道