Alibaba Cloud Logstash prend en charge jusqu'à 20 pipelines parallèles. Chacun utilise des plugins d'entrée (input), de sortie (output) et éventuellement de filtrage (filter) pour collecter et traiter les données. Créez, modifiez, clonez et supprimez des pipelines à l'aide de fichiers de configuration.
Prérequis
-
Vous avez créé une instance Alibaba Cloud Elasticsearch.
-
La création automatique d'index est activée pour l'instance Elasticsearch, ou bien vous avez créé les index et les mappings au préalable.
Activez la création automatique d'index dans Configurer les paramètres YML. Créez les index et les mappings comme décrit dans Guide du débutant : De la création d'une instance à la récupération des données.
RemarquePour garantir la sécurité des données, Alibaba Cloud Elasticsearch définit par défaut la fonctionnalité Auto Indexing sur Not allowed. Lorsqu'Alibaba Cloud Logstash envoie des données, il crée un index en soumettant les données, et non en utilisant l'API create index. Par conséquent, avant d'utiliser Alibaba Cloud Logstash pour charger des données, définissez la fonctionnalité Auto Indexing de votre cluster sur Permitted ou créez un index et des mappings au préalable.
-
Vous avez créé une instance Alibaba Cloud Logstash.
Limites
Un maximum de 20 pipelines peut s'exécuter en parallèle.
Si la sortie est une instance Alibaba Cloud Elasticsearch, activez la création automatique d'index ou créez l'index et les mappings au préalable.
Tous les services Alibaba Cloud doivent se trouver dans le même VPC. Pour un accès inter-VPC, Configurez le transfert de données via le réseau public NAT.
Pour utiliser le paramètre de sortie file_extend, installez d'abord le plugin logstash-output-file_extend. Installer ou désinstaller des plugins.
Créer un pipeline
Accédez à la page Logstash Clusters.
-
Accédez au cluster cible.
Dans la barre de navigation supérieure, sélectionnez la région où réside le cluster.
Sur la page Logstash Clusters, localisez le cluster et cliquez sur son ID.
Dans le volet de navigation de gauche, cliquez sur Pipelines.
Cliquez sur Create Pipeline.
-
Saisissez l'Pipeline ID et les Config Settings.
Exemple de configuration :
input { beats { port => 8000 } } filter { } output { elasticsearch { hosts => ["http://es-cn-o40xxxxxxxxxx****.elasticsearch.aliyuncs.com:9200"] index => "logstash_test_1" password => "es_password" user => "elastic" } file_extend { path => "/ssd/1/ls-cn-v0h1kzca****/logstash/logs/debug/test" } }Paramètre
Description
input
Source de données d'entrée. Pour les types pris en charge, consultez les plugins d'entrée.
Remarque-
Les plugins d'entrée qui écoutent sur un port doivent utiliser un port compris entre 8000 et 9000.
-
Pour ajouter des plugins, des pilotes ou d'autres fichiers à la section d'entrée, cliquez sur Show Third-party Libraries. Dans la boîte de dialogue Third-party Libraries, cliquez sur Upload pour télécharger des fichiers. configurer des fichiers étendus.
filter
Filtre les données d'entrée. Pour les types de plugins pris en charge, consultez les plugins de filtrage.
output
Destination de sortie. Pour les types pris en charge, consultez les plugins de sortie.
file_extend : Facultatif. Active la journalisation de débogage et définit le chemin de sortie des journaux de débogage avec le paramètre path. Utilisez ce paramètre pour afficher la sortie directement dans la console au lieu de vérifier à la destination. Utiliser la fonctionnalité de débogage de la configuration du pipeline Logstash.
ImportantLe paramètre file_extend nécessite le plugin logstash-output-file_extend. Installer ou désinstaller des plugins. Le paramètre path utilise par défaut un chemin spécifié par le système. Ne le modifiez pas. Vous pouvez également récupérer le path en cliquant sur Start Configuration Debug.
La structure du fichier de configuration et les types de données pris en charge varient selon la version. Pour plus de détails, consultez la Structure d'un fichier de configuration.
ImportantLors de l'utilisation d'un pilote JDBC, ajoutez
allowLoadLocalInfile=false&autoDeserialize=falseau paramètre jdbc_connection_string pour valider le pipeline. Exemple :jdbc_connection_string => "jdbc:mysql://xxx.drds.aliyuncs.com:3306/<database_name>?allowLoadLocalInfile=false&autoDeserialize=false".Pour des paramètres tels que last_run_metadata_path, utilisez le chemin /ssd/1/<Logstash_instance_ID>/logstash/data/ pour les tests. Les données de ce répertoire persistent ; assurez-vous donc de disposer d'un espace disque suffisant. Logstash génère automatiquement un fichier au chemin spécifié, mais vous ne pouvez pas afficher son contenu.
Les instances Logstash s'exécutent dans un VPC. Utilisez autant que possible des ressources situées dans le même VPC. Pour l'accès à Internet, Configurez le transfert de données via le réseau public NAT.
Utilisez le plugin file_extend pour la journalisation de débogage au lieu de stdout.
-
-
Cliquez sur Next step et configurez les paramètres du pipeline.
Paramètre
Description
Pipeline Workers
Nombre de threads de travail pour les étapes de filtrage et de sortie. Augmentez cette valeur si les événements sont mis en attente ou si le CPU est sous-utilisé. Valeur par défaut : nombre de cœurs CPU.
Pipeline Batch Size
Nombre maximal d'événements qu'un worker collecte avant d'exécuter les filtres et les sorties. Des lots plus importants augmentent l'utilisation de la mémoire et peuvent nécessiter une taille de tas JVM plus grande (LS_HEAP_SIZE). Valeur par défaut : 125.
Pipeline Batch Delay
Temps d'attente en millisecondes avant de distribuer un lot de taille insuffisante à un thread de travail. Valeur par défaut : 50 ms.
Queue Type
Modèle de mise en file d'attente interne pour la mise en tampon des événements entre les étapes. Valeurs valides :
-
MEMORY : Valeur par défaut. Utilise une file d'attente en mémoire.
-
PERSISTED : File d'attente persistante basée sur le disque.
Queue Max Bytes
Quantité maximale de données que la file d'attente peut stocker, en
MB. La valeur doit être un entier compris entre1et253-1. Valeur par défaut :1024.RemarqueAssurez-vous que cette valeur est inférieure à votre capacité totale de disque.
Queue Checkpoint Writes
Nombre maximal d'événements écrits avant qu'un point de contrôle ne soit forcé (file d'attente persistante uniquement). 0 signifie aucune limite. Valeur par défaut : 1024.
AvertissementL'enregistrement et le déploiement de la configuration déclenchent un redémarrage de l'instance. Procédez uniquement si cela n'affecte pas vos activités.
-
-
Cliquez sur Save ou sur Save and Deploy.
Save : Enregistre la configuration du pipeline sans l'appliquer. Après l'enregistrement, vous revenez à la page Pipelines. Dans la section Pipelines, vous pouvez cliquer sur Deploy Now dans la colonne Actions pour redémarrer l'instance et appliquer la configuration.
Save and Deploy : Enregistre et déploie la configuration, en redémarrant l'instance pour appliquer les modifications.
-
Dans le message de réussite, cliquez sur OK. Consultez le pipeline nouvellement créé dans Pipelines.
Le pipeline est créé après le redémarrage de l'instance.
Modifier un pipeline
La modification et le déploiement d'un pipeline redémarrent l'instance. Effectuez cette opération uniquement si cela n'affecte pas vos activités.
Dans la section Pipelines, localisez le pipeline cible et cliquez sur Modify dans la colonne Actions.
Sur la page Modify, modifiez les Config Settings et les Pipeline Parameters. L'Pipeline ID ne peut pas être modifié.
Cliquez sur Save ou sur Save and Deploy. Le pipeline est modifié une fois le redémarrage de l'instance terminé.
Cloner un pipeline
Le clonage et le déploiement d'un pipeline redémarrent l'instance. Effectuez cette opération uniquement si cela n'affecte pas vos activités.
Dans la section Pipelines, localisez le pipeline cible et, dans la colonne Actions, cliquez sur .
Sur la page Copy, modifiez l'Pipeline ID. Les autres paramètres restent inchangés.
Cliquez sur Save ou sur Save and Deploy. Le pipeline est cloné une fois le redémarrage de l'instance terminé.
Supprimer un pipeline
Les pipelines supprimés ne peuvent pas être récupérés. Cette action interrompt les tâches de pipeline en cours d'exécution.
La suppression d'un pipeline déclenche une modification de l'instance. Effectuez cette opération uniquement si cela n'affecte pas vos activités.
Dans la section Pipelines, localisez le pipeline cible et, dans la colonne Actions, cliquez sur .
Dans la boîte de dialogue Delete, examinez l'avertissement de risque.
Cliquez sur Continue. Le pipeline est supprimé une fois la modification de l'instance terminée.
Documentation connexe
API de création de pipelines : CreatePipelines
Bonne pratique pour la migration des données Logstash : Migrer des données d'un cluster Elasticsearch autogéré vers un cluster Alibaba Cloud Elasticsearch à l'aide d'Alibaba Cloud Logstash
Synchroniser les données MySQL avec Logstash : Synchroniser les données d'une base de données ApsaraDB RDS for MySQL vers un cluster Elasticsearch à l'aide de Logstash
Synchroniser les données de journal avec Logstash : Guide d'utilisation du plugin logstash-input-sls
> Copy