HTTP数据
简介
service_http_server
input
插件可以接收来自unix socket、http/https、tcp的请求,并支持sls协议、otlp等多种协议。
版本
配置参数
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
Type | String | 是 | 插件类型,固定为service_http_server |
Format | String | 否 | 数据格式。 支持格式: sls 、prometheus 、influxdb 、otlp_logv1 、 otlp_metricv1 、pyroscope 、statsd v2版本支持格式: raw 、prometheus 、otlp_logv1 、otlp_metricv1 、otlp_tracev1 说明: raw 格式以原始请求字节流传输数据 |
Address | String | 否 | 监听地址。 |
Path | String | 否 | 接收端点, 如Format 为 otlp_logv1 时, 默认端点为/v1/logs 。 |
ReadTimeoutSec | String | 否 | 读取超时时间。 默认取值为: 10s 。 |
ShutdownTimeoutSec | String | 否 | 关闭超时时间。 默认取值为: 5s 。 |
MaxBodySize | String | 否 | 最大传输 body 大小。 默认取值为: 64k 。 |
UnlinkUnixSock | String | 否 | 启动前如果监听地址为unix socket,是否进行强制释放。 默认取值为: true 。 |
FieldsExtend | Boolean | 否 | 是否支持非integer以外的数据类型(如String) 目前仅针对有 String、Bool 等额外类型的 influxdb Format 有效 |
QueryParams | []String | 否 | 需要解析到Group.Metadata中的请求参数。 解析结果会以KeyValue放入Metadata。默认取值为 [] ,即不解析。仅v2版本有效 |
QueryParamPrefix | String | 否 | 解析请求参数时需要添加的key前缀,如_query_param_ 。前缀会直接拼接在每个QueryParam前,无额外连接符,默认取值为空,即不增加前缀。 仅v2版本有效 |
HeaderParams | []String | 否 | 需要解析到Group.Metadata中的header参数。 解析结果会以KeyValue放入Metadata。默认取值为 [] ,即不解析。仅v2版本有效 |
HeaderParamPrefix | String | 否 | 解析Header参数时需要添加的key前缀,如_header_param_ 。前缀会直接拼接在每个HeaderParam前,无额外连接符,默认取值为空,即不增加前缀。 仅v2版本有效 |
DisableUncompress | Boolean | 否 | 禁用对于请求数据的解压缩, 默认取值为:false 目前仅针对Raw Format有效 仅v2版本有效 |
Tags | map[String]String | 否 | 输出数据默认携带标签 仅v1版本有效 |
DumpData | Boolean | 否 | [开发使用] 将接收的请求存储于本地文件, 默认取值为:false |
DumpDataKeepFiles | Int | 否 | [开发使用] Dump文件保留文件数目, 文件按小时滚动, 此参数默认值为5, 表示保留5小时Dump 参数 |
AllowUnsafeMode | Boolean | 否 | 是否允许unsafe模式的Decode,启用该模式,Decoder将可能利用go unsafe技术来加速解码,目前仅当Format=prometheus时有效(注:暂不支持Exemplar、Histogram) |
样例
接收 OTLP 日志
- 采集配置
- 输入
使用
opentelemetry-java-sdk构造数据,基于ExampleConfiguration.java、OtlpExporterExample.java
进行如下代码改造。
ExampleConfiguration
进行 OTLP SDK
初始化。
OtlpExporterExample
构造数据。
- 输出
接收 OTLP Logs/Metrics/Traces (v2)
注意:目前v2 pipeline尚不支持otlp logs请求,会丢弃数据。
- 采集配置
接收字节流数据
- 采集配置
- 输入
手动构造请求
- 输出
接收Pyroscope Agent 数据
- Agent 兼容性说明
Agent | 协议 | 是否兼容 |
---|---|---|
pyroscopde/nodjs | pprof | 是 |
pyroscopde/.net | pprof | 是 |
pyroscopde/.net-new | pprof | 是 |
pyroscopde/java | JFR | 是 |
pyroscopde/go | pprof | 是 |
pyroscopde/php | raw tire | 是 |
pyroscopde/ebpf | raw tire | 是 |
pyroscopde/rust | raw groups | 是 |
pyroscopde/ruby | raw groups | 是 |
pyroscopde/python | raw groups | 是 |
- 采集配置
使用v1 版本表述使用protocol.Log 传递数据
- 输入
- 进入Pyroscope Golang Example
- 编译 Pyroscope Golang Example
- 启动Pyroscope Golang Example
- 输出