Формат журналов регистрации стекового драйвера GCP в корзине изменен с папки на контейнер на stdout \ stderr - PullRequest
1 голос
/ 11 февраля 2020

У меня есть вопрос, похожий на описанный здесь: Изменен формат журналов стандартного вывода контейнера GKE kubernetes

в старой версии stackdriver у меня был 1 приемник с таким фильтром:

resource.type=container,
resource.namespace_id=[NAMESPACE_NAME] 
resource.pod_id=[POD_NAME]

и журналы довольно хорошо хранились в корзине, например:

logName=projects/[PROJECT-NAME]/logs/[CONTAINER-NAME]

... поэтому у меня были папки с журналами для каждого контейнера.

Но теперь я обновил свой ведение стека-драйверов + мониторинг до последней версии, и теперь у меня есть 2 папки stdout \ stderr, которые содержат все журналы для всех контейнеров!

logName=projects/[PROJECT-NAME]/logs/stdout
logName=projects/[PROJECT-NAME]/logs/stderr

Все журналы из многих контейнеров, хранящихся в этих отдельных папках! Это довольно неудобно = (

Я читал об этом в документации: https://cloud.google.com/monitoring/kubernetes-engine/migration#changes_in_log_entry_contents

Поле logName может измениться. Журнал мониторинга Stackdriver Kubernetes Engine записи используют stdout или stderr в своих именах журналов, тогда как Legacy Stackdriver использовал более широкий спектр имен, включая имя контейнера. Имя контейнера все еще доступно в качестве метки ресурса.

... но я могу не можете найти решение! Пожалуйста, помогите мне, как сделать так, чтобы журнал для каждой папки, как это было в старой версии stackdriver?

1 Ответ

1 голос
/ 18 февраля 2020

Вот предложенный обходной путь:

  1. Создайте разные приемники для каждого из ваших контейнеров, отфильтрованные с помощью resource.labels.container_name
  2. Экспортируйте каждый приемник в разные корзины

Примечание : если вы сконфигурируете каждый отдельный приемник для одного и того же сегмента, журналы будут объединены.

Подробнее на Google Issue Tracker

...