En brefCollectez et visualisez les logs système d’EC2 dans ClickStack à l’aide de l’OpenTelemetry Collector, avec enrichissement automatique des métadonnées EC2 (ID d’instance, région, AZ, type d’instance). Inclut un jeu de données de démonstration et un tableau de bord préconfiguré.
Intégration avec une instance EC2 existante
Vous exécutez ClickStack sur la même instance EC2 ?Si ClickStack s’exécute sur la même instance EC2 dont vous souhaitez surveiller les logs, vous pouvez utiliser l’approche tout-en-un, comme dans le guide des logs d’hôte génériques. Montez
/var/log dans le conteneur ClickStack et ajoutez le processeur resourcedetection à votre config personnalisée pour capturer automatiquement les métadonnées EC2. Ce guide se concentre sur l’architecture distribuée, plus courante pour les déploiements en production.Prérequis
- Instance ClickStack en cours d’exécution (peut être sur site, dans le Cloud ou en local)
- Instance EC2 en cours d’exécution (Ubuntu, Amazon Linux ou autre distribution Linux)
- Connectivité réseau entre l’instance EC2 et l’endpoint OTLP de ClickStack (port 4318 pour HTTP ou 4317 pour gRPC)
- Service de métadonnées de l’instance EC2 accessible (activé par défaut)
Vérifiez que les métadonnées EC2 sont accessibles
Depuis votre instance EC2, vérifiez que le service de métadonnées est accessible :- Que le service de métadonnées d’instance est activé
- Qu’IMDSv2 n’est pas bloqué par des groupes de sécurité ou des ACL réseau
- Que vous exécutez ces commandes depuis l’instance EC2 elle-même
Les métadonnées EC2 sont accessibles à l’adresse
http://169.254.169.254 depuis l’instance. Le processeur resourcedetection d’OpenTelemetry utilise ce point de terminaison pour enrichir automatiquement les logs avec le contexte cloud.Vérifiez que les fichiers syslog existent
Vérifiez que votre instance EC2 génère des fichiers syslog :Installer l’OpenTelemetry Collector
Installez la distribution Contrib de l’OpenTelemetry Collector sur votre instance EC2 :Créer la configuration du collector
Créez un fichier de configuration pour l’OpenTelemetry Collector dans/etc/otelcol-contrib/config.yaml :- Linux moderne (Ubuntu 24.04+)
- Linux legacy (Amazon Linux 2, RHEL, anciennes versions d'Ubuntu)
Remplacez les éléments suivants dans la configuration :
YOUR_CLICKSTACK_HOST: le nom d’hôte ou l’adresse IP sur lequel ClickStack s’exécute- Pour les tests en local, vous pouvez utiliser un tunnel SSH (voir la section Dépannage)
- Lit les fichiers de log système aux emplacements standard (
/var/log/syslogpour Ubuntu,/var/log/messagespour Amazon Linux/RHEL) - Analyse le format syslog pour en extraire des champs structurés (horodatage, nom d’hôte, unité/service, PID, message)
- Détecte et ajoute automatiquement les métadonnées EC2 à l’aide du processeur
resourcedetection - Peut inclure les tags EC2 (Name, Environment, Team) s’ils sont présents
- Envoie les logs à ClickStack via OTLP HTTP
Enrichissement des métadonnées EC2Le processeur
resourcedetection ajoute automatiquement les attributs suivants à chaque log :cloud.provider: “aws”cloud.platform: “aws_ec2”cloud.region: région AWS (p. ex., “us-east-1”)cloud.availability_zone: zone de disponibilité (p. ex., “us-east-1a”)cloud.account.id: ID du compte AWShost.id: ID d’instance EC2 (p. ex., “i-1234567890abcdef0”)host.type: type d’instance (p. ex., “t3.medium”)host.name: nom d’hôte de l’instance
Définir la clé API ClickStack
Exportez votre clé API ClickStack comme variable d’environnement :Démarrer le collector
Démarrez l’OpenTelemetry Collector :Pour une utilisation en productionConfigurez le collecteur pour qu’il s’exécute en tant que service systemd afin qu’il démarre automatiquement au démarrage du système et redémarre en cas d’échec. Consultez la documentation de l’OpenTelemetry Collector pour plus de détails.
Vérifier les logs dans HyperDX
Une fois le collector en cours d’exécution, connectez-vous à HyperDX et vérifiez que les logs remontent avec les métadonnées EC2 :- Accédez à la vue Search
- Définissez la source sur
Logs - Filtrez sur
source:ec2-host-logs - Cliquez sur un log pour l’ouvrir
- Vérifiez que les métadonnées EC2 apparaissent dans les resource attributes :
cloud.providercloud.regionhost.id(ID d’instance)host.type(type d’instance)cloud.availability_zone
Jeu de données de démonstration
Télécharger le jeu de données d’exemple
Téléchargez le fichier de logs d’exemple :- Séquence de démarrage du système
- Activité de connexion SSH (tentatives réussies et échouées)
- Incident de sécurité (attaque par force brute avec intervention de fail2ban)
- Maintenance planifiée (tâches cron, anacron)
- Redémarrages de services (rsyslog)
- Messages du noyau et activité du pare-feu
- Mélange d’opérations normales et d’événements marquants
Créer la configuration du collector de test
Créez un fichier nomméec2-host-logs-demo.yaml contenant la configuration suivante :Pour la démonstration, nous ajoutons manuellement les métadonnées EC2 à l’aide du processeur
resource. En production, avec de véritables instances EC2, utilisez le processeur resourcedetection, qui interroge automatiquement l’API des métadonnées EC2.Exécuter ClickStack avec la configuration de démonstration
Exécutez ClickStack avec les logs et la configuration de démonstration :Vérifier les logs dans HyperDX
Une fois le collector démarré :- Ouvrez HyperDX et connectez-vous à votre compte (vous devrez peut-être d’abord en créer un)
- Accédez à la vue de recherche et définissez la source sur
Logs - Définissez l’intervalle de temps sur 2025-11-10 00:00:00 - 2025-11-13 00:00:00
- Filtrez sur
source:ec2-demo - Développez une entrée de log pour afficher les métadonnées EC2 dans les attributs de ressource
Affichage du fuseau horaireHyperDX affiche les timestamps dans le fuseau horaire local de votre navigateur. Les données de démonstration couvrent 2025-11-11 00:00:00 - 2025-11-12 00:00:00 (UTC). Cet intervalle de temps étendu garantit que vous verrez les logs de démonstration, quel que soit votre emplacement. Une fois les logs affichés, vous pouvez réduire l’intervalle à une période de 24 heures pour obtenir des visualisations plus claires.
- ID d’instance :
i-0abc123def456789 - Région :
us-east-1 - Zone de disponibilité :
us-east-1a - Type d’instance :
t3.medium
Tableaux de bord et visualisations
la configuration du tableau de bord
Importer le tableau de bord préconfiguré
- Ouvrez HyperDX et accédez à la section Tableaux de bord
- Cliquez sur Importer le tableau de bord dans le coin supérieur droit, sous le menu à trois points
- Téléversez le fichier
host-logs-dashboard.jsonet cliquez sur Terminer l’import
Afficher le tableau de bord
Le tableau de bord sera créé avec toutes les visualisations préconfigurées :Vous pouvez filtrer les visualisations du tableau de bord en fonction du contexte EC2 :cloud.region:us-east-1- Afficher les logs d’une région spécifiquehost.type:t3.medium- Filtrer par type d’instancehost.id:i-0abc123def456- Logs d’une instance spécifique
Pour le jeu de données de démonstration, définissez l’intervalle de temps sur 2025-11-11 00:00:00 - 2025-11-12 00:00:00 (UTC) (ajustez-le en fonction de votre fuseau horaire local). Le tableau de bord importé n’aura pas d’intervalle de temps défini par défaut.
Dépannage
Les métadonnées EC2 n’apparaissent pas dans les logs
- Le service de métadonnées d’instance est activé
- IMDSv2 n’est pas bloqué par des groupes de sécurité
- Le collector s’exécute sur l’instance EC2 elle-même
Aucun log ne s’affiche dans HyperDX
Les logs sont mal analysés
Le collecteur ne démarre pas comme service systemd
- API key incorrectement définie dans l’environnement
- Erreurs de syntaxe dans le fichier de configuration
- Problèmes d’autorisation lors de la lecture des fichiers de log
Étapes suivantes
- Configurez des alertes pour les événements système critiques (pannes de service, échecs d’authentification, alertes liées au disque)
- Filtrez selon les attributs des métadonnées EC2 (région, type d’instance, ID d’instance) afin de surveiller des ressources spécifiques
- Corrélez les logs d’hôte EC2 avec les logs d’application pour un dépannage plus complet
- Créez des tableaux de bord personnalisés pour la surveillance de la sécurité (tentatives SSH, utilisation de sudo, blocages du pare-feu)