apiVersion: v1 kind: ConfigMap metadata: name: fluentd-metrics-conf labels: app: metrics-to-splunk data: fluent.conf: | log_level debug @type kubernetes_metrics tag kube.* insecure_ssl true node_name "#{ENV['MY_NODE_NAME']}" @type record_modifier metric_name ${tag} @type record_modifier source ${record['node']} @type record_modifier source ${record['node']}/${record['pod-name']} @type record_modifier source ${record['node']}/${record['pod-name']}/${record['name']} @type record_modifier source ${record['node']}/${record['pod-name']}/${record['container-name']} @type splunk_hec protocol https hec_host my.splunk.host hec_port 8088 hec_token my.hec.token data_type metric metric_name_key metric_name metric_value_key value host "#{ENV['MY_NODE_NAME']}" source_key source insecure_ssl true interval 15s @type memory total_limit_size 100m chunk_limit_size 10m flush_interval 15s flush_thread_count 1 overflow_action block retry_max_times 3 --- apiVersion: extensions/v1beta1 kind: DaemonSet metadata: name: metrics-to-splunk labels: app: metrics-to-splunk engine: fluentd spec: template: metadata: labels: app: metrics-to-splunk engine: fluentd annotations: spec: containers: - name: fluentd image: splunk/connect-for-kubernetes:v1.0.0-beta imagePullPolicy: Never env: - name: MY_NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName resources: requests: cpu: 200m memory: 200Mi volumeMounts: - name: conf-configmap mountPath: /fluentd/etc volumes: - name: conf-configmap configMap: name: fluentd-metrics-conf