Назад | Перейти на главную страницу

Не удается найти файлы журнала докеров для Filebeat

Я пытаюсь объединить журналы из моего кластера Kubernetes на сервер Elasticsearch.
Для этого я развернул Filebeat в кластере, но думаю, что у него нет возможности работать, поскольку в /var/lib/docker/containers каталоги, логов нет.

Я могу просматривать журналы контейнеров через kubectl logs, но не знаю, как заставить Filebeat добраться до него.
Вот фрагмент docker inspect вывод команды:

    "LogPath": "",
    "Name": "/k8s_POD_checkit-incubator-6bd48754c5-s64bk_checkit-incubator_2cb40353-c7b4-11e8-9574-005056b1f077_1",
    "RestartCount": 0,
    "Driver": "devicemapper",
    "MountLabel": "",
    "ProcessLabel": "",
    "AppArmorProfile": "",
    "ExecIDs": null,
    "HostConfig": {
        "Binds": null,
        "ContainerIDFile": "",
        "LogConfig": {
            "Type": "journald",
            "Config": {}
        },
        "NetworkMode": "none",
        "PortBindings": {},
        "RestartPolicy": {
            "Name": "",
            "MaximumRetryCount": 0
        },

Есть какие-нибудь подсказки, как я могу определить действительную конфигурацию для Filebeat?

Ваша конфигурация отправляет журналы в journald, поэтому journalctl - ваш инструмент.

Расскажите, какой у вас дистрибутив Kubernetes, kubespray, gke или что-то еще.

Во-вторых, вы можете проверить другие каталоги узлов, например /var/log/containers/ для контейнерных журналов.

В-третьих, попробуйте развернуть filebeat с помощью helm или любым другим способом, рекомендованным вашим дистрибутивом k8s.