Dans une politique, une condition identifie ce qui déclenche une alerte. Vous pouvez utiliser la REST API pour désactiver et activer des conditions. Vous pouvez également désactiver et activer des conditions dans l'UI.
Les politiques ne peuvent pas être activées ou désactivées, que ce soit via l'API ou l'UI. Les politiques peuvent uniquement être créées, supprimées ou leurs conditions peuvent être modifiées.
Avant d'utiliser l'API REST
L'API REST n'est plus le moyen privilégié pour gérer vos alertes par programmation. Pour plus de contexte, lisez l'introduction aux API pour .
Exigences
La modification de n’importe quel attribut dans une condition à l’aide de l’API nécessite :
- Une clé API et des autorisations pour gérer les alertes
- La condition
id
(disponible depuis API Explorer : Alerts Conditions > GET > List) - Si votre organisation héberge des données dans un data center de l'UE, assurez-vous d'utiliser les points de terminaison d'API appropriés pour les comptes de la région de l'UE.
Activer et désactiver une condition
Le processus de désactivation ou d’activation d’une condition est le même processus général de modification de n’importe quel attribut d’une condition. Un exemple plus détaillé vient après cette procédure générale :
Recherchez l’ID de la politique qui contient la condition que vous souhaitez modifier.
Si l'ID de la politique est inconnu, utilisez le nom ou le type de la politique pour faire un appel à l'API et trouver l'ID de la politique. Pour en savoir plus sur ce processus, voir Lister une seule politique.
Avec l'ID de politique, faites un appel d'API qui renvoie les conditions associées à cette politique. Il existe quatre catégories de conditions différentes. Si vous ne connaissez pas la catégorie, cela peut nécessiter de faire jusqu'à quatre appels d'API afin de trouver la condition.
Pour le JSON renvoyé, recherchez l’objet JSON de la condition que vous souhaitez modifier.
Copiez et collez le JSON de la condition dans un éditeur de texte de votre choix et modifiez le JSON. Pour activer la condition, définissez
"enabled"
surtrue
. Pour désactiver la condition, définissez"enabled"
surfalse
.Mettez à jour la condition en soumettant votre JSON modifié via une demande d'API de mise à jour. Nos différents produits nécessitent API requests différentes.
Exemple : Désactiver une condition APM
L'exemple suivant montre comment désactiver une condition pour une condition apm_app_metric
. À l'exception des types d'appel d'API requis, le processus est similaire au processus de modification d'autres types de conditions.
Obtenez le
policy_id
de la politique que vous souhaitez mettre à jour. Pour une politique imaginaire nomméeLogjam Alert
, la commande serait :bash$curl -X GET 'https://api.newrelic.com/v2/alerts_policies.json' \>-H "X-Api-Key:$API_KEY" -i \>-G --data-urlencode 'filter[name]= Logjam Alert' # policy_nameLe résultat de cette requête pourrait ressembler à :
{"policies": [{"id": 85, // policy_id"incident_preference": "PER_POLICY","name": "Logjam Alert","created_at": 1461176510393,"updated_at": 1461176510393}]}Énumérez toutes les conditions de cette politique et localisez le
condition_id
:bash$curl -X GET 'https://api.newrelic.com/v2/alerts_conditions.json' \>-H "X-Api-Key:$API_KEY" -i \>-G -d 'policy_id=85'Le résultat de cette requête pourrait ressembler à :
{"conditions": [{"id": 12345, // condition_id"type": "apm_app_metric","name": "Apdex (Low)","enabled": true, // Note the condition is enabled"entities": ["8288171"],"metric": "apdex","terms": [{"duration": "5","operator": "below","priority": "critical","threshold": "1","time_function": "any"}]},{"id": 2468, // another condition_id"type": "apm_app_metric","name": "Throughput (Low)",...}]}Copiez le JSON uniquement pour la condition en question et collez-le dans un éditeur de texte. Remplacez
"enabled": true
par"enabled": false
. Le JSON édité ressemblerait à :bash$curl -X PUT 'https://api.newrelic.com/v2/alerts_conditions/12345.json' \>-H "X-Api-Key:$API_KEY" -i \>-H 'Content-Type: application/json' \>-d \>'{$"condition": {$"type": "apm_app_metric",$"name": "Apdex (Low)",$"enabled": false,$"entities": [$"8288171"$],$"metric": "apdex",$"terms": [${$"duration": "5",$"operator": "below",$"priority": "critical",$"threshold": "1",$"time_function": "any"$}$]$}$}'Mettez à jour la condition en soumettant la condition JSON modifiée via une demande d'API de mise à jour. Pour cette condition spécifique, vous devez suivre les étapes décrites dans Mettre à jour les conditions pour les politiques APM. D'autres conditions de produit nécessiteraient d'autres API requests, comme détaillé dans Mettre à API requests jour .