Skip to content

Instantly share code, notes, and snippets.

@olivierboudet
Created January 9, 2019 09:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save olivierboudet/b0bffbdd9148709934dfb51f13b777c6 to your computer and use it in GitHub Desktop.
Save olivierboudet/b0bffbdd9148709934dfb51f13b777c6 to your computer and use it in GitHub Desktop.
Filebeat configuration
apiVersion: v1
kind: ConfigMap
metadata:
name: filebeat-config
labels:
app: filebeat
data:
filebeat.yml: |-
filebeat:
config:
prospectors:
path: ${path.config}/prospectors.d/*.yml
reload.enabled: false
modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
autodiscover:
providers:
- type: kubernetes
templates:
- condition:
equals:
kubernetes.labels.type: "java"
config:
- type: docker
containers.ids:
- "${data.kubernetes.container.id}"
multiline.pattern: '^\d{4}-\d{2}-\d{2} '
multiline.negate: true
multiline.match: after
- condition:
equals:
kubernetes.container.name: "nginx-ingress-controller"
config:
- module: nginx
access:
prospector:
type: docker
containers.stream: stdout
containers.ids:
- "${data.kubernetes.container.id}"
processors:
- add_kubernetes_metadata:
in_cluster: true
error:
prospector:
type: docker
containers.stream: stderr
containers.ids:
- "${data.kubernetes.container.id}"
processors:
- add_kubernetes_metadata:
in_cluster: true
- condition.and:
- not.equals:
kubernetes.labels.type: "java"
- not.equals:
kubernetes.labels.io.kubernetes.container.name: "nginx-ingress-controller"
config:
- type: docker
containers.ids:
- "${data.kubernetes.container.id}"
processors:
- add_kubernetes_metadata:
in_cluster: true
setup:
template:
name: "filebeat"
pattern: "filebeat-*"
output.elasticsearch:
hosts: ['${ELASTICSEARCH_HOST:elasticsearch}:${ELASTICSEARCH_PORT:9200}']
index: "%{[kubernetes.namespace]:nonamespace}-filebeat-%{[beat.version]}-%{+yyyy.MM.dd}"
pipelines:
- pipeline: java-logs-pipeline
when.equals:
kubernetes.labels.type: java
- pipeline: mongodb-logs-pipeline
when.equals:
kubernetes.labels.app: mongo-pod
---
apiVersion: v1
kind: ConfigMap
metadata:
name: filebeat-prospectors
labels:
app: filebeat
data:
kubernetes.yml: |-
---
apiVersion: v1
kind: ConfigMap
metadata:
name: filebeat-modules
labels:
app: filebeat
data:
nginx.yml: |-
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment