使用场景:
作为数据中转层,简单处理数据。支持多种方式输入数据,同时支持多种方式输出数据,具体可参考https://github.com/influxdata/telegraf
输入数据组件:
使用statsd,使用场景为收集监控数据,为了保证不影响业务性能,固采用不需要建立连接的UDP协议收集数据。
# Statsd UDP/TCP Server
[[inputs.statsd]]
## Protocol, must be "tcp", "udp", "udp4" or "udp6" (default=udp)
protocol = "udp"
## Address and port to host UDP listener on
service_address = ":8125"
## The following configuration options control when telegraf clears it's cache
## of previous values. If set to false, then telegraf will only clear it's
## cache when the daemon is restarted.
## Reset gauges every interval (default=true)
delete_gauges = true
## Reset counters every interval (default=true)
delete_counters = false
## Reset sets every interval (default=true)
delete_sets = false
## Reset timings & histograms every interval (default=true)
delete_timings = false
## Percentiles to calculate for timing & histogram stats
percentiles = [50,75,95,99]
## separator to use between elements of a statsd metric
metric_separator = "_"
配置项介绍:
protocol="udp" 表示接收数据使用协议类型,支持tcp/udp
service_address=":8125" 表示statsd服务启动的监听端口
delete_gauges=true 表示每周期从statsd查询完数据,是否清空gauge类型数据,true表示删除,false表示不删除,其他delete字段同理,由于其他字段都是累计值,输出数据组件prometheus client不支持计算数据,所以不可删除。
percentiles = [50,75,95,99] 表示timings数据类型,50% 75% 95% 99%的时间都大于某个时间值。
metric_seqarator="_",表示对于metrics名里面的特殊字符,默认转换为"_"。
输出数据组件:
使用prometheus,简单配置如下:
[[outputs.prometheus_client]]
## Address to listen on.
listen = ":9273"
## Expiration interval for each metric. 0 == no expiration
expiration_interval = "65s"
配置项介绍:
listen = ":9273" 表示启动的client监听的端口为9273,
expiration_interval = "65s" 表示所有metrics项的过期时间都为65s,过期自动删除。