Présentation du comportement et de la consignation Quality of Service (QoS)

Cette rubrique décrit les caractéristiques de QoS notamment le comportement du serveur et du contrôleur de serveur pendant les événements d'interruption, le déclenchement du basculement, ainsi que le contenu du fichier journal.

Evénements d'interruption QoS

Voici comment doivent se comporter le serveur et le contrôleur de serveur au cours des événements de suppression.
  • 'nsd -kill' ne génère pas un nsd. mais uniquement un fichier kill_*.
  • Si et seulement si le serveur doit être redémarré, le contrôleur génère ses propres commandes 'nsd -stacks' aux fins de dépannage.
  • Lorsque QoSShutdownNSD=seconds est défini dans le fichier notes.ini, une commande 'nsd -stacks' est générée toutes les QoSShutdownNSD secondes si le serveur n'a pas été arrêté correctement dans un délai de QoSShutdownNSD secondes. Ce paramètre notes.ini est utilisé pour le dépannage des serveurs qui mettent trop de temps à s'arrêter.
Remarque : Dans le tableau suivant, le délai d'attente indique que la tâche Addin du serveur qosprobe n'a pas pu ouvrir le fichier names.nsf du serveur (vue $Servers) dans le délai en millisecondes indiqué par QOS_PROBE_TIMEOUT.
Tableau 1. Evénements et actions
Evénement Action de contrôleur Configuration ?
Délai d'analyse (qosprobe) Le serveur est interrompu après un délai de 5 minutes, puis redémarré. dcontroller.ini:QOS_PROBE_TIMEOUT=minutes
Délai des applications à exécution longue Le serveur est interrompu après un délai de 10 minutes, puis redémarré. dcontroller.ini:QOS_APPS_TIMEOUT=minutes
Descripteurs partagés épuisés sur le serveur Le serveur est interrompu et redémarré. non
Tables de session épuisées sur le serveur Le serveur est interrompu et redémarré. non
Mémoire brute épuisée sur le serveur Le serveur est interrompu et redémarré. non
Descripteurs de mémoire partagée épuisés sur le serveur Le serveur est interrompu et redémarré. non
Panne/emballement du serveur lors de l'exécution Le serveur est redémarré après un délai de 5 minutes. non
Temps d'arrêt du serveur trop long ('quit') Le serveur est interrompu après un délai de 5 minutes. dcontroller.ini:QOS_SHUTDOWN_TIMEOUT=minutes
Temps de redémarrage du serveur trop long ('restart server') Le serveur est interrompu après un délai de 5 minutes, puis redémarré. dcontroller.ini:QOS_RESTART_TIMEOUT=minutes
Fin anormale du processus serveur Le serveur est interrompu et redémarré. non

Déclenchement de basculement QoS

Une interruption intelligente QoS peut maintenir un serveur arrêté pendant une période pouvant aller jusqu'à 20 minutes. Le temps d'indisponibilité total peut inclure un temps de détection de dépassement de délai d'analyse d'environ 5 minutes, l'exécution de nsd en vue de collecter les données sur tous les processus (environ 3 minutes), l'interruption du serveur (environ 1 à 2 minutes) et le redémarrage (incluant la durée de la tâche gating - jusqu'à 10 minutes). Toute nouvelle demande conçue pour être traitée sur un serveur pour lequel QoS est défini bascule immédiatement sur une grappe correspondante dans les secondes suivant le moment où QoS détecte que le serveur doit être interrompu.

Le basculement étant important uniquement lorsque le serveur est en cours d'exécution et de traitement, la fonction de basculement rapide n'est pas utilisé pour les scénarios d'interruption suivants :
  • Arrêt du serveur trop long
  • Redémarrage du serveur trop long
  • Blocage du serveur nécessitant un nettoyage QoS
Remarque : Vous pouvez désactiver le mécanisme StaticHang en utilisant le paramètre de notes.ini QOS_DISABLE_FAILOVER_TRIGGER=1. Lorsque ce paramètre est défini, le fichier triggerImmediateServerFailover est toujours créé et supprimé, mais le serveur ne force pas le basculement de StaticHang.

Fichier journal du contrôleur QoS

QoS place un nouveau fichier journal dans le répertoire de travail du serveur Domino®. Le fichier journal du contrôleur QoS contient les détails correspondant aux différents événements tels qu'ils ont été capturés ou traités par le contrôleur QoS, aux événements d'analyse QoS, au redémarrage de serveur par mesure de sécurité, aux blocages de serveur, aux interruptions QoS et à divers autres événements. Les sections suivantes décrivent ce fichier journal, son mode de fonctionnement et comment l'utiliser pour traiter un événement dans le service.

Remarque : Vous pouvez également transmettre ce fichier journal au service d'assistance si vous l'utilisez pour traiter un problème de serveur.
Convention de dénomination du fichier journal

Le nom du fichier journal du contrôleur QoS contient un horodatage sur 24 heures au format YYYYMMDDHHmmA, tel que :
qoscntrlr201105171528.out

Cet horodatage indique l'heure à laquelle le contrôleur QoS a été démarré. Le nom de fichier indiqué den exmple peut être celui du journal du contrôleur QoS pour un démarrage du service le 17 mai 2011 à 3 h 28 PM. Si le service est arrêté, puis redémarré, le fichier qoscntrlrYYYYMMDDHHmm.out reçoit l'extension .log et un nouveau fichier qoscntrlrYYYYMMDDHHmm.out est créé avec l'heure actuelle. Ces fichiers qoscntrlrYYYYMMDDHHmm.log sont automatiquement supprimés lorsque le service est démarré s'ils datent de plus de 14 jours.

Convention de dénomination du fichier journal

Le nom du fichier journal du contrôleur QoS contient un horodatage sur 24 heures au format YYYYMMDDHHmmA, tel que :
qoscntrlr201105171528.out

Cet horodatage indique l'heure à laquelle le contrôleur QoS a été démarré. Le nom de fichier indiqué den exmple peut être celui du journal du contrôleur QoS pour un démarrage du service le 17 mai 2011 à 3 h 28 PM. Si le service est arrêté, puis redémarré, le fichier qoscntrlrYYYYMMDDHHmm.out reçoit l'extension .log et un nouveau fichier qoscntrlrYYYYMMDDHHmm.out est créé avec l'heure actuelle. Ces fichiers qoscntrlrYYYYMMDDHHmm.log sont automatiquement supprimés lorsque le service est démarré s'ils datent de plus de 14 jours.

Interprétation du fichier journal

Au début du fichier journal apparaissent des informations de configuration générales relatives à l'exécution consignée du contrôleur QoS :
2012/08/06 06:33:34 QoS Controller: Starting QOSPipeWatcher
2012/08/06 06:33:34 QoS Controller: QOS_PROBE_TIMEOUT=5 minutes
2012/08/06 06:33:34 QOSController: QOS_SHUTDOWN_TIMEOUT=5 minutes
2012/08/06 06:33:34 QOSController: QOS_RESTART_TIMEOUT=5 minutes
2012/08/06 06:33:34 QOSController: QOS_APPS_TIMEOUT=10 minutes
2012/08/06 06:33:34 QoS Controller: nsd Program Path=/opt/hcl/notes/latest/linux/nsd.sh
2012/08/06 06:33:34 QoS Controller: QOS_RESTART_LIMIT_MAXIMUM=3
2012/08/06 06:33:34 QoS Controller: QOS_RESTART_LIMIT_PERIOD=30 minutes
2012/08/06 06:33:34 QoS Controller: QOS_NOKILL=false
2012/08/06 06:33:34 QoS Controller: QOS_MAIL_TO=test/hcl
2012/08/06 06:33:34 QoS Controller: QOS_MAIL_SMTP_SERVER=xx
Ces éléments, ainsi que d'autres éléments de base, peuvent être configurés dans le fichier ini du contrôleur Domino® (dcontroller.ini), figurant dans le répertoire de travail du serveur. Le reste du fichier contient une entrée de journal pour chaque message envoyé au contrôleur QoS par le serveur ou par une de ses tâches. Ces messages sont au format :
2012/05/08 00:15:09 QoS Controller: OpMsg=START Type=QOS ObjectType=ServerName ObjectValue=CN=rc45/O=dev ObjectType2=ProcessName ObjectValue2=nserver TimeDate=20120508T001506,95-04
2012/05/08 00:15:09 QoS Controller: OpMsg=START Type=SERVER TimeDate=20120508T001507,40-04
2012/05/08 00:15:21 QoS Controller: OpMsg=READY Type=SERVER TimeDate=20120508T001517,92-04
Tous les messages consignés dans le fichier journal du contrôleur QoS ont un horodatage. Si le contrôleur QoS consigne le message, le format est le suivant :
TimeDate=20120508T001506,95-04
Si l'une des autres unités d'exécution du contrôleur QoS consigne un message dans le fichier journal, le format est le suivant :
2012/05/08 00:15:21 QoS Probe: message
2012/05/08 00:15:21 QoS Applications: message
2012/05/08 00:15:21 QoS Kill: message

Eléments à rechercher dans le fichier journal

Le tableau ci-dessous contient des exemples d'événements de consignation de base que vous pouvez voir dans le fichier journal du contrôleur QoS.

Tableau 2. Exemples d'événements de consignation de base
Evénement Exemples de consignation dans le journal
Démarrage normal du serveur
2012/05/08 00:15:09 QoS Controller: OpMsg=START Type=QOS ObjectType=ServerName ObjectValue=CN=rc45/O=dev ObjectType2=ProcessName ObjectValue2=nserver TimeDate=20120508T001506,95-04
2012/05/08 00:15:09 QoS Controller: OpMsg=START Type=SERVER TimeDate=20120508T001507,40-04
2012/05/08 00:15:10 QoS Applications: Clearing long running apps list
2012/05/08 00:15:21 QoS Controller: OpMsg=READY Type=SERVER TimeDate=20120508T001517,92-04
2012/05/08 00:15:21 QoS Controller: Server is ready to process requests
Arrêt normal du serveur
2012/05/08 00:45:22 QoS Controller: OpMsg=END Type=SERVER ObjectType=Detail ObjectValue=Quit TimeDate=20120508T004516,01-04
2012/05/08 00:45:22 QoS Controller: Deactivating probe...
2012/05/08 00:45:22 QoS Controller: QoS Probe deactivated.
2012/05/08 00:45:26 QoS Controller: OpMsg=END Type=QOS ObjectType=ServerName ObjectValue=CN=rc45/O=dev TimeDate=20120508T004523,51-04
2012/05/08 00:45:27 QoS Applications: Clearing long running apps list
Analyse QoS
2012/05/08 00:15:21 QoS Controller: Activating probe...
2012/05/08 00:15:21 QoS Controller: QoS Probe activated.
2012/05/08 00:15:21 QoS Probe: Starting qosprobe...
2012/05/08 00:15:25 QoS Probe: OpMsg=START, Type=PROBE
2012/05/08 00:16:25 QoS Probe: The QoS Probe is probing.
2012/05/08 00:16:25 QoS Probe: SUCCESS (156ms)
2012/05/08 00:17:25 QoS Probe: SUCCESS (16ms)
2012/05/08 00:18:25 QoS Probe: SUCCESS (31ms)
2012/05/08 00:19:25 QoS Probe: SUCCESS (16ms)
2012/05/08 00:20:26 QoS Probe: SUCCESS (15ms)
Applications à exécution longue
2012/05/08 00:38:32 QoS Controller: OpMsg=START Type=FIXUP ObjectType=DB ObjectValue=C:\Program Files\HCL\Domino\Data\ddm.nsf TimeDate=20120508T003826,18-04
2012/05/08 00:38:32 QoS Controller: OpMsg=END Type=FIXUP ObjectType=DB ObjectValue=C:\Program Files\HCL\Domino\Data\ddm.nsf TimeDate=20120508T003829,79-04
2012/05/08 00:38:32 QoS Applications: Adding FIXUP[C:\Program Files\HCL\Domino\Data\ddm.nsf] to long running apps list
2012/05/08 00:38:32 QoS Applications: Removing FIXUP[C:\Program Files\HCL\Domino\Data\ddm.nsf] from long running apps list..
2012/05/08 00:47:42 QoS Controller: OpMsg=START Type=COMPACT ObjectType=DB ObjectValue=events4.nsf TimeDate=20120508T004740,23-04
2012/05/08 00:47:42 QoS Controller: OpMsg=END Type=COMPACT ObjectType=DB ObjectValue=events4.nsf TimeDate=20120508T004740,23-04
2012/05/08 00:47:43 QoS Applications: Adding COMPACT[events4.nsf] to long running apps list
2012/05/08 00:47:43 QoS Applications: Removing COMPACT[events4.nsf] from long running apps list

Preuve d'un blocage serveur dans le fichier journal

Le contrôleur QoS surveille et consigne les événements de blocage pour faire en sorte que l'interruption et le redémarrage soient effectués dans un délai raisonnable. Pour trouver ces informations dans le fichier journal du contrôleur QoS, recherchez la chaîne "=CRASH". Voici un exemple :
2012/05/08 01:00:44 QoS Controller: OpMsg=CRASH Type=QOS ObjectType=ServerName ObjectValue=CN=rc45/O=dev TimeDate=20120508T010039,48-04
2012/05/08 01:00:44 QoS Controller: Server CN=rc45/O=dev has crashed.
2012/05/08 01:00:44 QoS Controller: Deactivating probe...
2012/05/08 01:00:44 QoS Controller: QoS Probe deactivated.

Preuve d'une interruption intelligente dans le fichier journal

Le contrôleur QoS est codé pour interrompre le serveur sur la base des informations qu'il reçoit du serveur ou de l'analyse QoS. Voici comment peut apparaître une interruption intelligente dans le fichier du contrôleur QoS suite au dépassement de délai d'une analyse QoS :
2012/05/08 00:31:41 QoS Probe: SUCCESS (78ms)
2012/05/08 00:32:41 QoS Probe: SUCCESS (16ms)
2012/05/08 00:37:41 The probe thread has not received a message from qosprobe within the timeout period.
2012/05/08 00:37:41 QoS Probe: The qosprobe addin has timed out, is not responding, or is not running.
2012/05/08 00:37:41 QoS Controller: Deactivating probe...
2012/05/08 00:37:41 QoS Controller: QoS Probe deactivated.
2012/05/08 00:37:43 QoS Controller: OpMsg=TIMEOUT Type=PROBE TimeDate=null
2012/05/08 00:37:43 QoS Controller: The controller has received a probe timeout.
2012/05/08 00:37:43 QoS Kill: Triggering failover...
2012/05/08 00:37:47 QoS Kill: Running nsd...
2012/05/08 00:38:12 QoS Kill: Running nsd -kill
2012/05/08 00:38:16 QoS Kill: Setting kill complete.
2012/05/08 00:38:21 QoS Kill: Restarting DominoStarter thread