Я новичок в Graylog и пытаюсь использовать Graylog в контейнере Docker, но журналы из других контейнеров не поступают в Graylog, и в веб-интерфейсе Graylog ничего не отображается.
Что делать, чтобы логи контейнеров поступали на Graylog?
Ниже я описываю свою попытку:
На одном хосте работает docker swarm только с одним узлом (собственным).
Локальный IP-адрес этого хоста: 10.0.0.5.
Внутри папки у меня есть несколько файлов:
- докер-compose.yml
- greylog.js
Содержание моего докер-compose.yml
является:
версия: "3.3"
сети:
окружающий:
внешний: правда
Сервисы:
# МОНГО
монго:
изображение: монго: 4.2
сети:
- эмбиент
среда:
- MONGO_INITDB_ROOT_USERNAME=корень
- MONGO_INITDB_ROOT_PASSWORD=drUqGGCMh
тома:
- ./graylog.js:/docker-entrypoint-initdb.d/graylog.js:ro
# ЭЛАСТИЧНЫЙ ПОИСК
эластичный поиск:
изображение: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
среда:
- "http.хост=0.0.0.0"
- "discovery.type=одноузел"
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
сети:
- эмбиент
# СЕРЫЙ ЛОГ
серый журнал:
изображение: серый журнал / серый журнал: 4.1.0
среда:
- GRAYLOG_HTTP_EXTERNAL_URI=http://10.0.0.5:9000/
# Пароль "admin"
- GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
- GRAYLOG_ELASTICSEARCH_DISCOVERY_ENABLED=истина
- GRAYLOG_MONGODB_URI=mongodb://graylog:vWGzncmBe9@mongo:27017/graylog
- GRAYLOG_MESSAGE_JOURNAL_ENABLED=ложь
зависит от:
- монго
- эластичный поиск
порты:
- "9000:9000"
- "12201:12201"
- "1514:1514"
сети:
- эмбиент
greylog.js
содержание:
Graylog = db.getSiblingDB («серый журнал»);
Graylog.createUser(
{
пользователь: "graylog",
пароль: "vWGzncmBe9",
роли: [
{ роль: "dbOwner", БД: "серый журнал"}
]
}
);
На HOST я создал файл /etc/докер/daemon.json
с содержанием:
{
"метрический адрес": "10.0.0.5:9323",
«экспериментальный»: правда,
"драйвер журнала": "gelf",
"журнал-опций": {
"gelf-адрес": "udp://10.0.0.5:12201"
}
}
После создания файла я перезапустил службу докеров и проверил этот статус:
перезапуск сервисного докера
статус сервисного докера
Статус службы докеров АКТИВЕН:
Активно: активно (работает) с сб 2021-06-26 16:58:31 -03; 1 мин 2 с назад
Затем я создал сеть Docker:
сеть docker создать -d оверлей окружающий
И затем я деполировал стек:
стек докеров развернуть Graylog -c docker-compose.yml
При запущенном Graylog из веб-интерфейса System/Input я создал глобальный ввод, например:
адрес_привязки: 0.0.0.0
decompress_size_limit: 8388608
число_воркер_потоков: 12
override_source: порт: 12201
recv_buffer_size: 262144
Спасибо за любую помощь!