AvertissementLa prise en charge d’OpenMetrics sur la plateforme Temporal est disponible en préversion publique. Consultez leur documentation pour plus d’informations.
TL;DRSurveillez les métriques de Temporal Cloud dans ClickStack à l’aide du receiver Prometheus d’OTel. Inclut un tableau de bord préconfiguré.
Intégration avec une instance existante de Temporal Cloud
Prérequis
- Instance ClickStack en cours de fonctionnement
- Compte Temporal Cloud existant
- Accès réseau HTTP depuis ClickStack vers votre Temporal Cloud
Créer une clé Temporal Cloud
Assurez-vous de disposer d’une clé d’API Temporal Cloud. Vous pouvez la créer en suivant le guide d’authentification de la documentation Temporal.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. La configuration personnalisée est fusionnée avec la configuration de base gérée par HyperDX via OpAMP.Créez un fichier nommétemporal-metrics.yaml avec la configuration suivante :temporal-metrics.yaml
- Se connecte à Temporal Cloud à l’adresse
metrics.temporal.io - Collecte des métriques toutes les 60 secondes
- Collecte les principales métriques de performance
- Définit l’attribut de ressource
service.namerequis conformément aux conventions sémantiques d’OpenTelemetry - Achemine les métriques vers l’exportateur ClickHouse via un pipeline dédié
- Vous ne définissez que de nouveaux receivers, processeurs et pipelines dans la configuration personnalisée
- Les processeurs
memory_limiteretbatch, ainsi que l’exportateurclickhouse, sont déjà définis dans la configuration de base de ClickStack ; il vous suffit de les référencer par leur nom - Le processeur
resourcedéfinit l’attributservice.namerequis conformément aux conventions sémantiques d’OpenTelemetry - Si vous avez plusieurs comptes Temporal Cloud, personnalisez
service.namepour les distinguer (par exemple,"temporal-prod"et"temporal-dev")
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é dans
/etc/otelcol-contrib/custom.config.yaml - Définir la variable d’environnement
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - Monter le fichier
temporal.keydans/etc/otelcol-contrib/temporal.key - Assurer la connectivité réseau entre ClickStack et Temporal
temporal-metrics.yaml et temporal.key.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 :Vérifier les métriques dans HyperDX
Une fois la configuration terminée, connectez-vous à HyperDX et vérifiez que les métriques remontent bien :- Accédez à Metrics Explorer
- Recherchez les métriques commençant par
temporal(par ex.,temporal_cloud_v1_workflow_success_count,temporal_cloud_v1_poll_timeout_count) - Vous devriez voir des points de données apparaître à l’intervalle de collecte configuré
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 l’angle supérieur droit, sous le menu à trois points
- Téléversez le fichier
temporal-metrics-dashboard.json, puis cliquez sur Finish Import
Afficher le tableau de bord
Le tableau de bord sera créé avec toutes les visualisations déjà configurées :Dépannage
La configuration personnalisée ne se charge pas
CUSTOM_OTELCOL_CONFIG_FILE est correctement définie :
/etc/otelcol-contrib/custom.config.yaml :
temporal.key est bien monté dans le conteneur :
Aucune métrique ne s’affiche dans HyperDX
Erreurs d’authentification
Problèmes de connectivité réseau
docker run autorisent l’accès au réseau externe.
Prochaines étapes
- Configurez des alertes pour les métriques critiques (taux d’échec des workflows, croissance du backlog de tâches, latence entre la planification et le démarrage)
- Créez des tableaux de bord supplémentaires pour des cas d’usage spécifiques (surveillance au niveau de l’espace de noms, performances par type de workflow)
- Surveillez plusieurs comptes Temporal Cloud en dupliquant la configuration du receiver avec différents endpoints et noms de service