Utilisation du collecteur Logstash version 1.0

Utilisez la fonction Collecteur Logstash de Liberty pour collecter des journaux et d'autres événements à partir de vos serveurs Liberty et les envoyer vers un serveur Logstash distant. Les événements collectés peuvent être utilisés pour l'analyse des journaux et le traitement des incidents.

Avant de commencer

La fonction logstashCollector-1.0 a été testée pour les produits suivants :

  • Logstash V2.x, Elasticsearch V2.x et Kibana V4.x
  • [17.0.0.1 and later]Logstash V5.3.x, Elasticsearch V5.3.x et Kibana V5.3.x

Vous pouvez utiliser la fonction logstashCollector-1.0 avec un serveur Logstash s'exécutant avec l'un des plug-in de sortie disponibles de Logstash. Cependant, de nombreux utilisateurs choisissent d'utiliser Logstash avec Elasticsearch et Kibana pour fournir une fonction d'analyse et de consolidation des journaux complète. Pour obtenir plus d'informations, voir le site Web d'Elastic.

Procédure

  1. Pour configurer Logstash, suivez les instructions ci-dessous depuis Elastic.
  2. Créez ou procurez-vous des fichiers de certificat et de paire de clés SSL pour Logstash.

    L'exemple de commande suivant pour openSSL génère un certificat et une paire de clés. Personnalisez le nombre de jours pendant lesquels les clés sont valides en fonction de vos besoins.

    openssl req -x509 -newkey rsa:2048 -keyout logstash.key -out logstash.crt -days 365 -nodes
  3. Pour les utilisateurs Logstash et Elasticsearch, téléchargez un exemple de fichier de configuration Logstash et un fichier de modèle d'index de ce référentiel.
    1. Téléchargez le fichier de configuration Logstash, liberty_logstash.conf, et le fichier de modèle d'index, liberty_logstash_template.json, pour votre version de pile Elastic conformément au fichier Readme.
    2. Dans le fichier liberty_logstash.conf, personnalisez les chemins d'accès lumberjack ssl_certificate et ssl_key et la valeur hosts d'Elasticsearch (nom_hôte_Elasticsearch:numéro_port).
    3. Pour les utilisateurs d'Elasticsearch V2.x, vous pouvez personnaliser les valeurs par défaut _ttl pour indiquer la durée de conservation (en millisecondes) des enregistrements de chaque type d'événement dans le fichier liberty_logstash_template.json.
  4. Effectuez les étapes suivantes pour chaque serveur Liberty depuis lequel vous souhaitez collecter des événements.
    1. Procurez-vous ou créez un fichier de clés pour le serveur Liberty. Pour créer un certificat auto-signé, utilisez la commande suivante. Personnalisez le nom de serveur, le mot de passe et le sujet en fonction de vos besoins.
      d:\wlp\bin\securityUtility createSSLCertificate --server=myServerName --password="Liberty" --subject=CN=myHostname,OU=defaultServer,O=ibm,C=us
    2. Importez le fichier logstash.crt de l'étape 2 dans le fichier trust.jks de votre serveur. Personnalisez wlp_install_dir et le nom de serveur en fonction de vos besoins. Lorsque vous êtes invité à entrer un mot de passe, utilisez le mot de passe du certificat mentionné à l'étape 4a.
      d:\java\bin\keytool -import -noprompt -alias logstash -file logstash.crt -keystore wlp_install_dir\usr\servers\myServerName\resources\security\trust.jks -storepass Liberty
    3. Exécutez la commande suivante pour installer la fonction logstashcollector-1.0 :
      d:\wlp\bin\installUtility install logstashcollector-1.0
    4. Configurez le collecteur Logstash dans le fichier server.xml de Liberty en ajoutant le contenu ci-après. Personnalisez la liste des sources logstashCollector, le nom d'hôte et le port en fonction de vos besoins.

      [17.0.0.2 and later]Vous pouvez modifier le nombre maximal de caractères autorisés pour la zone de message dans un événement de traçage ou un message ou pour le traçage de pile dans un événement FFDC. Le maximum est de 2048 caractères par défaut. L'exemple suivant définit le paramètre maxFieldLength sur 3000 caractères dans l'élément logstashCollector. Pour autoriser un nombre illimité de caractères, définissez maxFieldLength sur 0 (zéro) ou sur -1.

      [17.0.0.4 and later]Vous pouvez limiter le nombre maximal d'événements qui sont envoyés pour chaque type d'événement (message, trace, accessLog, ffdc, garbageCollection) par seconde. Le nom maximal d'événements par défaut est 0, ce qui signifie qu'aucune régulation n'est appliquée. Si maxEvents est défini avec une valeur supérieure à 0, le nombre d'événements envoyés par seconde n'est pas limité. La valeur maxEvents doit être un nombre entier compris entre 0 et 2147483647.

      [17.0.0.1 and later]Vous pouvez également ajouter des balises personnalisées pour décorer les événements envoyés du serveur. L'exemple suivant comporte deux éléments tag dans l'élément logstashCollector.
      Remarque : Les balises qui sont utilisées dans Centre d'administration n'ont aucune relation avec les balises utilisées dans logstashCollector/bluemixLogCollector.
      <featureManager>
          <feature>logstashCollector-1.0</feature>
      </featureManager>
      
      <keyStore id="defaultKeyStore" password="Liberty" />
      <keyStore id="defaultTrustStore" location="trust.jks" password="Liberty" />
      <ssl id="mySSLConfig" trustStoreRef="defaultTrustStore" keyStoreRef="defaultKeyStore" />
      
      <logstashCollector 
      	source="message,trace,garbageCollection,ffdc,accessLog" 
      	hostName="localhost" 
      	port="5043" 
      	sslRef="mySSLConfig"
      	maxEvents="10"
      	[17.0.0.2 and later]maxFieldLength="3000">
      
          [17.0.0.1 and later]<tag>serverRackA5</tag>
          [17.0.0.1 and later]<tag>billingAppTeam</tag>
      </logstashCollector>

      Les journaux de trace et d'accès sont volumineux et nécessitent davantage de réseau, d'unité centrale et de ressources de stockage pour la collecte.

    5. Activez la journalisation des accès HTTP et utilisez le format de journal '%h %u %t "%r" %s %b %D %{User-agent}i'.
  5. Démarrez Elasticsearch, Logstash et Kibana. Voir le site Web d'Elastic pour obtenir des instructions.
  6. Démarrez le serveur Liberty et générez des événements.
  7. Ouvrez Kibana dans un navigateur et créez un index.
    • Dans Kibana 5, cliquez sur Management > Index Patterns, définissez Time-field name sur datetime, puis cliquez sur Create.
    • Dans Kibana 4, cliquez sur Settings > Index Patterns, définissez Time-field name sur datetime, puis cliquez sur Create.
  8. Téléchargez un exemple de tableau de bord de ce référentiel.
  9. Importez le tableau de bord dans Kibana.
    • Dans Kibana 5, cliquez sur Management > Saved Object > Import.
    • Dans Kibana 4, cliquez sur Settings > Objects > Import.
  10. Affichez le tableau de bord.
    • Dans Kibana 5, cliquez sur Dashboard > Open puis sélectionnez le tableau de bord.
    • Dans Kibana 4, cliquez sur Dashboard > Load Saved Dashboard puis sélectionnez le tableau de bord.

Résultats

Vous avez configuré vos serveurs Liberty pour qu'ils envoient des événements à votre serveur Logstash et vous pouvez désormais afficher vos événements dans le tableau de bord Liberty à l'aide de Kibana.

For z/OS platforms[16.0.0.4 and later]Si vous activez le collecteur Logstash pour acquérir les événements de récupération de place, une association tardive risque de ne pas activer correctement les outils IBM® auprès de la machine virtuelle Java™ z/OS. Pour résoudre ce problème, ajoutez la propriété système et la valeur -Dcom.ibm.tools.attach.enable=yes à l'appel de la machine virtuelle Java. Ajoutez-la directement comme partie de l'exécution Java ou dans un fichier jvm.options.


Icône indiquant le type de rubrique Rubrique Tâche

Nom du fichier : twlp_analytics_logstash.html