Подтвердить что ты не робот

Google App Engine проверяет спам-приложение

Я развернул приложение nodejs, работающее в среде выполнения Google App Engine Flex, используя следующую конфигурацию app.yaml:

runtime: nodejs
env: flex
health_check:
  enable_health_check: True
  check_interval_sec: 20
  timeout_sec: 4
  unhealthy_threshold: 2
  healthy_threshold: 2

В соответствии с документацией проверки работоспособности проверки работоспособности должны достигать конечной точки /_ah/health каждые 20 секунд. Однако я заметил, что мое приложение получает спам с этими проверками работоспособности несколько раз в секунду, даже если приложение отвечает кодом состояния 200:

введите описание изображения здесь

Любая идея, почему это происходит?

4b9b3361

Ответ 1

К сожалению, похоже, что у нас есть ошибка в наших документах. Сегодня, действительно, приложения действительно проверяют здоровье на довольно частой основе.

Причина - много раз, но, как правило, каждая виртуальная машина будет удалена 3 * 2 различными проверками работоспособности в указанном вами периоде повторения (по умолчанию, очень агрессивном, 1 секунда). Причиной этого является 2 типа проверки работоспособности (автохейдер и LB) и 3 из них по причинам доступности.

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

Оставайтесь с нами!

Ответ 2

У меня нет решения проблемы с корнем. Но если спам делает невозможным использование журнала по назначению, как и для меня, вот работа:

  • Включите "Расширенные фильтры журналов" (маленькая стрелка вниз рядом с полем поиска в протоколе Stackdriver)

  • Добавьте это в запрос поиска

    NOT textPayload : (health)

Ответ 3

Я также запускаю NodeJS в GAE Flex env. Проверки работоспособности также спамали журнал сервера. Следующие несколько вещей помогли мне уменьшить их:

  • Несмотря на то, что документация google (https://cloud.google.com/appengine/docs/flexible/nodejs/configuring-your-app-with-app-yaml#health_checks) говорит, что конфигурация healthcheck не требуется, я установил их в явном виде, чтобы снизить частоту вызовы проверки работоспособности.
  • Используйте "Расширенный фильтр журнала", чтобы удалить журнал проверки работоспособности, если они слишком отвлекают.
  • Документация Google (https://cloud.google.com/appengine/docs/flexible/nodejs/how-instances-are-managed) говорит, что не требуется внедрять обработчик для проверки работоспособности, я все равно внедрил ее. Я добавил обработчик для конечной точки "/_ah/healthcheck" на сервере express.js и имел маршрут в верхней части файла app.js, поэтому запросы на проверку работоспособности сразу откликаются. Это помогло уменьшить некоторые шумы, вызванные запросами проверки работоспособности, попадающими в экспресс-приложение.

Ответ 4

Используйте расширенный фильтр и скажите "NOT _ah/health".

Удаление журнала nginx.request также поможет.