En brefCollectez et visualisez les logs du journal systemd dans ClickStack à l’aide du receiver journald de l’OpenTelemetry Collector. Comprend un jeu de données de démonstration et un tableau de bord préconfiguré.
Intégration avec les systèmes existants
Prérequis
- Une instance ClickStack en cours d’exécution
- Système Linux avec systemd (Ubuntu 16.04+, CentOS 7+, Debian 8+)
- Docker ou Docker Compose installé sur le système surveillé
Obtenir la clé API ClickStack
L’OpenTelemetry Collector envoie les données vers le point de terminaison OTLP de ClickStack, qui nécessite une authentification.- Ouvrez HyperDX à l’URL de votre instance ClickStack (par ex. http://localhost:8080)
- Créez un compte ou connectez-vous si nécessaire
- Accédez à Team Settings → API Keys
- Copiez votre Ingestion API Key
- Définissez-la comme variable d’environnement :
Vérifier que le journal systemd est actif
Assurez-vous que votre système utilise systemd et dispose de journaux journalctl :Créer la configuration de l’OpenTelemetry Collector
Créez un fichier de configuration pour l’OpenTelemetry Collector :Déployer avec Docker Compose
Le receiver
journald nécessite le binaire journalctl pour lire les fichiers du journal. L’image officielle otel/opentelemetry-collector-contrib n’inclut pas journalctl par défaut.Pour les déploiements conteneurisés, vous pouvez soit installer le collector directement sur l’hôte, soit créer une image personnalisée avec les utilitaires systemd. Consultez la section de dépannage pour plus de détails.Vérifier les logs dans HyperDX
Une fois la configuration en place, connectez-vous à HyperDX et vérifiez que les logs arrivent bien :- Accédez à la vue Search
- Définissez la source sur Logs
- Filtrez sur
service.name:systemd-logs - Vous devriez voir des entrées de log structurées avec des champs comme
unit,priority,MESSAGE,_HOSTNAME
Jeu de données de démonstration
Créer une configuration de collector de démonstration
Créez un fichier de configuration pour la démonstration :Exécuter ClickStack avec les données de démonstration
Démarrez ClickStack avec les logs de démonstration :La démonstration utilise le receiver
filelog avec des logs texte au lieu de journald, afin d’éviter d’avoir à utiliser journalctl dans le conteneur.Vérifier les logs dans HyperDX
Une fois ClickStack démarré :- Ouvrez HyperDX et connectez-vous à votre compte
- Accédez à la vue Search et définissez la source sur
Logs - Définissez l’intervalle de temps sur 2025-11-14 00:00:00 - 2025-11-17 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 la période 2025-11-15 00:00:00 - 2025-11-16 00:00:00 (UTC). Cet intervalle de temps élargi vous permet de voir les logs de démonstration où que vous soyez.
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 Dashboards
- Cliquez sur Import Dashboard dans l’angle supérieur droit, sous les points de suspension
- Téléversez le fichier
systemd-logs-dashboard.json, puis cliquez sur Finish Import
Afficher le tableau de bord
Le tableau de bord comprend des visualisations pour :- Le volume de logs au fil du temps
- Les principales unités systemd par nombre de logs
- Les événements d’authentification SSH
- Les défaillances de service
- Les taux d’erreur
Pour le jeu de données de démonstration, définissez l’intervalle de temps sur 2025-11-15 00:00:00 - 2025-11-16 00:00:00 (UTC) (à ajuster selon votre fuseau horaire local).
Dépannage
Aucun log n’apparaît dans HyperDX
erreur « journalctl introuvable »
exec: "journalctl": executable file not found in $PATH :
L’image otel/opentelemetry-collector-contrib n’inclut pas journalctl. Vous pouvez :
- Installer le collector sur l’hôte :
- Utilisez l’approche par exportation de texte (comme dans la démo) avec le receiver
filelogqui lit les exports journald
Étapes suivantes
- Configurez des alertes pour les événements système critiques (pannes de services, échecs d’authentification, arrêts OOM)
- Créez des tableaux de bord supplémentaires pour des cas d’utilisation spécifiques (surveillance de la sécurité SSH, état de santé des services)
- Filtrez sur des unités systemd spécifiques pour réduire le bruit et vous concentrer sur les services essentiels
Mise en production
systemd et les envoyer à l’endpoint OTLP de ClickStack, ce qui constitue l’architecture recommandée en production.
Pour les environnements de production avec plusieurs hôtes, envisagez :
- de déployer le collector sous forme de DaemonSet dans Kubernetes
- d’exécuter le collector en tant que service
systemdsur chaque hôte - de recourir à l’OpenTelemetry Operator pour automatiser le déploiement