节奏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搜索参数
q = (TraceQL查询)
:Url编码TraceQL查询。
基于标签的搜索参数
标签= (logfmt)
:任何span-level logfmt编码或流程级属性来过滤。作为一个不区分大小写的字符串匹配的值。键-值对由空间。如果值包含一个空间,它应该包含在双引号内。minDuration =(持续时间值)
可选的。找到痕迹至少持续时间。持续时间值的形式十年代
10秒,100毫秒
,30米
等。maxDuration =(持续时间值)
可选的。发现没有比这更大的痕迹持续时间。使用相同的形式minDuration
。
支持所有的搜索参数
限制=(整数)
可选的。限制搜索结果的数量。默认值是20,但这在查询器是可配置的。指配置。开始= (unix纪元秒)
可选的。随着结束
定义一个时间范围,应该返回痕迹。结束= (unix纪元秒)
可选的。随着开始
,定义一个时间范围,应该返回痕迹。提供两个开始
和结束
将改变节奏的方式搜索。如果不提供参数,那么节奏将搜索最近的跟踪数据存储在ingesters。如果提供的参数,它将搜索后端。
TraceQL搜索的例子
如何使用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电竞频道