HTTP
http 输出插件允许将您的记录输出到 HTTP 端点。目前,该功能非常基础,它以 MessagePack(或JSON)格式的数据记录向 HTTP 端点发出 POST 请求。
Configuration Parameters
Key
Description
default
Host
目标 HTTP 服务的主机名或 IP 地址
127.0.0.1
HTTP_User
基本身份认证用户名
HTTP_Passwd
基本身份认证密码
Port
HTTP 服务的端口
80
Proxy
指定 HTTP 代理。该值的预期格式为 http://host:port
。https 协议的代理还不支持
URI
指定目标 Web 服务器 HTTP URI,如: /something
/
Format
指定要在 HTTP 请求正文中使用的数据格式,默认使用 msgpack
。其它支持的格式是 json
,json_stream
,json_lines
,gelf
msgpack
header_tag
为原始的消息标签指定一个可选的 HTTP 请求头
Header
添加 HTTP 请求头的键值对。可以设置多个
json_date_key
在输出中指定日期字段的名称
date
json_date_format
指定日期格式。支持的格式为 double
,iso8601
(如: 2018-05-30T09:39:52.000681Z)
double
gelf_timestamp_key
为 gelf
格式的数据格式指定 timestamp
的键
gelf_host_key
为 gelf
格式的数据格式指定 host
的键
gelf_short_messge_key
为 gelf
格式的数据格式指定 short
messge 的键
gelf_full_message_key
为 gelf
格式的数据格式指定 full
messge 的键
gelf_level_key
为 gelf
格式的数据格式指定 level
的键
TLS / SSL
http 输出插件支持 TLS/SSL,有关可用属性和配置的详细信息,请参阅 TLS/SSL 部分。
Getting Started
要将记录输出到 HTTP 服务器,您可以从命令行或通过配置文件运行插件:
Command Line
http 插件可以通过两种方式从命令行读取参数,通过 -p 参数或直接通过服务 URI 进行设置。URI 格式如下:
http://host:port/something
使用指定的格式,您可以通过以下方式启动 Fluent Bit:
$ fluent-bit -i cpu -t cpu -o http://192.168.2.3:80/something -m '*'
Configuration File
在您的主配置文件中,添加如下 Input 和 Output 配置段:
[INPUT]
Name cpu
Tag cpu
[OUTPUT]
Name http
Match *
Host 192.168.2.3
Port 80
URI /something
默认情况下,URI 会成为输出记录的标签,原始标签值将被忽略。要保留标签,必须基于多个配置段并将其输出到不同的 URI。
我们还支持的另一种方式时在可配置的请求头中发送原始标签。接收方可以根据请求头字段执行所需的操作: 解析它并将其用作消息的标签。示例如下:
要配置此行为,请添加以下配置:
[OUTPUT]
Name http
Match *
Host 192.168.2.3
Port 80
URI /something
Format json
header_tag FLUENT-TAG
如果您使用 Fluentd 作为数据接收器,则可以使用 in_http
和 out_rewrite_tag_filter
来使用此 HTTP 请求头。
<source>
@type http
add_http_headers true
</source>
<match something>
@type rewrite_tag_filter
<rule>
key HTTP_FLUENT_TAG
pattern /^(.*)$/
tag $1
</rule>
</match>
请注意,我们使用自定义请求头覆盖了值为 URI 路径的标签。
Example : Add a header
[OUTPUT]
Name http
Match *
Host 127.0.0.1
Port 9000
Header X-Key-A Value_A
Header X-Key-B Value_B
URI /something
Example : Sumo Logic HTTP Collector
Sumo Logic 建议的配置是使用 iso8601
格式时间戳的 json_lines
格式记录。PrivateKey
指定用于配置的 HTTP 收集器。
[OUTPUT]
Name http
Match *
Host collectors.au.sumologic.com
Port 443
URI /receiver/v1/http/[PrivateKey]
Format json_lines
Json_date_key timestamp
Json_date_format iso8601
Sumo Logic 查询 CPU 输入插件的示例(需要 iso8601
日期格式的 json_lines
格式记录)如下:
_sourcecategory="my_fluent_bit"
| json "cpu_p" as cpu
| timeslice 1m
| max(cpu) as cpu group by _timeslice
Last updated
Was this helpful?