Gestion des notifications d’événements Ouvrir l’API
L’API ouverte Gestion des notifications d’événements fournit un point de terminaison pour créer, mettre à jour et supprimer des événements de la table Événements [em_event].
Event Notification Management Open API (sn_ind_tmf688) est une ServiceNow implémentation de la spécification TM Forum Open API. Cette API est basée sur le Guide de l’utilisateur de l’API Gestion des événements TMF688 v4.0.0. Vous pouvez trouver des informations supplémentaires sur les alarmes dans le Guide de l’utilisateur de l’API de gestion des alarmes TMF642.
Cette API peut être étendue pour effectuer des personnalisations autour des paramètres requis, de la validation du corps de la demande, des opérations REST supplémentaires et des mappages de champs. Pour plus d'informations, voir Le Gestion des notifications d’événements Guide du développeur de l’API ouvertefichier .
Gestion des notifications d’événements Ouvrir l’API : POST instance_name/scope_id/GUID
Place la charge utile de la demande associée dans la file d’attente NowMQ. Cette file d’attente est ensuite traitée en arrière-plan pour créer, mettre à jour et supprimer des événements dans la table Événements [em_event].
Ce point de terminaison est différent des autres points de terminaison de la ServiceNow plateforme. Au lieu d’avoir un point de terminaison pour chaque tâche spécifique, comme créer, mettre à jour et supprimer, il n’existe qu’un seul point de terminaison pour toutes les fonctionnalités. Le paramètre eventType de la charge utile de l’appel détermine la tâche à effectuer en fonction de sa valeur transmise AlarmCreateEvent, AlarmUpdateEvent ou AlarmDeleteEvent.
Le format de l’appel REST est également différent des implémentations REST standard. Chaque système externe qui utilisera cette API, tel que Kafka, les moniteurs de base de données ou d’autres applications, doit d’abord s’enregistrer auprès de la ServiceNow plateforme. Ils doivent également disposer de leur propre webhook qui utilise les informations fournies lors de l’inscription pour générer la signature requise pour appeler ce point de terminaison, y compris l’instance_name, le scope_id d’application et le GUID unique. Le GUID identifie le système réseau externe d’où provient la demande.
de script TMFAlarmAPIConstants pour la valeur de paramètre correspondante eventType . Tous les paramètres qui sont transmis dans la charge utile et qui ne sont pas définis dans le schéma sont ignorés par le point de terminaison.AlarmCreateEvent:ALARM_CREATE_EVENT_SCHEMAAlarmUpdateEvent:ALARM_CHANGE_EVENT_SCHEMAAlarmDeleteEvent:ALARM_DELETE_EVENT_SCHEMA
Format d'URL
URL par défaut : <instance_name>/<scope_id>/<GUID>
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| Aucun |
| Nom | Description |
|---|---|
| Aucun |
| Nom | Description |
|---|---|
| event | Détails sur l’événement qui s’est produit. Type de données : objet |
| événement.alarme | Requis quand eventType est AlarmCreateEvent. Détails sur l’alarme associée. Type de données : objet |
| event.alarme.serviceaffecté | Liste des objets identifiant un ou plusieurs services affectés par l’alarme. Type de données : tableau |
| event.alarme.serviceaffecté.href | Référence d’URL fournissant des détails sur le service affecté. Type de données : chaîne |
| event.alarm.affectedService.id | Identificateur du service affecté par l’alarme. Cette valeur est mappée à l’élément de configuration (CI) affecté sur l’alerte. Type de données : chaîne |
| event.alarme.alarmedObjet | Requis lors de la création d’un événement. Détails de l’objet d’alarme. Type de données : objet |
| event.alarm.alarmedObject.href | Requis lors de la création d’un événement. Référence URL pour obtenir les détails de l’objet d’alarme. Type de données : chaîne |
| event.alarm.alarmedObject.id | Requis quand eventType est AlarmCreateEvent. Identificateur unique de l’objet d’alarme. Cette valeur est mappée à un CI dans le système. Type de données : chaîne |
| event.alarm.alarmType | Requis quand eventType est AlarmCreateEvent. Type d’alarme. Utilisé pour catégoriser l’alarme. Par exemple : « QualityOfServiceAlarm » Type de données : chaîne |
| event.alarm.crossedThresholdInfomation | Détails sur le seuil franchi. Type de données : objet |
| event.alarm.crossedThresholdInfomation.thresholdId | Identificateur unique du seuil qui a provoqué l’alarme. Type de données : chaîne |
| event.alarm.externalAlarmId | Requis quand eventType est AlarmCreateEvent. Requis quand eventType est AlarmDeleteEvent ou AlarmChangeEvent si le paramètre n’est Id pas spécifié. Identificateur unique de l’alarme provenant du système source qui publie l’alarme. Type de données : chaîne |
| event.alarme.href | Référence de l’URL à l’alarme. Par exemple : « http://api/alarm/ROUTER_IF@Cisco-0000-0-0-0-0-00-00-0-- Xz0/00@00 » Type de données : chaîne |
| event.alarm.id | Requis quand eventType est AlarmDeleteEvent ou AlarmChangeEvent si externalAlarmId n’est pas spécifié. Identificateur unique de l’alarme. Spécifié par le système propriétaire de l’alarme. Par exemple : « 8675399 » Type de données : chaîne |
| event.alarme.perceivedSeverity | Requis quand eventType est AlarmCreateEvent. Gravités possibles associées à l’alarme. Les valeurs sont conformes à celles de la Recommandation UIT-T X.733. Une fois qu’une alarme a été effacée, sa gravité perçue est définie sur « CLEAR » et ne peut plus être réglée. Valeurs possibles :
Type de données : chaîne |
| event.alarme.causeprobable | Requis quand eventType est AlarmCreateEvent.Situation la plus probable pour déclencher l’alarme. Utilisez avec pour alarmType qualifier l’alarme. Les valeurs possibles sont conformes à celles de la Recommandation UIT-T X.733 ou de l’Annexe B de la norme 3GPP TS 32.111-2. Par exemple : « Seuil dépassé » Type de données : chaîne |
| event.alarm.sourceSystemId | Requis quand eventType est AlarmCreateEvent. Identificateur unique du système source de l’alarme. Par exemple : « SOURCE_SYSTEM_vManage_00000_000_00 » Type de données : chaîne |
| event.alarme.problèmespécifique | Problème spécifique qui déclenche l’alarme. Utilisez avec pour probableCause qualifier l’alarme. Par exemple : « Seuil du trafic entrant franchi » Type de données : chaîne |
| eventType | Requis. Type d’événement à traiter. Valeurs valides :
Type de données : chaîne |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Prend uniquement en charge application/json. |
| En-tête | Description |
|---|---|
| Aucun |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Renvoyé pour chaque appel, quel que soit l’état de traitement réel de l’appel. Indique seulement que le point de terminaison a reçu la demande. |
Paramètres du corps de réponse
| Nom | Description |
|---|---|
| Aucun | Ce point de terminaison est asynchrone et, par conséquent, ne renvoie aucune donnée de réponse. |
Demande cURL
L’élément suivant indique la charge utile possible pour un événement de création d’alarme. Cet exemple reflète les paramètres qui se trouvent dans l’implémentation par défaut (AlarmCreateEventSchema).
--data "{
"eventType": "AlarmCreateNotification",
"event": {
"alarm": {
"id": "",
"externalAlarmId": "ext123456",
"alarmType": "QualityOfServiceAlarm",
"perceivedSeverity": "MINOR",
"alarmedObject": {
"id": "vManage_000000",
"href": " http://api/alarmedobject/000000"
},
"probableCause": "Threshold crossed",
"sourceSystemId": "SOURCE_SYSTEM_vManage_00000_000_00",
"href": "http://api/alarm/ROUTER_IF@Cisco-0000-0-0-0-0-00-00-0-- Xz0/00@00",
"specificProblem": "Inbound Traffic threshold crossed",
"crossedThresholdInformation": {
"thresholdId": "12fasdfasdfasd"
},
"affectedService": [
{
"id": "SD WAN Enterprise Solutions",
"href": "http://api/service/vlan_dot0_dot0"
}
]
}
}
}
Aucune réponse n’a été renvoyée.
Demande cURL
L’élément suivant indique la charge utile possible pour un événement d’alarme de changement. Cet exemple reflète les paramètres qui se trouvent dans l’implémentation par défaut (AlarmChangeEventSchema).
--data "{
"eventType": "AlarmChangeEventSchema",
"event": {
"alarm": {
"id": "",
"externalAlarmId": "ext123456",
"perceivedSeverity": "MAJOR",
"probableCause": "Threshold crossed",
"crossedThresholdInformation": {
"thresholdId": "12fasdfasdfasd"
},
"affectedService": [
{
"id": "SD WAN Enterprise Solutions",
"href": "http://api/service/vlan_dot0_dot0"
}
]
}
}
}
Aucune réponse n’a été renvoyée.
Demande cURL
L’élément suivant indique la charge utile possible pour un événement d’alarme de suppression (effacement). Cet exemple reflète les paramètres qui se trouvent dans l’implémentation par défaut (AlarmDeleteEventSchema).
--data "{
"eventType": "AlarmDeleteEventSchema",
"event": {
"alarm": {
"id": "",
"externalAlarmId": "ext123456",
"perceivedSeverity": "MAJOR",
"probableCause": "Threshold crossed",
"crossedThresholdInformation": {
"thresholdId": "12fasdfasdfasd"
}
}
}
}
Aucune réponse n’a été renvoyée.