Как отключить логи из k8s_cluster при ведении журнала Stackdriver? - PullRequest
0 голосов
/ 03 июля 2019

У нас есть проект Google Coud Platform, в котором мы используем кластер для развертывания наших приложений. В этом месяце мы отметили, что в нашем биллинге Stackdriver Logging слишком сильно выросли, поэтому мы начали создавать исключения.

Мы исключили журналыиз resource.type="container" без проблем, , но мы не можем сделать это из фильтра resource.type="k8s_cluster"

, чтобы создать желаемое исключение:

resource.type="k8s_cluster"
protoPayload.serviceName="k8s.io"
protoPayload.resourceName="app.k8s.io/v1beta1/namespaces/default/applications/prometheus-1"

Любопытно, что Stackdriver Monitoring не обнаруживает никаких данных (0B поглощено) оттуда, ни из нашего gcp-проекта (https://console.cloud.google.com/logs/usage?project=xxxx), если мы не фильтруем его с помощью журналовпросмотрщик, тогда мы можем видеть журналы.

Графана может обнаруживать данные с помощью источника данных Stackdriver, вы можете увидеть его здесь

1 Ответ

2 голосов
/ 03 июля 2019

Фильтр для resource.type="k8s_cluster" содержит журналы аудита для Системные события , которые всегда включены, следовательно, они не будут исключены из ведения журнала Stackdriver в отличие от resource.type="container", который имеет только ведение контейнера и stderr.

Кроме того, вы можете определить, какие журналы принадлежат потоку журналов аудита, добавив условие '@type' в ваш фильтр Stackdriver:

resource.type="k8s_cluster"
protoPayload.serviceName="k8s.io"
protoPayload.resourceName="app.k8s.io/v1beta1/namespaces/default/applications/prometheus-1"
protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"

Наконец, Grafana может отображать эти журналына основе метрик, поскольку они экспортируются в него через источник данных, а не в Stackdriver.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...