Notre cloud d'intégration temporelle monitore les performances de vos données Temporal Cloud, vous aidant à diagnostiquer les problèmes dans votre workflow, votre espace de nommage et vos applications évolutives. Notre cloud d'intégration temporelle vous offre un dashboard prédéfini avec vos métriques les plus importantes du cloud temporel.

Après avoir configuré l'intégration avec New Relic, visualisez vos données dans un dashboard comme celui-ci, dès la sortie de la boîte.
Installer l' agent d'infrastructure
Pour utiliser le cloud d'intégration Temporel, vous devez d'abord installer l'agent infrastructure sur le même hôte. L'agent infrastructure monitore l'hôte lui-même, tandis que l'intégration que vous installerez à l'étape suivante étend votre monitoring avec des données spécifiques au temps telles que la base de données et les métriques instance .
Configure nri-flex
Une fois les métriques Temporal Cloud exposées sur le point de terminaison Prometheus, accessible via https://<account-id>.tmprl.cloud/prometheus
, vous devrez configurer votre configuration en conséquence.
Note
Flex nécessite un compte New Relic et est compatible avec le système d'exploitation/plateforme suivant :
Linux
Windows
Kubernetes
Pour plus d'informations sur les distributions et versions compatibles, consultez la page de compatibilité de l'agent de l'infrastructure.
Créez un fichier nommé
nri-flex-temporal-cloud-config.yml
dans ce chemin :bash$touch /etc/newrelic-infra/integrations.d/Vous trouverez ci-dessous un fichier de configuration
nri-flex
. Assurez-vous de copier et coller son contenu dans votre fichiernri-flex-temporal-cloud-config.yml
précédemment créé et n'oubliez pas de mettre à jour votre ID de compte dans l'URL du point de terminaison Prometheus, ainsi que les chemins d'accès aux fichiers de certificat :integrations:- name: nri-flexconfig:name: temporalCloudIntegrationglobal:base_url: https://<your_account_id>.tmprl.cloud/prometheus/api/v1/headers:accept: application/jsontls_config:enable: truekey: /certs/client.keycert: /certs/client.peminterval: 60stimeout: 55sapis:- event_type: temporalCloudFrontendServiceError# sum(increase(temporal_cloud_v0_frontend_service_error_count[1m])) by (temporal_namespace,operation)url: query?query=sum%28increase%28temporal_cloud_v0_frontend_service_error_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2Coperation%29split_array: trueleaf_array: true- event_type: temporalCloudFrontendServiceRequest# sum(increase(temporal_cloud_v0_frontend_service_request_count[1m])) by (temporal_namespace,operation)url: query?query=sum%28increase%28temporal_cloud_v0_frontend_service_request_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2Coperation%29split_array: trueleaf_array: true- event_type: temporalCloudPollSuccess# sum(increase(temporal_cloud_v0_poll_success_count[1m])) by (temporal_namespace,operation,task_type)url: query?query=sum%28increase%28temporal_cloud_v0_poll_success_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2Coperation%2Ctask_type%29split_array: trueleaf_array: true- event_type: temporalCloudPollSuccessSync# sum(increase(temporal_cloud_v0_poll_success_sync_count[1m])) by (temporal_namespace,operation,task_type)url: query?query=sum%28increase%28temporal_cloud_v0_poll_success_sync_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2Coperation%2Ctask_type%29split_array: trueleaf_array: true- event_type: temporalCloudPollTimeout# sum(increase(temporal_cloud_v0_poll_timeout_count[1m])) by (temporal_namespace,operation,task_type)url: query?query=sum%28increase%28temporal_cloud_v0_poll_timeout_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2Coperation%2Ctask_type%29split_array: trueleaf_array: true- event_type: temporalCloudResourceExhaustedErrors# sum(increase(temporal_cloud_v0_resource_exhausted_error_count[1m])) by (temporal_namespace,resource_exhausted_cause)url: query?query=sum%28increase%28temporal_cloud_v0_resource_exhausted_error_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2Cresource_exhausted_cause%29split_array: trueleaf_array: true- event_type: temporalCloudScheduleActionSuccess# sum(increase(temporal_cloud_v0_schedule_action_success_count[1m])) by (temporal_namespace)url: query?query=sum%28increase%28temporal_cloud_v0_schedule_action_success_count%5B1m%5D%29%29%20by%20%28temporal_namespace%29split_array: trueleaf_array: true- event_type: temporalCloudScheduleBufferOverruns# sum(increase(temporal_cloud_v0_schedule_buffer_overruns_count[1m])) by (temporal_namespace)url: query?query=sum%28increase%28temporal_cloud_v0_schedule_buffer_overruns_count%5B1m%5D%29%29%20by%20%28temporal_namespace%29split_array: trueleaf_array: true- event_type: temporalCloudScheduleMissedCatchupWindow# sum(increase(temporal_cloud_v0_schedule_missed_catchup_window_count[1m])) by (temporal_namespace)url: query?query=sum%28increase%28temporal_cloud_v0_schedule_missed_catchup_window_count%5B1m%5D%29%29%20by%20%28temporal_namespace%29split_array: trueleaf_array: true- event_type: temporalCloudScheduleRateLimited# sum(increase(temporal_cloud_v0_schedule_rate_limited_count[1m])) by (temporal_namespace)url: query?query=sum%28increase%28temporal_cloud_v0_schedule_rate_limited_count%5B1m%5D%29%29%20by%20%28temporal_namespace%29split_array: trueleaf_array: true- event_type: temporalCloudStateTransition# sum(increase(temporal_cloud_v0_state_transition_count[1m])) by (temporal_namespace)url: query?query=sum%28increase%28temporal_cloud_v0_state_transition_count%5B1m%5D%29%29%20by%20%28temporal_namespace%29split_array: trueleaf_array: true- event_type: temporalCloudTotalAction# sum(increase(temporal_cloud_v0_total_action_count[1m])) by (temporal_namespace, namespace_mode)url: query?query=sum%28increase%28temporal_cloud_v0_total_action_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2C%20namespace_mode%29split_array: trueleaf_array: true- event_type: temporalCloudWorkflowCancel# sum(increase(temporal_cloud_v0_workflow_cancel_count[1m])) by (temporal_namespace, operation)url: query?query=sum%28increase%28temporal_cloud_v0_workflow_cancel_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2C%20operation%29split_array: trueleaf_array: true- event_type: temporalCloudWorkflowContinued# sum(increase(temporal_cloud_v0_workflow_continued_as_new_count[1m])) by (temporal_namespace, operation)url: query?query=sum%28increase%28temporal_cloud_v0_workflow_continued_as_new_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2C%20operation%29split_array: trueleaf_array: true- event_type: temporalCloudWorkflowFailed# sum(increase(temporal_cloud_v0_workflow_failed_count[1m])) by (temporal_namespace, operation)url: query?query=sum%28increase%28temporal_cloud_v0_workflow_failed_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2C%20operation%29split_array: trueleaf_array: true- event_type: temporalCloudWorkflowSuccess# sum(increase(temporal_cloud_v0_workflow_success_count[1m])) by (temporal_namespace, operation)url: query?query=sum%28increase%28temporal_cloud_v0_workflow_success_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2C%20operation%29split_array: trueleaf_array: true- event_type: temporalCloudWorkflowTerminate# sum(increase(temporal_cloud_v0_workflow_terminate_count[1m])) by (temporal_namespace, operation)url: query?query=sum%28increase%28temporal_cloud_v0_workflow_terminate_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2C%20operation%29split_array: trueleaf_array: true- event_type: temporalCloudWorkflowTimeout# sum(increase(temporal_cloud_v0_workflow_timeout_count[1m])) by (temporal_namespace, operation)url: query?query=sum%28increase%28temporal_cloud_v0_workflow_timeout_count%5B1m%5D%29%29%20by%20%28temporal_namespace%2C%20operation%29split_array: trueleaf_array: true- event_type: temporalCloudWorkflowExecutionLatencySecP95# histogram_quantile(0.95, sum(rate(temporal_cloud_v0_service_latency_bucket[1m] offset 1m)) by (temporal_namespace, operation, le))url: query?query=histogram_quantile%280.95%2C%20sum%28rate%28temporal_cloud_v0_service_latency_bucket%5B1m%5D%20offset%201m%29%29%20by%20%28temporal_namespace%2C%20operation%2C%20le%29%29split_array: trueleaf_array: true- event_type: temporalCloudReplicationLagSecP95# histogram_quantile(0.95, sum(rate(temporal_cloud_v0_replication_lag_bucket[1m] offset 1m)) by (temporal_namespace, le))url: query?query=histogram_quantile%280.95%2C%20sum%28rate%28temporal_cloud_v0_replication_lag_bucket%5B1m%5D%20offset%201m%29%29%20by%20%28temporal_namespace%2C%20le%29%29split_array: trueleaf_array: trueUtilisez nos instructions pour redémarrer votre agent d'infrastructure:
bash$sudo systemctl restart newrelic-infra.serviceAttendez quelques minutes jusqu'à ce que les données commencent à arriver sur votre compte New Relic.
Trouvez vos données
Vous pouvez choisir notre modèle dashboard prédéfini nommé Temporal Cloud pour monitorer vos métriques Temporal Cloud. Suivez ces étapes pour utiliser notre modèle dashboard prédéfini :
De one.newrelic.com, allez sur la page + Integrations & Agents .
Cliquez sur Dashboards.
Dans la barre de recherche, tapez Temporal Cloud.
Le dashboard du Cloud temporel devrait apparaître. Cliquez dessus pour l'installer.
Votre Temporal Cloud dashboard est considéré comme un dashboard personnalisé et peut être trouvé dans l'UI Dashboards . Pour obtenir des documents sur l'utilisation et la modification du dashboard, consultez notre documentation dashboard .
Voici une requête NRQL pour vérifier les requests du service frontend Temporal Cloud regroupées par espace de nommage et opération :
FROM temporalCloudFrontendServiceRequest SELECT latest(`data.result-value1`) FACET `data.result-metric-temporal_namespace` AS namespace, `data.result-metric-operation` AS operation TIMESERIES 1 minute
Quelle est la prochaine étape ?
Pour en savoir plus sur la création de requêtes NRQL et la génération de dashboards, consultez ces documents :
- Introduction au générateur de requêtes pour créer des requêtes basiques et avancées.
- Introduction au dashboard pour personnaliser votre dashboard et effectuer différentes actions.
- Gérez votre dashboard pour ajuster votre mode d'affichage du dashboard ou pour ajouter plus de contenu à votre dashboard.