J'ai déployé une application nodejs exécutée sur le moteur d'exécution de Google App Engine Flex à l'aide de la configuration app.yaml
suivante:
runtime: nodejs
env: flex
health_check:
enable_health_check: True
check_interval_sec: 20
timeout_sec: 4
unhealthy_threshold: 2
healthy_threshold: 2
Selon la documentation relative à la vérification de l'état de santé , les vérifications de l'état doivent atteindre le point final /_ah/health
toutes les 20 secondes. Cependant, j'ai remarqué que ces contrôles de santé étaient spammés dans mon application plusieurs fois par seconde, même si l'application répond avec le code d'état 200
:
Une idée pourquoi cela se passe?
Malheureusement, il semble que nous ayons un problème avec nos documents. Aujourd'hui, en effet, la santé des applications est régulièrement vérifiée.
La raison en est multiple, mais en général chaque VM subira 3 * 2 contrôles d'intégrité différents selon l'intervalle de récurrence que vous spécifiez (par défaut, très agressif, 1 seconde). La raison en est deux types de bilan de santé (autohealer et LB) et 3 de chacun pour des raisons de disponibilité.
Cela étant dit, nous travaillons actuellement sur une nouvelle forme de vérifications de l'état de santé qui sera publiée très prochainement et qui devrait résoudre ce problème ainsi que d'autres problèmes liés au comportement de vérification de l'état de santé existant (au moins rendre les valeurs par défaut plus gérables et offrir davantage d'options de réglage aux utilisateurs) .
Restez à l'écoute!
Je n'ai pas de solution au problème racine. Mais si le spam rend impossible l'utilisation du journal dans le but prévu, comme c'est le cas pour moi, voici un moyen de contourner le problème:
Activer les 'filtres de journal avancés' (la petite flèche vers le bas à côté du champ de recherche dans la journalisation Stackdriver)
Ajouter ceci à la requête de recherche
NOT textPayload : (health)
J'exécute également NodeJS dans GAE Flex env. Les contrôles de santé envoyaient également du spam dans le journal du serveur. Les quelques choses suivantes m'ont aidé à les réduire:
Utilisez le filtre avancé et dites "NOT _ah/health".
Supprimer le journal nginx.request vous aidera également.