
Introduction
Nous configurerons les pipelines Logstash via Elasticsearch et Kibana.
Nous supposons que vous disposez déjà d'Elasticsearch et que vous l'avez créé conformément à ce tutoriel.
Ce guide est basé sur ces documentations :
Gestion centralisée des pipelines Logstash
Configuration des pipelines centralisés
Exigences
Dans la vidéo, nous avons utilisé une instance d'Ubuntu 24.04 exécutée sur une machine virtuelle (VM) dotée de 8 Go de mémoire. La VM fonctionnera sur un réseau privé local. Nous installerons Elastic et Kibana Logstash sur ce serveur.
Mesures
Étape 1 - Créer un utilisateur Logstash
Cliquez pour Kibana > Gestion de la pile > Utilisateurs > Sécurité > Créer un utilisateur > Créer un utilisateur.
Créez ensuite un nouvel utilisateur appelé logstash_admin_user
et lui donner les rôles logstash_admin
et logstash_system
.
Étape 2 - Créer des pipelines
Cliquez pour Kibana > Gestion de la pile > Ingestion > Pipelines Logstash > Créer un pipeline.
Appelez le pipeline démo1 et insérez ce pipeline :
input {
file {
path => "/var/lib/logstash/data/customers.csv"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
csv {
separator => ","
skip_header => "true"
columns => ["email", "first_name", "last_name", "city", "county", "state", "zip", "web"]
}
mutate {
convert => { "zip" => "integer" }
}
}
output {
file { path => "/var/lib/logstash/testing/output.txt" }
}
Et créer un deuxième pipeline appelé démo2:
input {
file {
path => "/var/lib/logstash/data/tasks.csv"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
csv {
separator => ","
skip_header => "true"
columns => ["task_name", "task_description"]
}
}
output {
file { path => "/var/lib/logstash/testing/output.txt" }
}
Nous allons ensuite créer le contenu du test.
Étape 3 - Configuration de Logstash
Logstash a besoin de ces dépendances, alors exécutez ces commandes sur les deux si vous ne l'avez pas encore fait (par exemple, elles sont également utilisées par elasticsearch et kibana) :
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/9.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-9.x.list
apt-get update;
apt-get install -y apt-transport-https;
Installez maintenant Logstash :
apt-get install -y logstash;
Obtenez une copie de l'autorité de certification Elasticsearch :
mkdir /etc/logstash/certs
cp /etc/elasticsearch/certs/http_ca.crt /etc/logstash/certs
chown -R logstash:logstash /etc/logstash
Ajoutez ces lignes (ou modifiez celles existantes) :
xpack.management.enabled: true
xpack.management.pipeline.id: ["demo1", "demo2" ]
xpack.management.elasticsearch.username: logstash_admin_user
xpack.management.elasticsearch.password: ABCD1234
xpack.management.elasticsearch.hosts: ["https://192.168.88.7:9200"]
xpack.management.elasticsearch.ssl.certificate_authority: "/etc/logstash/certs/http_ca.crt"
Étape 4 – Créer des données de test
mkdir -p /var/lib/logstash/testing mkdir -p /var/lib/logstash/data cat > /var/lib/logstash/data/customers.csv <<EOL email,prénom,nom,ville,comté,état,code postal,web carol.davis@example.net,Carol,Davis,Seattle,King,WA,98101,www.caroldavisexample.net faizal@helloworldexample.com,Faizal,Gupta,Kingston,King,WA,93211,www.helloworldexample.com EOL cat > /var/lib/logstash/data/tasks.csv <<EOL nom_tâche,description_tâche faire ses devoirs,les enfants adorent faire leurs devoirs faire la vaisselle,papa adore faire la vaisselle EOL chown -R logstash:logstash /var/lib/logstash
Étape 5 - Démarrer Logstash
systemctl start logstash.service
Si tout fonctionne, vous devriez voir un nouveau fichier /var/lib/logstash/testing/output.txt
avec les résultats de sortie des deux demo1
et demo2
.