
Introduction
Code sur Github: Elasticsearch et Beats
Nous allons installer Filebeat avec Elasticsearch et Kibana. Si vous n'avez pas encore configuré Elasticsearch et Kibana,suivez ces instructions.
Cette vidéo suppose que vous utilisez Certificats signés publiquement. Si vous utilisez Certificats auto-signés, va ici À déterminer.
Exigences
A Running instance of Elasticsearch and Kibana.
Une instance d’un autre serveur Ubuntu 20.04 exécutant n’importe quel type de service.
Mesures
Étape 1 - Télécharger Filebeat [01:10]
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/8.x/apt stable main' | sudo tee /etc/apt/sources.list.d/elastic-8.x.list;
apt-get install -y apt-transport-https;
apt-get install -y filebeat;
Étape 2 - Configurer Filebeat [02:20]
Modifiez ces champs pour le /etc/filebeat.yml
filebeat.inputs:
...etc...
- type: filestream
...etc...
enabled: true
...etc...
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: true
# 10s reload for demonstration purposes
reload.period: 10s
setup.kibana:
host: "https://<kibana-domain>:<kibana-port>"
output.elasticsearch:
hosts: ["<elasticsearch-domain>:<elasticsearch-port>"]
protocol: "https"
username: "elastic"
password: "<your elastic password>"
Le fichier filebeat.yml complété peut être trouvé ici.
IMPORTANT : nous utilisons le superutilisateur Elastic pour la configuration initiale. Nous rétrograderons ces 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 3 - Configuration de Filebeat [11:12]
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 4 - Créer un utilisateur de publication [12:58]
Créer un rôle
À 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
Créer un utilisateur
À Kibana, allez à Gestion de la pile > Utilisateurs > Créer un utilisateur. Remplissez ensuite ces champs :
Username: filebeat-publisher
Full name: filebeat-publisher
Email address: anything@anything.com
Password: anything
Roles: filebeat-publisher editor
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-publisher",
"password": "anything",
"api_key": {
"name": "filebeat-publisher"
}
}
Cela devrait produire un résultat comme :
Jeton utilisateur Filebeat
Erreur de frappe : le nom metric
devrait montrer filebeat-publisher
plutôt
Modifier le /etc/filebeat/filebeat.yml
en commentant le elastic
nom d'utilisateur et mot de passe et activation du api_key
comme ça:
output.elasticsearch:
...etc...
api_key: "${ES_API_KEY}"
#username: "elastic"
#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 5 - Exécuter Filebeat [19:00]
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.
Étape 6 – Activer d’autres modules de journalisation [22:30]
À ce stade, il n'y a pas beaucoup de journaux intéressants à consulter. Nous pouvons retourner sur le serveur Filebeat et accéder à /etc/filebeat/modules.d
répertoire et renommez le répertoire concerné *.yml.disabled
à *.yml
pour demander à Filebeat d'envoyer des données à Elasticsearch. Pour certains de ces services, vous devrez peut-être ajouter le fichier enabled: true
option à la *.yml
fichier ainsi que saisir les détails de connexion et de configuration appropriés.