菜单
文档breadcrumb arrow Grafana Alloybreadcrumb arrow 参考breadcrumb arrow 组件breadcrumb arrow pyroscopebreadcrumb arrow pyroscope.receive_http
开源

公共预览

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_tolist(ProfilesReceiver)要发送配置文件的目标接收者列表。

pyroscope.receive_http 的定义中支持以下块

层次结构名称描述必需
httphttp配置接收请求的HTTP服务器。

http

http 块配置HTTP服务器。

您可以使用以下参数配置 http 块。任何省略的字段将采用默认值。

名称类型描述默认值必需
conn_limitint最大同时HTTP连接数。默认为100。0
listen_address字符串服务器监听新连接的网络地址。默认为接受所有传入连接。""
listen_portint服务器监听新连接的端口号。8080
server_idle_timeoutdurationHTTP服务器的空闲超时。"120s"
server_read_timeoutdurationHTTP服务器的读取超时。"30s"
server_write_timeoutdurationHTTP服务器的写入超时。"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 可以接受以下组件的参数

注意

连接某些组件可能不合理或组件可能需要进一步配置才能正确连接。有关更多详细信息,请参阅相关文档。