Загрузите или создайте резервную копию сгенерированного файла из PCF автоматически - PullRequest
0 голосов
/ 24 апреля 2020

У нас есть приложение для микросервисов, которое работает на PCF. Некоторые из микросервисов могут генерировать файлы журналов в своей папке журналов. Есть ли способ автоматизировать загрузку этих файлов журнала и сохранить их в общей папке или в удаленном контейнере (например, на диске Google и т. П.)?

Мы высоко ценим ваши советы и рекомендации.

Спасибо.

1 Ответ

0 голосов
/ 24 апреля 2020

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

https://docs.cloudfoundry.org/devguide/deploy-apps/prepare-to-deploy.html#filesystem

Локальная файловая система, подверженная воздействию Ваше приложение эфемерно, и небезопасно хранить там важные вещи даже в течение короткого периода времени. Конечно, вы можете попытаться настроить процесс, который периодически запускается и отправляет файлы журнала из вашего контейнера в другое место. Однако, когда ваше приложение падает, вы потеряете сообщения журнала, вероятно, важные, которые говорят, почему ваше приложение потерпело крах, потому что у вашего процесса syn c не будет времени для запуска до очистки контейнера.

Вместо этого вы хотите настроить свои приложения на запись их журналов в STDOUT или STDERR.

https://docs.cloudfoundry.org/devguide/deploy-apps/streaming-logs.html#writing

Все, что записано в STDOUT / STDERR, автоматически захватывается платформой и отправляет поток журнала для вашего приложения. Затем вы можете отправить свой поток журналов в различные надежные места.

https://docs.cloudfoundry.org/devguide/services/log-management.html

Большинство приложений можно легко настроить для записи в STDOUT / STDERR. Вы отметили Spring-Boot на этом посте, поэтому я предполагаю, что ваши приложения работают с Spring Boot. По умолчанию Spring Boot должен регистрироваться в STDOUT / STDERR, поэтому вам ничего не нужно делать.

Что может произойти, хотя разработчики вашего приложения специально настроили приложение для отправки журналов в файл , Найдите в файле приложения src/main/resources/application.properties или application.yml свойства logging.file.path или logging.file.name. Если есть, закомментируйте или удалите их. Это должно сделать ваши журналы в STDOUT / STDERR.

https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot -features-logging-file-output

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