Я пытаюсь отправить журналы Docker из Java-контейнеров в Graylog с сохранением:
- Многострочный формат
- Дополнительные теги
Мои текущие настройки следующие::
- Докер для aws 18.03.0-ce
- Graylog 2.4.6
- Filebeat 6.4.3
Прямо сейчас докерЖурналы отправляются в GrayLog с помощью ввода док-станции filbeat, но любая информация, кроме msg и идентификатора контейнера, теряется при передаче.Также, когда я пытаюсь переключиться с docker plugin на log с форматированием json, я получаю null в виде сообщения в graylog без ошибок в filebeat.
Моя конфигурация:
Контейнер filebeat:
filebeat:
image: docker.elastic.co/beats/filebeat:6.4.3
user: root
networks:
- tool-net
configs:
- source: filebeat_config
target: /usr/share/filebeat/filebeat.yml
mode: 0644
logging:
driver: json-file
options:
max-size: "10m"
max-file: 7
tag: "filebeat"
volumes:
- "filebeat-data:/usr/share/filebeat/data:rw"
- "/var/lib/docker/containers:/usr/share/dockerlogs/data:ro"
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
mode: global
placement:
constraints: [node.platform.os == linux]
resources:
limits:
memory: 1200M
cpus: '1.2'
reservations:
memory: 200M
filebeat.yml
filebeat.inputs:
- type: docker
combine_partial: true
containers:
path: '/usr/share/dockerlogs/data/'
ids:
- "*"
scan_frequency: 10s
tail_files: true
enabled: true
encoding: utf-8
multiline.pattern: '^----\s\['
multiline.negate: true
multiline.match: after
# json.keys_under_root: true
# json.add_error_key: true
# json.message_key: log
processors:
- add_cloud_metadata: ~
- add_docker_metadata: ~
output.logstash:
hosts: ["graylog_url:graylog_beats_port"]
Моя строка журнала:
{"log":"JAVA_OPTS: -XX:NativeMemoryTracking=summary -XX:+UnlockDiagnosticVMOptions -XX:+PrintNMTStatistics\n","stream":"stdout","attrs":{"tag":"SomeValueINeed"},"time":"2018-12-04T16:36:20.341352823Z"}
В Graylog прямо сейчас поле тега отсутствует, так как я хочу запустить несколько стеков стека докеров на одном рое. Мне нужны эти значения для фильтрации сообщений MSG в потоках Graylog (например, dev-branch-1, dev-branch-2 ...).И я понятия не имею, как это сделать.
Любая помощь будет очень признателен