Ограничить ведение журнала Log Analytics для каждого развертывания или контейнера - PullRequest
0 голосов
/ 05 апреля 2019

Мы наблюдали скачок расходов на Log Analytics и обнаружили, что таблица ContainerLog значительно выросла. Похоже, это все журналы stdout / stderr из контейнеров.

Можно ли ограничить ведение журнала этой таблицей, по крайней мере, для некоторых развертываний или контейнеров, не отключая Log Analytics в кластере? Мы по-прежнему хотим регистрировать производительность и получать информацию.

1 Ответ

1 голос
/ 09 апреля 2019

AFAIK журналы stdout и stderr в таблице ContainerLog - это, по сути, журналы, которые мы видим, когда мы вручную запускаем команду «kubectl logs», поэтому можно было бы ограничить ведение журнала в таблице ContainerLog, не отключая Log Analytics в кластере, имеяФайл развертывания, подобный показанному ниже, который будет записывать журналы в файл журнала в контейнере.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: xxxxxxx
spec:
  selector:
    matchLabels:
      app: xxxxxxx
  template:
    metadata:
      labels:
        app: xxxxxxx
    spec:
      containers:
      - name: xxxxxxx
        image: xxxxxxx/xxxxxxx:latest
        command: ["sh", "-c",  "./xxxxxxx.sh &> /logfile"]

Однако рекомендуется отправлять сообщения журнала на стандартный вывод для приложений, работающих в контейнере, поэтому вышеописанный процесс не выполняется.предпочтительный способ.

Таким образом, вы можете создать предупреждение, когда сбор данных превышает ожидаемый, как описано в этой статье , и / или иногда удалять ненужные данные, как описано в этом * 1009.* статья с использованием purge REST API (но убедитесь, что вы удаляете только ненужные данные, поскольку удаления в Log Analytics необратимы!).

Надеюсь, это поможет !!

...