TL;DRCollectez et visualisez les logs système de l’hôte (syslog, auth, kernel) dans ClickStack à l’aide du receiver
filelog d’OTel. Inclut un jeu de données de démonstration et un tableau de bord préconfiguré.Intégration avec des hôtes existants
Prérequis
- Instance ClickStack en cours d’exécution
- Système avec des fichiers syslog
- Accès requis pour modifier les fichiers de configuration de ClickStack
Vérifiez la présence des fichiers syslog
Commencez par vérifier que votre système génère bien des fichiers syslog :- Ubuntu/Debian:
/var/log/syslog - RHEL/CentOS/Fedora:
/var/log/messages - macOS:
/var/log/system.log
Créer une configuration personnalisée de l’OTel collector
ClickStack vous permet d’étendre la configuration de base de l’OpenTelemetry Collector en montant un fichier de configuration personnalisé et en définissant une variable d’environnement.Créez un fichier nomméhost-logs-monitoring.yaml avec la configuration de votre système :- Linux moderne (Ubuntu 24.04+)
- Linux hérité (Ubuntu 20.04, RHEL, CentOS)
- macOS
Toutes les configurations :
- Lire les fichiers syslog depuis leurs emplacements standard
- Analyser le format syslog pour extraire des champs structurés (horodatage, nom d’hôte, unité/service, PID, message)
- Préserver les horodatages d’origine des logs
- Ajouter l’attribut
source: host-logspour le filtrage dans HyperDX - Acheminer les logs vers le ClickHouse exporter via un pipeline dédié
- Vous définissez uniquement de nouveaux receivers et pipelines dans la configuration personnalisée
- Les processors (
memory_limiter,transform,batch) et les exporters (clickhouse) sont déjà définis dans la configuration de base de ClickStack - vous n’avez qu’à les référencer par leur nom - Le parseur Regex extrait les noms des unités systemd, les PID et d’autres métadonnées du format syslog
- Cette configuration utilise
start_at: endpour éviter de réingérer les logs au redémarrage du collector. Pour les tests, remplacez-le parstart_at: beginningpour afficher immédiatement les logs historiques.
Configurer ClickStack pour charger une configuration personnalisée
Pour activer une configuration personnalisée du collecteur dans votre déploiement ClickStack existant, vous devez :- Monter le fichier de configuration personnalisé sur
/etc/otelcol-contrib/custom.config.yaml - Définir la variable d’environnement
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - Monter votre répertoire syslog afin que le collecteur puisse y accéder
Option 1 : Docker Compose
Mettez à jour la configuration de votre déploiement ClickStack :Option 2 : Docker Run (image tout-en-un)
Si vous utilisez l’image tout-en-un avec docker run :Assurez-vous que le collecteur ClickStack dispose des autorisations appropriées pour lire les fichiers syslog. En production, utilisez des montages en lecture seule (
:ro) et respectez le principe du moindre privilège.Vérifier les logs dans HyperDX
Une fois la configuration terminée, connectez-vous à HyperDX et vérifiez que les logs arrivent bien :- Accédez à la vue Search
- Définissez la source sur Logs
- Filtrez sur
source:host-logspour afficher les logs spécifiques à l’hôte - Vous devriez voir des entrées de logs structurées avec des champs tels que
unit,hostname,pid,message, etc.
Jeu de données de démonstration
Télécharger le jeu de données d’exemple
Téléchargez le fichier log 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 réponse de fail2ban)
- Maintenance planifiée (tâches cron, anacron)
- Redémarrages de service (rsyslog)
- Messages du noyau et activité du pare-feu
- Mélange d’opérations normales et d’événements notables
Créer une configuration de collector de test
Créez un fichier nomméhost-logs-demo.yaml avec la configuration suivante :Exécuter ClickStack avec la configuration de démonstration
Exécutez ClickStack avec les logs de démonstration et cette configuration :Le fichier log est ici monté directement dans le conteneur. Cela est uniquement destiné aux tests avec des données de démonstration statiques.
Vérifier les logs dans HyperDX
Une fois ClickStack démarré :- Ouvrez HyperDX et connectez-vous à votre compte (vous devrez peut-être d’abord en créer un)
- Accédez à la vue Search 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
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 large vous garantit de voir les logs de démonstration, où que vous soyez. Une fois les logs affichés, vous pouvez réduire la plage à une période de 24 heures pour obtenir des visualisations plus claires.
Tableaux de bord et visualisation
la configuration du tableau de bord
Importer le tableau de bord préconfiguré
- Ouvrez HyperDX et accédez à la section Dashboards
- Cliquez sur Import Dashboard dans le coin supérieur droit, dans le menu à trois points
- Téléversez le fichier
host-logs-dashboard.jsonet cliquez sur Finish Import
Afficher le tableau de bord
Le tableau de bord sera créé avec toutes les visualisations préconfigurées :Les principales visualisations sont les suivantes :- Volume des logs au fil du temps, par niveau de gravité
- Principales unités systemd générant des logs
- Activité des connexions SSH (réussies ou échouées)
- Activité du pare-feu (bloquées ou autorisées)
- Événements de sécurité (connexions échouées, bannissements, blocages)
- Activité de redémarrage des services
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
La config personnalisée ne se charge pas
Aucun log ne s’affiche dans HyperDX
Les logs ne sont pas correctement analysés
Étapes suivantes
- Configurez des alertes pour les événements système critiques (défaillances de service, échecs d’authentification, alertes liées au disque)
- Filtrez sur des unités spécifiques pour surveiller certains services
- Corrélez les logs hôte avec les logs d’application pour un dépannage 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)