
Introduction
Nous allons installer Filebeat avec Elasticsearch et Kibana 9.x. Si vous n'avez pas encore configuré Elasticsearch et Kibana,suivez ces instructions.
Télécharger le code depuis github
Sur cette base documentation
Exigences
A Running instance of Elasticsearch and Kibana.
Une instance d'un autre serveur Ubuntu 24.04 exécutant n'importe quel type de service.
Mesures
Étape 1 - Installer Filebeat
Sur la machine Ubuntu qui exécutera Filebeat, exécutez ces commandes pour télécharger les dépendances :
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;
apt-get install -y filebeat;
Étape 2 - Activer les modules de journalisation
Aller à la /etc/filebeat/modules.d
répertoire. Sélectionnez les types de journaux pour lesquels vous souhaitez activer la journalisation en renommant le répertoire correspondant.*.yml.disabled
à *.yml
. Pour certains de ces services, vous devrez peut-être ajouter le enabled: true
option à la *.yml
fichier ainsi que saisir les détails de connexion et de configuration appropriés.
Étape 3 - Créer un rôle de configuration
Référence pour le rôle de configuration
À Kibana, allez à Gestion de la pile > Rôles > Créer un rôle. Remplissez ensuite ces champs :
Role name: filebeat_setup
Cluster privileges: monitor manage_ilm
Indices: filebeat-*
Privileges: manage
Étape 4 - Créer un utilisateur Filebeat
À Kibana, allez à Gestion de la pile > Utilisateurs > Créer un utilisateur. Remplissez ensuite ces champs :
Username: filebeat_user
Full name: filebeat_user
Email address: anything@anything.com
Password: anything
Roles: filebeat_setup kibana_admin ingest_admin
Appuyez sur Enregistrer.
Étape 5 - Configurer Filebeat
Modifiez ces champs pour le /etc/filebeat.yml
setup.kibana:
host: "https://<kibana-domain>:<kibana-port>"
ssl.certificate_authorities: ["/path/to/http_ca.crt"]
output.elasticsearch:
hosts: ["<elasticsearch-domain-or-ip>:<elasticsearch-port>"]
protocol: "https"
username: "filebeat_user"
password: "<your filebeat_user password>"
ssl.certificate_authorities: ["/path/to/http_ca.crt"]
setup.ilm.check_exists: false
Le fichier filebeat.yml complété peut être trouvé ici.
IMPORTANT : nous utilisons l'utilisateur « configuration » pour la configuration initiale. Nous modifierons les privilèges ultérieurement.
Testez ensuite votre configuration avec ces commandes :
/usr/share/filebeat/bin/filebeat test config -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat
/usr/share/filebeat/bin/filebeat test output -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat
Confirmez que vous recevez des messages de réussite.
Étape 6 - Configuration de Filebeat
Exécutez maintenant cette commande pour configurer les flux de données et les vues Filebeat dans Elasticsearch et Kibana :
/usr/share/filebeat/bin/filebeat setup -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat
Une fois la commande terminée, allez sur Kibana Menu et visiter Tableau de bord pour voir de nombreux tableaux de bord pré-fabriqués.
Étape 7 – Créer un rôle de publication
Référence pour le rôle de publication
À Kibana, allez à Gestion de la pile > Rôles > Créer un rôle. Remplissez ensuite ces champs :
Role name: filebeat_publisher
Cluster privileges: monitor read_ilm read_pipeline
Indices: filebeat-*
Privileges: create_doc auto_configure
Étape 8 - Modifier le rôle de Filebeat
Supprimer les rôles précédents pour filebeat_user
et définissez simplement ceci :
Roles: filebeat_publisher
Appuyez sur Enregistrer.
Créer une clé API pour l'utilisateur
À Kibana, allez à Outils de développement > Console. Exécutez ensuite cette commande :
POST /_security/api_key/grant
{
"grant_type": "password",
"username": "filebeat_user",
"password": "anything",
"api_key": {
"name": "filebeat_user"
}
}
Cela devrait produire un résultat comme :
{
"id": "J3oInZgBRvUg0VanE8wj",
"name": "filebeat_user",
"api_key": "6Wwht52HgB-M8reGwXUM6g",
"encoded": "SjNvSW5aZ0JSdlVnMFZhbkU4d2o6Nld3aHQ1MkhnQi1NOHJlR3dYVU02Zw=="
}
Modifier le /etc/filebeat/filebeat.yml
en commentant le filebeat_user
nom d'utilisateur et mot de passe et activation du api_key
comme ça:
output.elasticsearch:
...etc...
api_key: "${ES_API_KEY}"
#username: "filebeat_user"
#password: ""
...etc...
Nous utiliserons le keystore Filebeat pour charger les secrets à l'exécution. Exécutez maintenant cette commande pour définir ES_API_KEY
variable de magasin de clés :
/usr/share/filebeat/bin/filebeat keystore add ES_API_KEY -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat
Presse entrer et lorsque vous y êtes invité, collez <id>:<api_key>
où le <id>
et le <api_key>
sont les valeurs de la réponse du jeton utilisateur que vous avez obtenue précédemment.
Étape 9 - Exécuter Filebeat
systemctl enable filebeat;
systemctl start filebeat;
Dans un instant, vous devriez commencer à voir des résultats dans Kibana dans l'un ou l'autre Découvrir, Observabilité, Gestion de la pile > Gestion des index > Flux de données, Tableau de bord > Sélectionnez un tableau de bord Filebeat.
Note finale
Chaque fois que vous activez un nouveau module dans modules.d
, tu dois courir systemctl restart filebeat
. systemctl restart filebeat
peut déclencher des actions en arrière-plan similaires à installation ce qui signifie que l'utilisateur dans votre filebeat.yml
devrait avoir le installation privilèges mentionnés à l'étape 3. Si vous ne souhaitez pas exécuter manuellement systemctl restart filebeat
après des changements dans le modules.d
répertoire, vous pouvez demander à Filebeat de charger automatiquement les modules nouvellement activés en définissant cette propriété sur true
: filebeat.config.modules.reload.enabled: true
. Encore une fois, assurez-vous que l'utilisateur dans filebeat.yml
a le installation privilèges.