Présentation
Recueillez des métriques du service Logstash en temps réel pour :
- Visualiser et surveiller les états de Logstash
- Être informé des événements Logstash
Configuration
Le check Logstash n’est PAS inclus avec le package de l’Agent Datadog.
Installation
Si vous utilisez la version 6.8 ou une version ultérieure de l’Agent, suivez les instructions ci-dessous pour installer le check Logstash sur votre host. Consultez le guide relatif à l’installation d’intégrations développées par la communauté pour installer des checks avec une version < 6.8 de l’Agent ou avec l’Agent Docker :
Téléchargez et lancez l’Agent Datadog.
Exécutez la commande suivante pour installer le wheel de l’intégration à l’aide de l’Agent :
datadog-agent integration install -t datadog-logstash==<INTEGRATION_VERSION>
Configurez votre intégration comme n’importe quelle autre intégration fournie avec l’Agent.
Configuration
Modifiez le fichier logstash.d/conf.yaml
dans le dossier conf.d/
à la racine du répertoire de configuration de votre Agent pour commencer à recueillir vos métriques et vos logs Logstash. Consultez le fichier d’exemple logstash.d/conf.yaml pour découvrir toutes les options de configuration disponibles.
Redémarrez l’Agent.
Collecte de métriques
Ajoutez cette configuration à votre fichier conf.yaml
pour commencer à recueillir vos métriques Logstash :
init_config:
instances:
# L'URL sur laquelle Logstash fournit son API de surveillance.
# Celle-ci sera utilisée pour récupérer diverses métriques runtime concernant Logstash.
#
- url: http://localhost:9600
Configurez-la de façon à spécifier votre serveur et votre port.
Consultez le fichier d’exemple conf.yaml pour découvrir toutes les options de configuration disponibles.
Enfin, redémarrez l’Agent pour commencer à envoyer vos métriques Logstash à Datadog.
Collecte de logs
Datadog possède un plug-in de sortie pour Logstash qui s’occupe d’envoyer vos logs à votre plateforme Datadog.
Pour installer ce plug-in, exécutez la commande suivante :
logstash-plugin install logstash-output-datadog_logs
Configurez ensuite le plug-in datadog_logs
avec votre clé d’API Datadog :
output {
datadog_logs {
api_key => "<CLÉ_API_DATADOG>"
}
}
Par défaut, le plug-in est configuré de façon à envoyer des logs via HTTPS (port 443) à l’aide de la compression gzip.
Vous pouvez modifier ce comportement avec les paramètres suivants :
use_http
: définissez ce paramètre sur false
pour utiliser la connexion TCP. Vous devez modifier les paramètres host
et port
en conséquence. Valeur par défaut : true
.use_compression
: la compression est uniquement disponible pour les transmissions HTTP. Définissez ce paramètre sur false
pour la désactiver. Valeur par défaut : true
.compression_level
: définissez le niveau de compression via HTTP. Choisissez une valeur entre 1 (ratio le plus faible) et 9 (ratio le plus élevé). Valeur par défaut : 6
.
Il est possible d’utiliser des paramètres supplémentaires pour changer l’endpoint utilisé afin de passer par un proxy :
host
: l’endpoint proxy pour les logs qui ne sont pas directement transmis à Datadog. Valeur par défaut : http-intake.logs.datadoghq.com
.port
: le port proxy pour les logs qui ne sont pas directement transmis à Datadog. Valeur par défaut : 80
.ssl_port
: le port utilisé pour les logs transmis via une connexion TCP/SSL sécurisée à Datadog. Valeur par défaut : 443
.use_ssl
: indique à l’Agent d’initialiser une connexion TCP/SSL sécurisée vers Datadog. Valeur par défaut : true
.no_ssl_validation
: désactive la validation du hostname SSL. Valeur par défaut : false
.
Remarque : définissez host
et port
sur votre région
.
output {
datadog_logs {
api_key => "<CLÉ_API_DATADOG>"
host => "http-intake.logs.datadoghq.eu"
}
}
Ajouter des métadonnées à vos logs
Pour tirer pleinement parti de vos logs dans Datadog, il est important de leur associer les métadonnées appropriées, y compris le hostname et la source. Par défaut, le hostname et le timestamp sont normalement remappés comme il se doit grâce au processus de remappage pour les attributs réservés de Datadog. Pour vous assurer que le service est correctement remappé, ajoutez la valeur de son attribut à la liste de remappage du service.
Source
Configurez un filtre Logstash pour définir la source (nom d’intégration Datadog) sur vos logs.
filter {
mutate {
add_field => {
"ddsource" => "<MA_VALEUR_SOURCE>"
}
}
}
Cela déclenche la configuration automatique de l’intégration dans Datadog.
Les tags de host sont automatiquement appliqués à vos logs s’il existe un hostname correspondant dans votre liste d’infrastructures. Utilisez l’attribut ddtags
pour ajouter des tags personnalisés à vos logs :
filter {
mutate {
add_field => {
"ddtags" => "env:test,<KEY:VALUE>"
}
}
}
Validation
Lancez la sous-commande status
de l’Agent et cherchez logstash
dans la section Checks.
Compatibilité
Le check Logstash est compatible avec les versions 5.x, 6.x et 7.x de Logstash. Il prend également en charge les nouvelles métriques multipipeline ajoutées dans la version 6.0. Ce check a été testé avec les versions 5.6.15, 6.3.0 et 7.0.0 de Logstash.
Données collectées
Métriques
Événements
Le check Logstash n’inclut aucun événement.
Checks de service
logstash.can_connect
:
Renvoie Critical
si l’Agent ne parvient pas à se connecter à Logstash pour recueillir des métriques. Si ce n’est pas le cas, renvoie OK
.
Dépannage
Connexion de l’Agent impossible
logstash
-------
- instance #0 [ERROR]: "('Connection aborted.', error(111, 'Connection refused'))"
- Collected 0 metrics, 0 events & 1 service check
Vérifiez que le paramètre url
dans conf.yaml
est correctement configuré.
Si vous avez besoin d’aide supplémentaire, contactez l’assistance Datadog.