公共预览
pyroscope.receive_http
公共预览:这是一个公共预览组件。公共预览组件可能存在破坏性更改,并且可能会被等效的功能所取代,以覆盖相同的使用场景。要使用此组件,必须将
stability.level
标志设置为public-preview
或更低。
pyroscope.receive_http
通过HTTP接收配置文件并将其转发到能够接收配置文件的pyroscope.*
组件。
公开的HTTP API与Pyroscope的HTTP摄入API兼容。这允许pyroscope.receive_http
充当Pyroscope配置文件的代理,实现灵活的路由和配置文件数据的分发。
使用方法
pyroscope.receive_http "LABEL" {
http {
listen_address = "LISTEN_ADDRESS"
listen_port = PORT
}
forward_to = RECEIVER_LIST
}
组件将启动一个支持以下端点的HTTP服务器。
POST /ingest
- 向组件发送配置文件,该组件将按照在forward_to 参数
中配置的方式转发给接收者。请求格式必须与 Pyroscope ingest API 的格式相匹配。
参数
以下参数被支持
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
forward_to | list(ProfilesReceiver) | 要发送配置文件的目标接收者列表。 | 是 |
块
在 pyroscope.receive_http
的定义中支持以下块
层次结构 | 名称 | 描述 | 必需 |
---|---|---|---|
http | http | 配置接收请求的HTTP服务器。 | 否 |
http
该 http
块配置HTTP服务器。
您可以使用以下参数配置 http
块。任何省略的字段将采用默认值。
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
conn_limit | int | 最大同时HTTP连接数。默认为100。 | 0 | 否 |
listen_address | 字符串 | 服务器监听新连接的网络地址。默认为接受所有传入连接。 | "" | 否 |
listen_port | int | 服务器监听新连接的端口号。 | 8080 | 否 |
server_idle_timeout | duration | HTTP服务器的空闲超时。 | "120s" | 否 |
server_read_timeout | duration | HTTP服务器的读取超时。 | "30s" | 否 |
server_write_timeout | duration | HTTP服务器的写入超时。 | "30s" | 否 |
导出字段
pyroscope.receive_http
不导出任何字段。
组件健康状态
如果给 pyroscope.receive_http
提供了无效的配置,则将其报告为不健康。
示例
此示例创建一个 pyroscope.receive_http
组件,该组件启动一个监听 0.0.0.0
和端口 9999
的HTTP服务器。服务器接收配置文件并将它们转发到多个 pyroscope.write
组件,这些组件将这些配置文件写入不同的HTTP端点。
// Receives profiles over HTTP
pyroscope.receive_http "default" {
http {
listen_address = "0.0.0.0"
listen_port = 9999
}
forward_to = [pyroscope.write.staging.receiver, pyroscope.write.production.receiver]
}
// Send profiles to a staging Pyroscope instance
pyroscope.write "staging" {
endpoint {
url = "http://pyroscope-staging:4040"
}
}
// Send profiles to a production Pyroscope instance
pyroscope.write "production" {
endpoint {
url = "http://pyroscope-production:4040"
}
}
注意
此示例演示了转发到多个pyroscope.write
组件。此配置将复制接收到的配置文件并将副本发送到每个配置的pyroscope.write
组件。
您还可以创建多个具有不同配置的 pyroscope.receive_http
组件,以根据需要监听不同的地址或端口。这种灵活性允许您设计最适合您的基础设施和配置文件路由要求的设置。
兼容组件
pyroscope.receive_http
可以接受以下组件的参数
- 导出 Pyroscope
ProfilesReceiver
的组件
注意
连接某些组件可能不合理或组件可能需要进一步配置才能正确连接。有关更多详细信息,请参阅相关文档。