diff --git a/service/files/telegraf.conf.j2 b/service/files/telegraf.conf.j2 new file mode 100644 index 0000000..462d580 --- /dev/null +++ b/service/files/telegraf.conf.j2 @@ -0,0 +1,14 @@ +[agent] + interval = "15s" + round_interval = false + metric_batch_size = 1000 + metric_buffer_limit = 10000 + collection_jitter = "2s" + hostname = "" + omit_hostname = false + +[[outputs.prometheus_client]] + listen = ":{{ telegraf.prometheus_output_port.cont }}" + +[[inputs.memcached]] + servers = ["{{ network_topology["private"]["address"] }}:{{ memcached.port.cont }}"] diff --git a/service/memcached.yaml b/service/memcached.yaml index 00597c3..0d0b7e6 100644 --- a/service/memcached.yaml +++ b/service/memcached.yaml @@ -1,11 +1,33 @@ -dsl_version: 0.1.0 +dsl_version: 0.4.0 service: name: memcached ports: - {{ memcached.port }} + # {% if telegraf is defined %} + annotations: + service: + prometheus.io/scrape: "true" + prometheus.io/port: "{{ telegraf.prometheus_output_port.cont }}" + # {% endif %} containers: - name: memcached image: memcached daemon: command: memcached -v -u memcached -l {{ memcached.address }} -m {{ memcached.ram }} -c {{ memcached.max_connections }} user: memcached + # {% if telegraf is defined %} + - name: memcached-telegraf + image: telegraf + daemon: + dependencies: + - etcd + - memcached + command: telegraf --config /etc/telegraf/telegraf.conf --input-filter memcached + files: + - telegraf-conf + # {% endif %} + +files: + telegraf-conf: + path: /etc/telegraf/telegraf.conf + content: telegraf.conf.j2