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
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
- Pour configurer Logstash, suivez les instructions ci-dessous depuis Elastic.
- 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
- 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.
- 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.
- 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).
- 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.
- Effectuez les étapes suivantes pour chaque serveur Liberty depuis lequel vous souhaitez collecter des événements.
- 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
- 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
- Exécutez la commande suivante pour installer la fonction logstashcollector-1.0 :
d:\wlp\bin\installUtility install logstashcollector-1.0
- 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.
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.
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]](../ng_v17001plus.gif)
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"
maxFieldLength="3000">
<tag>serverRackA5</tag>
<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.
- Activez la journalisation des accès HTTP et utilisez le format de journal '%h %u %t "%r" %s %b %D %{User-agent}i'.
- Démarrez Elasticsearch, Logstash et Kibana. Voir le site Web d'Elastic pour obtenir des instructions.
- Démarrez le serveur Liberty et générez des événements.
- Ouvrez Kibana dans un navigateur et créez un index.
- Dans Kibana 5, cliquez sur , définissez Time-field name sur datetime, puis cliquez sur Create.
- Dans Kibana 4, cliquez sur , définissez Time-field name sur datetime, puis cliquez sur Create.
- Téléchargez un exemple de tableau de bord de ce référentiel.
- Importez le tableau de bord dans Kibana.
- Dans Kibana 5, cliquez sur .
- Dans Kibana 4, cliquez sur .
- Affichez le tableau de bord.
- Dans Kibana 5, cliquez sur puis sélectionnez le tableau de bord.
- Dans Kibana 4, cliquez sur 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.