Conseil
Cette procédure fait partie du cours qui vous apprend à créer un quickstart. Si vous ne l’avez pas déjà fait, consultez l’ introduction du cours.
Comme cette procédure s’appuie sur les dernières du laboratoire, assurez-vous de créer des alertes et de comprendre la structure du répertoire de démarrage rapide avant de procéder à celle-ci.
Dans une procédure précédente, vous avez créé des alertes pour vous avertir en cas de problème avec FlashDB. Maintenant, ajoutez-le à votre quickstart pour que votre utilisateur puisse également l'utiliser.
Si vous ne l’avez pas déjà fait, créez un fork du référentiel de démarrage rapide New Relic et clonez-le sur votre machine locale.
Ouvrez votre projet dans l'IDE de votre choix et accédez au répertoire \_template
.
Ici, copiez le répertoire alert-policies/example-alert-policy
et son contenu dans le répertoire alert-policies
au niveau racine. Renommez le répertoire en flashdb
.
Ce répertoire contient des exemples de fichiers YAML pour les alertes statiques et de base de référence afin de contribuer aux alertes correspondantes à New Relic I/O. Pour vous aider à remplir vos fichiers yaml, vous pouvez utiliser l'explorateur d'API NerdGraph de New Relic pour obtenir une représentation JSON de chaque condition d'alerte.
Conseil
NerdGraph est l'API GraphQL de New Relic.
Remplissez votre configuration d'alerte avec NerdGraph
NerdGraph vous permet d'interroger vos alertes existantes et vous aide à les configurer dans votre quickstart. Pour remplir votre configuration d'alerte avec NerdGraph, vous devez d'abord rechercher son identifiant.
Sous votre règle d'alerte, cliquez sur la condition pour obtenir son identifiant.
Avec cet identifiant, vous pouvez désormais interroger votre condition d'alerte et utiliser la réponse pour créer des ressources d'alerte dans votre quickstart.
requête condition d'alerte dans NerdGraph
Ouvrez l'explorateur NerdGraph et sélectionnez votre clé dans le menu déroulant.
Construire une requête est simple dans l'explorateur. Cochez les cases appropriées pour créer une requête GraphQL ou copiez la requête GraphQL suivante et collez-la dans le volet central de l'explorateur pour interroger une condition d'alerte statique.
{ actor { account(id: REPLACE_ACCOUNT_ID) { alerts { nrqlCondition(id: REPLACE_CONDITION_ID) { ... on AlertsNrqlStaticCondition { id name nrql { query } } terms { operator priority threshold thresholdDuration thresholdOccurrences } } } } }}
Ici, vous interrogez AlertsNrqlStaticCondition
pour connaître l'ID, le nom, la requête et plus encore de votre condition. Voici les champs obligatoires dont vous avez besoin pour créer la même alerte dans votre quickstart.
Important
Assurez-vous de remplacer votre identifiant de compte et votre identifiant de condition dans la requête ci-dessus.
Exécutez la requête pour obtenir une représentation JSON de la condition spécifiée.
Ensuite, utilisez cette réponse pour ajouter une alerte statique à votre quickstart.
Conseil
Notez que les cases à cocher dans le volet de gauche sont cochées lorsque vous collez la requête dans l’explorateur. Cette requête renvoie les champs requis pour ajouter une alerte au quickstart. Si vous avez défini des champs personnalisés ou souhaitez demander plus d'informations, n'hésitez pas à modifier la requête dans le volet central de l'explorateur ou à cocher la case correspondante dans le volet de gauche.
À partir du répertoire alert-policies/flashdb
, renommez le fichier static-alert.yml
en SlowReadResponse.yml
et remplissez-le avec les données renvoyées par la requête ci-dessus.
# Name of the alertname: slow read response
# Description and detailsdetails: |+ This alert is triggered when read operation takes longer than 0.8.
# Type of alerttype: STATIC
# NRQL querynrql: query: "SELECT average(fdb_read_responses) FROM Metric"
# Function used to aggregate the NRQL query value(s) for comparison to the terms.threshold (Default: SINGLE_VALUE)valueFunction: SINGLE_VALUE
# List of Critical and Warning thresholds for the conditionterms:- priority: CRITICAL # Operator used to compare against the threshold. operator: ABOVE # Value that triggers a violation threshold: 0.9 # Time in seconds; 120 - 3600 thresholdDuration: 300 # How many data points must be in violation for the duration thresholdOccurrences: ALL
# Adding a Warning threshold is optional- priority: WARNING operator: ABOVE threshold: 0.8 thresholdDuration: 300 thresholdOccurrences: ALL
# Duration after which a violation automatically closes# Time in seconds; 300 - 2592000 (Default: 86400 [1 day])violationTimeLimitSeconds: 259200
Ici, vous avez ajouté une condition d'alerte statique au quickstart.
Pour interroger votre condition de base de référence, copiez la requête GraphQL suivante et collez-la dans le volet central de l'explorateur.
{ actor { account(id: 3014901) { alerts { nrqlCondition(id: 28068735) { ... on AlertsNrqlBaselineCondition { id name nrql { query } baselineDirection terms { priority threshold thresholdDuration thresholdOccurrences operator } violationTimeLimitSeconds } } } } }}
Ici, vous interrogez AlertsNrqlBaselineCondition
pour le nom de votre condition, la requête, baselineDirection
et d'autres champs requis pour ajouter la condition à votre quickstart.
Important
Assurez-vous de remplacer votre identifiant de compte et votre identifiant de condition dans la requête ci-dessus.
Exécutez la requête pour obtenir les données de configuration de votre alerte. Ensuite, utilisez cette réponse pour ajouter une alerte de base de référence à votre quickstart.
Conseil
Notez que les cases à cocher dans le volet de gauche sont cochées lorsque vous collez la requête dans l’explorateur. Cette requête renvoie les champs requis pour ajouter une alerte au quickstart. Si vous avez défini des champs personnalisés ou souhaitez demander plus d'informations, n'hésitez pas à modifier la requête dans le volet central de l'explorateur ou à cocher la case correspondante dans le volet de gauche.
À partir du répertoire alert-policies/flashdb
, renommez le fichier baseline-alert.yml
en LowCacheHitRatio.yml
et remplissez-le avec les données renvoyées par la requête ci-dessus.
# Name of the alertname: low cache hit ratio
# Description and detailsdetails: |+ This alert is triggered whenever the cache hit ratio deviates 2 standard deviations from the normal.
# Type of alerttype: BASELINE
# NRQL querynrql: # Baseline alerts can use an optional FACET query: "SELECT sum(fdb_cache_hits)/sum(fdb_read_responses) FROM Metric"
# Direction in which baseline is set (Default: LOWER_ONLY)baselineDirection: LOWER_ONLY
# List of Critical and Warning thresholds for the conditionterms:- priority: CRITICAL # Operator used to compare against the threshold. operator: ABOVE # Value that triggers a violation threshold: 3 # Time in seconds; 120 - 3600, must be a multiple of 60 for Baseline conditions thresholdDuration: 300 # How many data points must be in violation for the duration thresholdOccurrences: ALL
# Adding a Warning threshold is optional- priority: WARNING operator: ABOVE threshold: 2 thresholdDuration: 300 thresholdOccurrences: ALL
# Duration after which a violation automatically closes# Time in seconds; 300 - 2592000 (Default: 86400 [1 day])violationTimeLimitSeconds: 259200
Ici, vous avez ajouté une condition de base de référence au quickstart.
Conseil
Cette procédure fait partie du cours qui vous apprend à créer un quickstart. Passez à la leçon suivante : ajouter une source de données.