feat: add kubernetes discovering to filebeat.yml
This commit is contained in:
parent
238d1dedea
commit
f1f597f0df
@ -13,10 +13,13 @@ RUN cd beats/filebeat/ && \
|
|||||||
|
|
||||||
FROM debian:bullseye-slim
|
FROM debian:bullseye-slim
|
||||||
|
|
||||||
COPY --chown=root:filebeat filebeat.yml /usr/share/filebeat/filebeat.yml
|
|
||||||
COPY --chmod=750 --from=builder /build/beats/filebeat/filebeat /usr/local/bin/filebeat
|
COPY --chmod=750 --from=builder /build/beats/filebeat/filebeat /usr/local/bin/filebeat
|
||||||
|
COPY --chown=root:filebeat filebeat-docker.yml /usr/share/filebeat/filebeat-docker.yml
|
||||||
|
COPY --chown=root:filebeat filebeat-kubernetes.yml /usr/share/filebeat/filebeat-kubernetes.yml
|
||||||
COPY --chmod=750 entrypoint.sh /entrypoint.sh
|
COPY --chmod=750 entrypoint.sh /entrypoint.sh
|
||||||
|
|
||||||
|
# discovery mode could be docker or kubernetes
|
||||||
|
ENV DISCOVERY_MODE="docker"
|
||||||
ENV ELASTICSEARCH_HOSTS=""
|
ENV ELASTICSEARCH_HOSTS=""
|
||||||
ENV ELASTICSEARCH_USERNAME=""
|
ENV ELASTICSEARCH_USERNAME=""
|
||||||
ENV ELASTICSEARCH_PASSWORD_FILE=""
|
ENV ELASTICSEARCH_PASSWORD_FILE=""
|
||||||
@ -24,4 +27,4 @@ ENV KIBANA_HOSTS=""
|
|||||||
|
|
||||||
ENTRYPOINT ["/entrypoint.sh"]
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
|
||||||
CMD ["filebeat", "-e", "--strict.perms=false", "-c", "/usr/share/filebeat/filebeat.yml"]
|
CMD filebeat -e --strict.perms=false -c /usr/share/filebeat/filebeat-$DISCOVERY_MODE.yml
|
2
Makefile
2
Makefile
@ -5,7 +5,7 @@ REGISTRY_IP=docker.registry
|
|||||||
# linux/arm/v6
|
# linux/arm/v6
|
||||||
# linux/arm64
|
# linux/arm64
|
||||||
# linux/amd64
|
# linux/amd64
|
||||||
PLATFORM=linux/arm/v7,linux/arm/v6
|
PLATFORM=linux/arm/v7,linux/arm/v6,linux/amd64
|
||||||
#VERBOSITY=info
|
#VERBOSITY=info
|
||||||
VERBOSITY=debug
|
VERBOSITY=debug
|
||||||
|
|
||||||
|
@ -13,6 +13,9 @@ filebeat setup --dashboards --index-management -e \
|
|||||||
-E output.elasticsearch.ssl.verification_mode=none \
|
-E output.elasticsearch.ssl.verification_mode=none \
|
||||||
-E setup.kibana.host="$KIBANA_HOSTS" \
|
-E setup.kibana.host="$KIBANA_HOSTS" \
|
||||||
-E setup.kibana.ssl.verification_mode=none \
|
-E setup.kibana.ssl.verification_mode=none \
|
||||||
-c /usr/share/filebeat/filebeat.yml
|
-c /usr/share/filebeat/filebeat-"$DISCOVERY_MODE".yml
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
exec "$@"
|
exec "$@"
|
58
filebeat-kubernetes.yml
Normal file
58
filebeat-kubernetes.yml
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
filebeat.config:
|
||||||
|
modules:
|
||||||
|
path: ${path.config}/modules.d/*.yml
|
||||||
|
reload.enabled: false
|
||||||
|
|
||||||
|
filebeat.autodiscover:
|
||||||
|
providers:
|
||||||
|
- type: kubernetes
|
||||||
|
node: '${NODE_NAME}'
|
||||||
|
hints.enabled: true
|
||||||
|
# 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
|
||||||
|
|
||||||
|
processors:
|
||||||
|
- add_cloud_metadata: ~
|
||||||
|
- add_locale:
|
||||||
|
format: offset
|
||||||
|
- add_docker_metadata:
|
||||||
|
host: "unix:///var/run/docker.sock"
|
||||||
|
- add_host_metadata: ~
|
||||||
|
- decode_json_fields:
|
||||||
|
fields: ["message"]
|
||||||
|
target: "json"
|
||||||
|
overwrite_keys: true
|
||||||
|
|
||||||
|
setup:
|
||||||
|
kibana:
|
||||||
|
host: '${KIBANA_HOSTS:kibana:5601}'
|
||||||
|
ssl:
|
||||||
|
verification_mode: none
|
||||||
|
template:
|
||||||
|
enabled: true
|
||||||
|
name: "filebeat-%{[agent.version]}"
|
||||||
|
pattern: "index-%{[beat.version]}-*"
|
||||||
|
dashboards:
|
||||||
|
enabled: false
|
||||||
|
#index: "filebeat-%{[agent.version]}-*"
|
||||||
|
|
||||||
|
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}"
|
||||||
|
|
||||||
|
|
||||||
|
#logging.json: true
|
||||||
|
#logging.metrics.enabled: false
|
Loading…
Reference in New Issue
Block a user