Telegraf
Telegraf is a plugin-driven server agent written by the folks over at InfluxData for collecting & reporting metrics.
TL;DR
$ helm install stable/telegraf
Introduction
This chart bootstraps a telegraf deployment on a Kubernetes cluster using the Helm package manager.
Prerequisites
- Kubernetes 1.4+ with Beta APIs enabled
Installing the Chart
To install the chart with the release name my-release:
$ helm install --name my-release stable/telegraf
The command deploys Telegraf on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.
Tip
: List all releases using
helm list
Uninstalling the Chart
To uninstall/delete the my-release deployment:
$ helm delete my-release
The command removes all the Kubernetes components associated with the chart and deletes the release.
Configuration
The default configuration parameters are listed in values.yaml. To change the defaults, specify each parameter using the --set key=value[,key=value] argument to helm install. For example,
$ helm install --name my-release \
--set single.enabled=false \
stable/telegraf
The above command prevents the single telegraf instance from deploying.
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
$ helm install --name my-release -f values.yaml stable/telegraf
Tip
: You can use the default values.yaml
Telegraf Configuration
This chart deploys the following by default:
-
telegraf(telegraf-ds) running in a daemonset with the following plugins enabled -
A single
telegrafdeployment (telegraf-s) with an associated service running the following plugins:
Supported Outputs
The following telegraf output plugins are supported for both the daemonset and the single instance. To enable them uncomment them in .Values.{{ "daemonset" | "single" }}.outputs:
Service Plugins - Single Instance
The single telegraf also supports all service plugins. To enable them uncomment the named plugin in .Values.single.inputs section. The associated service exposes the ports if it is enabled:
Supported Inputs - Single Instance
To enable additional input plugins uncomment them in the .Values.single.inputs section. The input plugins supported by the single telegraf instance are as follows:
aerospikeapachecassandracloudwatchconsulcouchbasecouchdbdisquedns_querydovecotelasticsearchgrayloghaproxyinfluxdblustre2mailchimpmemcachedmesosmongodbmysqlnet_responsenginxnsqphpfpmpingpostgresqlprometheusrabbitmqraindropsredisrethinkdbriaksqlservertwemproxyzookeeperhttp_listenerstatsdtcp_listenerudp_listenerwebhooks
Future work:
There are a couple of additional plugins that could/should possibly be supported but are not yet: