У меня есть кластер кубернетов с несколькими микросервисами. Микросервисы регистрируют / экспортируют журналы в формате JSON. Итак, мой стек ELK регистрирует сообщения и визуализирует их в кибане (я использую версию 7.3), и я изо всех сил пытаюсь выполнить дальнейшую десериализацию файла сообщений, поступающих из моих микросервисов, чтобы я мог видеть отдельные поля, извлеченные в поле «сообщение». Например, JSON имеет поля «app» и «logger» - они должны выглядеть так же, как в настоящее время отображаются поля kubernetes. Я настроил filebeat следующим образом, но я не вижу дальнейшей де-сериализации поданного сообщения. Не могли бы вы мне помочь? пожалуйста, обратитесь к моей конфигурации файлового ритма.
=======================
kind: ConfigMap
metadata:
name: filebeat-config
labels:
app: filebeat
data:
filebeat.yml: |-
# Enable filebeat config reloading
filebeat.config:
modules:
enabled: true
#path: ${path.config}/modules.d/*.yml
reload.enabled: true
reload.period: 10s
# Available log levels are: error, warning, info, debug
logging.level: warning
# To enable hints based autodiscover, remove `filebeat.inputs` configuration and uncomment this:
filebeat.autodiscover:
providers:
- type: kubernetes
node: ${NODE_NAME}
hints.enabled: true
json.message_key: message
hints.default_config:
type: container
paths:
- /var/log/containers/*${data.kubernetes.container.id}.log
templates:
config:
json.keys_under_root: true
json.add_error_key: false
processors:
- drop_event:
when:
or:
- equals:
kubernetes.namespace: "monitoring"
- contains:
message: "NETWORK"
- contains:
message: "INFO"
- add_cloud_metadata:
- add_kubernetes_metadata:
- add_host_metadata: