Add collectd support to telegraf container

Telegraf can collect sample from collectd via UDP.
Configure collectd to exposed samples and telegraf to collect them.

Change-Id: Ie868a4c23cb793e6054e14ee1209a56256c130ac
Depends-On: I33b1a3fe606bf5bd4a08901c7bf274aed5303055
This commit is contained in:
guochao 2017-07-21 11:09:16 +08:00 committed by jimmygc
parent 0cd868243f
commit d787b2bb21
3 changed files with 14 additions and 0 deletions

View File

@ -137,6 +137,8 @@ congress_api_port: "1789"
cloudkitty_api_port: "8889" cloudkitty_api_port: "8889"
collectd_udp_port: "25826"
designate_api_port: "9001" designate_api_port: "9001"
designate_bind_port: "53" designate_bind_port: "53"
designate_mdns_port: "5354" designate_mdns_port: "5354"

View File

@ -4,3 +4,8 @@ LoadPlugin cpu
LoadPlugin interface LoadPlugin interface
LoadPlugin load LoadPlugin load
LoadPlugin memory LoadPlugin memory
LoadPlugin network
<Plugin "network">
Server "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}" "{{ collectd_udp_port }}"
</Plugin>

View File

@ -21,6 +21,13 @@
percpu = true percpu = true
totalcpu = true totalcpu = true
fielddrop = ["time_*"] fielddrop = ["time_*"]
{% if enable_collectd | bool and inventory_hostname in groups['collectd'] %}
[[inputs.socket_listener]]
service_address = "udp://{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ collectd_udp_port }}"
name_prefix = "collectd_"
data_format = "collectd"
collectd_typesdb = ["/usr/share/collectd/types.db"]
{% endif %}
[[inputs.disk]] [[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs"] ignore_fs = ["tmpfs", "devtmpfs"]
[[inputs.diskio]] [[inputs.diskio]]