Отключить fluentd в ОС, оптимизированной для контейнеров (GCE)

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

Причина в том, что он потребляет много оперативной памяти для своих функций Я не требую.

$ ps aux --sort -rss
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root        1040  0.7 49.1 5149544 294484 ?      Sl   15:07   0:03 /opt/google-fluentd/embedded/bin/ruby -Eascii-8bit:ascii-8bit /usr/sbin/google-fluentd --under-supervisor
root         286  0.2 12.3 780428 73844 ?        Ssl  15:07   0:00 /usr/bin/dockerd --registry-mirror=https://mirror.gcr.io --host=fd:// --containerd=/var/run/containerd/containerd.sock
root         791  0.4  9.0 304208 54068 ?        Ssl  15:07   0:01 /opt/google-fluentd/embedded/bin/ruby /usr/sbin/google-fluentd
root         334  0.0  7.3 609056 44100 ?        Ssl  15:07   0:00 /usr/bin/docker run --rm --name=stackdriver-logging-agent -v /etc/stackdriver/logging.config.d/:/etc/google-fluentd/config.d/ -v /var/log:/var/log 
root         333  0.0  7.3 535324 43820 ?        Ssl  15:07   0:00 /usr/bin/docker events

Процесс связан с этой службой systemd .

$ systemctl status stackdriver-logging.service
● stackdriver-logging.service - Fluentd container for Stackdriver Logging
   Loaded: loaded (/usr/lib/systemd/system/stackdriver-logging.service; static; vendor preset: disabled)
   Active: active (running) since Mon 2019-08-26 12:27:03 UTC; 1min 6s ago
  Process: 335 ExecStartPre=/bin/mkdir -p /var/log/google-fluentd/ (code=exited, status=0/SUCCESS)
 Main PID: 337 (docker)
    Tasks: 7 (limit: 664)
   Memory: 35.6M
      CPU: 81ms
   CGroup: /system.slice/stackdriver-logging.service
           └─337 /usr/bin/docker run --rm --name=stackdriver-logging-agent -v /etc/stackdriver/logging.config.d/:/etc/google-fluentd/config.d/ -v /var/log:/var/log -v /var/lib/docker/containers/:/var/lib/docker/containers/ gcr.io/stackdriver-agents/stackdriver-logging-agent:0.2-1.5.33-1-1

Однако, если я попытаюсь отключить ее с помощью:

$ sudo systemctl disable --now stackdriver-logging.service

Отключение не выдержит перезапуска виртуальной машины.

0
задан 26 August 2019 в 15:40
3 ответа

Попробуйте отредактировать значения пользовательских метаданных. У вас должны быть установлены два из них как истинные (с включенным ведением журнала и включенным мониторингом Google). Установите для них значение false и посмотрите в экземпляр, чтобы проверить, не работают ли другие контейнеры (связанные с Stackdriver).

0
ответ дан 5 December 2019 в 01:13

У меня работал интерфейс командной строки Google Cloud (Google Cloud SDK 283.0.0):

вычислительные экземпляры gcloud add-metadata --metadata="google-logging-enabled=false"

0
ответ дан 8 March 2020 в 21:45

Просто удалите метаданные, отвечающие за запуск службы ведения журналов, из экземпляра с помощью консольного интерфейса

enter image description here

или удалите их с помощью экземпляров вычислений gcloud remove-metadata cont3 --zone=europe-west3-c --keys=google-logging-enabled

Я тестировал это на новой виртуальной машине с ContainterOS 77 и не выбирал "логирование" при ее создании. Когда я проверил статус службы с помощью systemctl status stackdriver-logging.service, он не работал.

Затем я создал еще один с включенным ведением журнала и проверкой статуса службы — он работал, как и ожидалось. Затем я остановил экземпляр, удалил ключ, запустил экземпляр и проверил статус службы. Он не работал (как и ожидалось).

Если по какой-то причине вы не можете удалить ключ из метаданных, вы всегда можете попробовать добавить скрипт запуска sudo systemctl disable --now stackdriver-logging.service.

0
ответ дан 21 August 2020 в 09:00

Теги

Похожие вопросы