docker-filebeat/filebeat-kubernetes.yml

88 lines
2.3 KiB
YAML

#filebeat.config:
# modules:
# path: ${path.config}/modules.d/*.yml
# reload.enabled: false
filebeat.autodiscover:
providers:
- type: kubernetes
node: '${NODE_NAME}'
hints.enabled: true
#templates:
# - config:
# - type: container
# paths:
# - /var/log/containers/*-${data.kubernetes.container.id}.log
# kubernetes pod annotation example
# annotations:
# co.elastic.logs.json-logging/json.keys_under_root: "true"
# co.elastic.logs.json-logging/json.add_error_key: "true"
# co.elastic.logs.json-logging/json.message_key: "message"
hints.default_config:
type: container
paths:
- /var/log/containers/*-${data.kubernetes.container.id}.log
ignore_older: 24h
processors:
- add_cloud_metadata: ~
- add_locale:
format: offset
- add_kubernetes_metadata:
- add_host_metadata: ~
- decode_json_fields:
fields: [ "message" ]
target: "message_json"
when:
or:
- equals:
kubernetes.container.name: etcd
- equals:
kubernetes.container.name: kilo
- equals:
kubernetes.container.name: cfssl-issuer
- rename:
fields:
- from: "kubernetes.container.name"
to: "container.name"
ignore_missing: true
fail_on_error: false
- drop_event:
when:
equals:
container.name: filebeat
setup:
kibana:
host: '${KIBANA_HOSTS:kibana:5601}'
ssl:
verification_mode: none
template:
enabled: true
name: "filebeat-%{[agent.version]}"
pattern: "filebeat-%{[beat.version]}-*"
settings:
index.number_of_shards: 1
index.number_of_replicas: 0
append_fields:
- name: container.name
type: keyword
- name: kubernetes.container.name
type: keyword
dashboards:
enabled: false
output.elasticsearch:
hosts: '[${ELASTICSEARCH_HOSTS:elasticsearch:9200}]'
username: '${ELASTICSEARCH_USERNAME:}'
password: '${ELASTICSEARCH_PASSWORD:}'
ssl:
verification_mode: none
indices:
#- index: "filebeat-%{[agent.version]}-%{[container.name]:common}-%{+yyyy.MM.dd}"
- index: "filebeat-%{[agent.version]}-%{[container.name]:common}"
#logging.json: true
#logging.metrics.enabled: false