Collecteurs de journaux Logstash et Bluemix
Liberty génère différents événements lors de la phase d'exécution, par exemple, des événements de journal, des événements de trace, des événements de capture de données à la première défaillance (FFDC), des événements de journal d'accès et des événements de récupération de place. Il est utile de consolider les événements provenant de tous les serveurs de manière à pouvoir les rechercher, les filtrer et les analyser, surtout lorsque vous gérez plusieurs serveurs ou lorsque vous exécutez des serveurs sur différentes plateformes (par exemple, sur un matériel dédié dans le cloud). Il peut également s'avérer utile de stocker des événements sur un serveur distinct lorsque vous utilisez Liberty dans des environnements qui ne possèdent pas suffisamment d'espace de stockage de fichiers persistants pour les données de détermination de problèmes.
Liberty fournit les fonctions du collecteur de journaux Logstash et Bluemix pour vous aider à consolider les événements à distance. Les collecteurs capturent des événements à la volée, les scindent en zones et les acheminent en toute sécurité au serveur de collecte de journaux Logstash ou Bluemix configuré. Les collecteurs peuvent être configurés pour envoyer un ou plusieurs des types de données suivants :
- Evénements du journal des messages
- Evénements du journal de trace
- Evénements du journal d'accès HTTP (depuis le serveur Liberty)
- Evénements du journal FFDC
- Evénements de récupération de place (disponibles uniquement pour les JDK IBM)
Collecteur Logstash
La fonction de collecteur Logstash (logstashCollector-1.0) envoie des événements à un serveur Logstash que vous indiquez.
Logstash peut être utilisé avec le serveur de recherche Elasticsearch et le tableau de bord Kibana, que vous indiquez, configurez et gérez, pour offrir une vue consolidée des journaux ou d'autres événements de tous les secteurs de l'entreprise. Nous n'avez pas besoin de configurer des agents ou des processus séparés sur l'ordinateur serveur Liberty pour que le collecteur Logstash transfère les événements.
Structure des événements
Les collecteurs envoient chaque événement sous la forme d'un ensemble de paires nom-valeur de zone. Chaque type d'événement possède son propre ensemble de zones. Connaître les zones que comporte chaque événement peut s'avérer utile lorsque vous créez vos propres tableaux de bord Kibana.
Nom de zone logstashCollector-1.0 | Description de la zone |
---|---|
type | Chaîne identifiant le type d'événement |
datetime | Heure à laquelle s'est produit l'événement |
hostName | Nom d'hôte du serveur source de l'événement Pour plus d'informations sur les règles en vigueur pour définir le nom d'hôte, voir Utilisation des collecteurs de journaux Logstash et Bluemix avec Liberty s'exécutant dans Docker |
wlpUserDir | Répertoire utilisateur du serveur source de l'événement. Par exemple, D:\wlp\usr |
serverName | Nom du serveur source de l'événement Pour plus d'informations sur les règles en vigueur pour définir le nom du serveur, voir Utilisation des collecteurs de journaux Logstash et Bluemix avec Liberty s'exécutant dans Docker |
sequence | Numéro de séquence de l'événement (utile pour trier les enregistrements ayant le même horodatage) |
- Evénements de message
Tableau 2. Evénements de message (type : "liberty_message":) Nom de zone logstashCollector-1.0 Description de la zone severity Indicateur de gravité (F = Fatal, E = Error, W = Warning, A = Audit, I = Info, O = SystemOut, R = SystemErr) Indicateur de gravité (FATAL, ERROR, WARNING, AUDIT, INFO, CONFIG, DETAIL)
messageId ID de message sur la ligne du journal, peut être utilisé pour rechercher des types d'erreur spécifiques. Par exemple, SRVE0250I methodName Nom de méthode dans l'enregistrement de journal className Nom de classe dans l'enregistrement de journal loggerName Nom du consignateur dans l'enregistrement de journal threadId ID d'unité d'exécution sur la ligne de journal (par exemple, 00000015). L'ID d'unité d'exécution est une chaîne et non un nombre. message Message de l'enregistrement de journal, débutant par l'ID de message. Remarque : Outre la structure de journalisation et de trace par défaut, le collecteur Logstash transmet les événements de message lorsque la consignation binaire est activée.
- Evénements de trace
Tableau 3. Evénements de trace (type : "liberty_trace":) Nom de zone logstashCollector-1.0 Description de la zone severity Indicateur de gravité (1 = Fine, 2 = Finer, 3 = Finest, > = Entry, < = Exit) Indicateur de gravité (FINE, FINER, FINEST, ENTRY, EXIT) methodName Nom de méthode dans l'enregistrement de journal className Nom de classe dans l'enregistrement de journal loggerName Nom du consignateur dans l'enregistrement de journal threadId ID d'unité d'exécution sur la ligne de journal (par exemple, 00000015). L'ID d'unité d'exécution est une chaîne et non un nombre. message Message de l'enregistrement de journal Remarque : Outre la structure de journalisation et de trace par défaut, le collecteur Logstash transmet les événements de trace lorsque la consignation binaire est activée.
- Evénements du journal d'accès HTTP
Tableau 4. Evénements du journal d'accès HTTP (type :"liberty_accesslog") Nom de zone logstashCollector-1.0 Description de la zone uriPath Informations de chemin de l'URL demandée. Ces informations de chemin ne contiennent pas les paramètres de requête, par exemple : /pushworksserver/ push/apps/tags. requestMethod Verbe HTTP, par exemple : GET remoteHost Adresse IP de l'hôte distant, par exemple : 127.0.0.1 userAgent Valeur userAgent de la requête requestProtocol Type de protocole, par exemple : HTTP/1.1 queryString Chaîne représentant la chaîne de requête dans la demande HTTP (par exemple : color=blue&size=large) bytesReceived Octets reçus dans l'URL, par exemple : 94 responseCode Code de réponse HTTP, par exemple : 200 elapsedTime Temps écoulé pour traiter la demande (en microsecondes) requestHost Adresse IP de l'hôte de la requête, par exemple : 127.0.0.1 requestPort Numéro de port de la requête - Evénements FFDC
Tableau 5. Evénements FFDC (type : "liberty_ffdc":) Nom de zone logstashCollector-1.0 Description de la zone className Classe ayant émit l'entrée FFDC exceptionName Exception signalée dans l'entrée FFDC probeID Identificateur unique du point FFDC dans la classe stackTrace Trace de pile de l'incident FFDC objectDetails Détails de l'incident FFDC threadId ID d'unité d'exécution de l'incident FFDC - Evénements de récupération de place
Tableau 6. Evénements de récupération de place (type : "liberty_gc":) Nom de zone logstashCollector-1.0 Description de la zone heap Segment de mémoire total disponible usedHeap Volume de segment de mémoire utilisé duration Durée de récupération de place (en microsecondes) gcType Type d'événement de récupération de place (par exemple : Nursery, Global) reason Motif de la récupération de place
Utilisation des collecteurs de journaux Logstash et Bluemix avec Liberty s'exécutant dans Docker
Pour les serveurs Liberty s'exécutant dans des conteneurs Docker ou dans d'autres environnements virtualisés, hostName et serverName sont définis comme suit :
- La valeur de la variable d'environnement CONTAINER_HOST
- La valeur de la variable de configuration Liberty ${defaultHostName}
- Le nom d'hôte canonique signalé par le kit de développement de logiciel (SDK)
- La valeur de la variable d'environnement CONTAINER_NAME
- La valeur de la variable de configuration ${wlp.server.name} de Liberty
Si les serveurs Liberty s'exécutent dans le service Bluemix Container, CONTAINER_HOST et CONTAINER_NAME sont déjà définis pour vous.
Si les serveurs Liberty s'exécutent dans des collectivités Liberty Docker, CONTAINER_HOST et CONTAINER_NAME sont déjà définis pour vous.
docker run -d -e LICENSE=accept -e CONTAINER_NAME=yourContainerName -e CONTAINER_HOST=yourContainerHost --name=yourContainerName yourImageName