Splunk 指标输出数据格式
使用 splunkmetric 输出数据格式(序列化器)以 Splunk 指标索引可以使用的格式输出 Telegraf 指标。
输出数据格式可以使用 file 输出写入文件,或者使用标准的 Telegraf HTTP 输出将指标发送到 HEC。
如果您使用 HTTP 输出,此序列化器知道如何批量处理指标,以免每个指标都进行一次 HTTP POST。
数据以符合指定的 Splunk HEC JSON 格式的格式输出,如下所示:以 JSON 格式发送指标。
一个示例事件看起来像
{
"time": 1529708430,
"event": "metric",
"host": "patas-mbp",
"fields": {
"_value": 0.6,
"cpu": "cpu0",
"dc": "mobile",
"metric_name": "cpu.usage_user",
"user": "ronnocol"
}
}在上方的代码片段中,以下键是维度
- cpu
- dc
- user
与 HTTP 输出一起使用
要将此数据发送到 Splunk HEC,您可以使用 HTTP 输出,有一些自定义标头需要添加以管理 HEC 授权,这是 HTTP 输出的示例配置
[[outputs.http]]
## URL is the address to send metrics to
url = "https://:8088/services/collector"
## Timeout for HTTP message
# timeout = "5s"
## HTTP method, one of: "POST" or "PUT"
# method = "POST"
## HTTP Basic Auth credentials
# username = "username"
# password = "pa$$word"
## Optional TLS Config
# tls_ca = "/etc/telegraf/ca.pem"
# tls_cert = "/etc/telegraf/cert.pem"
# tls_key = "/etc/telegraf/key.pem"
## Use TLS but skip chain & host verification
# insecure_skip_verify = false
## Data format to output.
## Each data format has it's own unique set of configuration options, read
## more about them here:
## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
data_format = "splunkmetric"
## Provides time, index, source overrides for the HEC
splunkmetric_hec_routing = true
## Additional HTTP headers
[outputs.http.headers]
# Should be set manually to "application/json" for json data_format
Content-Type = "application/json"
Authorization = "Splunk xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
X-Splunk-Request-Channel = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"覆盖
您可以通过在配置文件中添加其他标签来覆盖您正在使用的 HEC 令牌的默认值。
令牌的以下方面可以用标签覆盖
- index
- source
您可以使用 [global_tags] 或使用更高级的配置,如此处记录的。
例如,此示例仅覆盖 cpu 指标的索引
[[inputs.cpu]]
percpu = false
totalcpu = true
[inputs.cpu.tags]
index = "cpu_metrics"与 File 输出一起使用
当在带有 Splunk 转发器的机器上运行 telegraf 时,您可以使用 file 输出。
当 hec_routing 为 false(或未设置)时的示例事件看起来像
{
"_value": 0.6,
"cpu": "cpu0",
"dc": "mobile",
"metric_name": "cpu.usage_user",
"user": "ronnocol",
"time": 1529708430
}以这种方式格式化数据可以使用一个简单的 props.conf 文件进行摄取,该文件看起来像这样
[telegraf]
category = Metrics
description = Telegraf Metrics
pulldown_type = 1
DATETIME_CONFIG =
NO_BINARY_CHECK = true
SHOULD_LINEMERGE = true
disabled = false
INDEXED_EXTRACTIONS = json
KV_MODE = none
TIMESTAMP_FIELDS = time
TIME_FORMAT = %s.%3N基于文件的输出的示例配置是
# Send telegraf metrics to file(s)
[[outputs.file]]
## Files to write to, "stdout" is a specially handled file.
files = ["/tmp/metrics.out"]
## Data format to output.
## Each data format has its own unique set of configuration options, read
## more about them here:
## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
data_format = "splunkmetric"
hec_routing = false此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 Telegraf 和本文档提出反馈和 bug 报告。要获取支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。