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.

Les zones suivantes sont communes et présentes dans tous les événements :
Tableau 1. Types d'événements communs
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)
Outre les zones communes, chacun des types d'événement comporte également des zones uniques :
  • 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.
    [16.0.0.4 et ultérieur]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
    [16.0.0.4 et ultérieur]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 zone hostName est définie sur la première valeur disponible parmi les suivantes :
  • 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 zone serverName est définie sur la première valeur disponible parmi les suivantes :
  • 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.

Si vous exécutez les serveurs Liberty dans des conteneurs Docker ou d'autres environnements virtuels que vous gérez, définissez les variables d'environnement CONTAINER_HOST et CONTAINER_NAME lorsque vous exécutez votre image. Ces variables d'environnement assurent que le collecteur de journaux Logstash ou Bluemix balise avec le nom d'hôte et de conteneur appropriés les enregistrements qu'il envoie, ce qui peut aider dans l'identification de problèmes. Si vous ne définissez pas ces variables d'environnement, il peut être difficile de déterminer quel conteneur a envoyé quels événements lorsque vous utilisez un tableau de bord affichant les événements de plusieurs conteneurs. Lorsque vous démarrez un conteneur Docker, utilisez une commande similaire à ceci :
docker run -d -e LICENSE=accept -e CONTAINER_NAME=yourContainerName -e CONTAINER_HOST=yourContainerHost --name=yourContainerName yourImageName

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwlp_analytics_collectors
Nom du fichier : cwlp_analytics_collectors.html