- ClickHouse
- HyperDX
- collecteur OpenTelemetry (OTel)
- MongoDB
otel-collector :
13133: endpoint de contrôle d’état pour l’extensionhealth_check24225: récepteur Fluentd pour l’ingestion des logs4317: récepteur OTLP gRPC (standard pour les traces, les logs et les métriques)4318: récepteur OTLP HTTP (alternative à gRPC)8888: endpoint de métriques Prometheus pour superviser le collecteur lui-même
Adapté aux cas suivants
- Tests en local
- Preuves de concept
- Déploiements en production où la tolérance aux pannes n’est pas requise et où un seul serveur suffit pour héberger l’ensemble des données ClickHouse
- Déploiement de ClickStack avec un hébergement séparé de ClickHouse, par exemple via ClickHouse Cloud.
Étapes de déploiement
Cloner le dépôt
Pour déployer avec Docker Compose, clonez le dépôt ClickStack, placez-vous dans le répertoire et exécutezdocker-compose up :Accéder à la UI de HyperDX
Rendez-vous sur http://localhost:8080 pour accéder à la UI de HyperDX.Créez un utilisateur en indiquant un nom d’utilisateur et un mot de passe conformes aux exigences.Lorsque vous cliquez surCreate, des sources de données sont créées pour l’instance ClickHouse déployée avec Docker Compose.Remplacer la connexion par défautVous pouvez remplacer la connexion par défaut à l’instance ClickHouse intégrée. Pour plus de détails, consultez “Using ClickHouse Cloud”.
Renseigner les détails de connexion
Pour vous connecter à l’instance ClickHouse déployée, cliquez simplement sur Create et acceptez les paramètres par défaut.Si vous préférez vous connecter à votre propre cluster ClickHouse externe, par exemple ClickHouse Cloud, vous pouvez saisir manuellement vos identifiants de connexion.Si vous êtes invité à créer une source, conservez toutes les valeurs par défaut et renseignez le champTable avec la valeur otel_logs. Tous les autres paramètres devraient être détectés automatiquement, ce qui vous permettra de cliquer sur Save New Source.Modification des paramètres de Compose
Configurer l’OpenTelemetry collector
Utilisation de ClickHouse Cloud
-
Supprimer le service ClickHouse du fichier
docker-compose.yml. Cette étape est facultative à des fins de test, car l’instance ClickHouse déployée sera simplement ignorée, même si elle gaspillera des ressources locales. Si vous supprimez le service, assurez-vous également de supprimer toute référence à celui-ci, commedepends_on. -
Modifier l’OTel collector pour utiliser une instance ClickHouse Cloud en définissant les variables d’environnement
CLICKHOUSE_ENDPOINT,CLICKHOUSE_USERetCLICKHOUSE_PASSWORDdans le fichier compose. Plus précisément, ajoutez ces variables d’environnement au service OTel collector :CLICKHOUSE_ENDPOINTdoit être l’endpoint HTTPS de ClickHouse Cloud, y compris le port8443, par exemplehttps://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443 - Lorsque vous vous connectez à l’UI de HyperDX et créez une connexion à ClickHouse, utilisez vos identifiants Cloud.
Choix du schéma : Map vs JSON
Map(LowCardinality(String), String). Il s’agit du schéma recommandé pour les charges de travail d’observabilité. Associé à la sérialisation de map compartimentée et à des index textuels sur les clés et les valeurs de la map, il permet des recherches sélectives sans la surcharge d’ingestion par clé propre aux sous-colonnes JSON dynamiques.
Un schéma de type JSON est disponible en bêta pour évaluation sur des charges de travail avec un ensemble réduit et stable de clés d’attributs. Il n’est pas recommandé par défaut. Consultez Map vs JSON type pour la comparaison complète et les variables d’environnement requises pour activer la prise en charge de JSON.