
Introduction
Il s'agit d'un suivi de l'utilisation APM binaire avec Elasticsearch et Kibana. Dans cet exemple, nous utiliserons Docker pour démarrer une application NodeJS, Elastic Agent avec Fleet Server, et Elasticsearch ainsi que Kibana comme serveur de journaux et visualiseur APM.
Une grande partie des explications concernant Docker se trouve dans ce document.Elasticsearch + Docker Compose : Explication complète vidéo.
Code de téléchargement :À venir
Exigences
- ELK - Ubuntu 24.04, 8 Go de mémoire
- Application - Ubuntu 24.04, 1 Go de mémoire
Mesures
Étape 1 - Installer Elasticsearch Kibana
Sur le serveur Elasticsearch, placez ceci installer.sh Déposez le script sur le serveur que vous souhaitez utiliser comme serveur de journalisation Elasticsearch Kibana APM.
Mettre à jour la variable baseip en haut du fichier, avec l'adresse IP de votre serveur Elasticsearch Kibana APM.
Courir chmod +x install.sh && ./install.sh
Une fois les opérations terminées, réinitialisez le elastic Mot de passe super utilisateur en exécutant /usr/share/elasticsearch/bin/elasticsearch-reset-password -i -u elastic.
Créez un jeton d'inscription avec cette commande /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana. Copiez le jeton d'inscription, vous en aurez besoin plus tard.
Taper systemctl status kibana pour obtenir l'URL que vous êtes censé visiter. Elle devrait ressembler à ceci :https://0.0.0.0/?code=129302. Visitez cette URL dans votre navigateur Web (Vous devrez peut-être remplacer le 0.0.0.0 avec l'adresse IP réelle de votre serveur Elasticsearch. Collez votre jeton d'inscription et soumettez-le.
Vous pouvez maintenant vous connecter à Elasticsearch et Kibana avec le mot de passe que vous avez créé pour elastic utilisateur.
Étape 2 - Configurer le protocole TLS pour le serveur de flotte
Depuis le serveur Elasticsearch, exécutez la commande suivante :
fleetip='ip.of.app.server'
mkdir -p /etc/certs
/usr/share/elasticsearch/bin/elasticsearch-certutil cert \
--out /etc/certs/fleet.zip \
--name fleet \
--ca-cert /etc/elasticsearch/certs/http_ca.crt \
--ca-key /etc/elasticsearch/certs/http_ca.key \
--ip $fleetip \
--pem;
Si vous choisissez d'utiliser des noms de domaine, remplacez --ip $fleetip avec --dns your.domain.or.hostname.
Exécutez ensuite ces commandes depuis votre serveur Elasticsearch :
fleetip='ip.of.app.server'
ssh root@$fleetip 'mkdir -p /etc/certs/elasticsearch/'
scp /etc/elasticsearch/certs/http_ca.crt root@$fleetip:/etc/certs/elasticsearch/http_ca.crt
scp /etc/certs/fleet.zip root@$fleetip:/etc/certs/
ssh root@$fleetip 'cd /etc/certs/ && unzip fleet.zip'
Étape 3 - Configuration du serveur de flotte
Allez à Kibana.
Aller à Flotte » Paramètres » Ajouter un serveur de flotte » Avancé.
Utilisez ces paramètres :
- Créer une stratégie de serveur de flotte (vous pouvez collecter des métriques système)
- Choisissez un mode de déploiement : Production
- Ajoutez l'hôte de votre serveur de flotte : Nom Tout ce que vous voulez, URL :
https://ip.address.of.app.server:8220, puis appuyez sur Add Host - Cliquez Générer un jeton de service
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-9.2.4-linux-x86_64.tar.gz
tar xzvf elastic-agent-9.2.4-linux-x86_64.tar.gz
cd elastic-agent-9.2.4-linux-x86_64
sudo ./elastic-agent install --url=https://{ip.of.app.server}:8220 \
--fleet-server-es=https://{ip.of.elasticsearch.kibana}:9200 \
--fleet-server-service-token={autogenerated} \
--fleet-server-policy=fleet-server-policy \
--fleet-server-es-ca-trusted-fingerprint={autogenerated} \
--certificate-authorities=/etc/certs/elasticsearch/http_ca.crt \
--fleet-server-cert=/etc/certs/fleet/fleet.crt \
--fleet-server-cert-key=/etc/certs/fleet/fleet.key \
--fleet-server-port=8220 \
--install-servers
Le --certificate-authorities est pour le ca qui a signé --fleet-server-cert.
Étape 4 - Configurer l'APM
Aller à Kibana » Intégrations » APM » Ajouter Elastic APM.
Utilisez ces champs :
- Nom de l'intégration :
Give a name - Hôte:
localhost: 8200 - URL :
http://localhost:8200 - Autorisation de l'agent » Jeton secret :
anything you want - Hôtes existants » Politiques des agents :
Fleet Server policy name from Step 3
Étape 5 - Installer l'application
Voir le Test des applications du guide du débutant installer et tester APM.
Étape 6 - Observer les services supplémentaires
L'avantage d'Elastic Agent et de Fleet Server réside dans leur capacité à surveiller un plus grand nombre de services. Prenons l'exemple du serveur web Apache2.
apt-get install -y apache2
Visitez maintenant http://ip.of.app.server pour vérifier que la page web fonctionne.
Aller à Kibana » Intégrations » Serveur HTTP Apache » Ajouter un serveur HTTP Apache.
Utilisez ces paramètres :
- Nom de l'intégration :
Give a name - Hôtes existants » Politiques des agents :
Fleet Server policy name from Step 3
Visitez le Serveur HTTP Apache » Ressources pour les visualisations.