Ereignisbenachrichtigungsmanagement – offene API
Die Ereignisbenachrichtigungsmanagement Offen Die API stellt einen Endpunkt zum Erstellen, Aktualisieren und Löschen von Ereignissen aus der Tabelle „Ereignisse“ [em_event] bereit.
Die Ereignisbenachrichtigungsmanagement Offen API (sn_ind_tmf688) ist ein ServiceNow Implementierung der Spezifikation der offenen API des TM-Forums. Diese API basiert auf TMF688 Ereignismanagement-API-Anwenderhandbuch v4.0.0 . Sie können zusätzliche Alarminformationen in finden TMF642 – Anwenderhandbuch für Alarmmanagement-API .
Diese API kann erweitert werden, um Anpassungen an erforderlichen Parametern, die Validierung des Anforderungstexts, zusätzliche REST-Vorgänge und Feldzuordnungen vorzunehmen. Weitere Informationen finden Sie unter Die Ereignisbenachrichtigungsmanagement – API-Entwicklerleitfaden öffnen.
Ereignisbenachrichtigungsmanagement – offene API – POST instance_Name/scope_ID/GUID
Platziert die Nutzlast der zugehörigen Anforderung in der NowMQ-Warteschlange. Diese Warteschlange wird dann im Hintergrund verarbeitet, um Ereignisse in der Tabelle „Ereignisse“ [em_event] zu erstellen, zu aktualisieren und zu löschen.
Dieser Endpunkt unterscheidet sich von anderen Endpunkten in ServiceNow Plattform. Anstelle eines Endpunkts für jede bestimmte Aufgabe, z. B. Erstellen, Aktualisieren und Löschen, gibt es nur einen einzigen Endpunkt für alle Funktionen. Der Parameter eventTypeBestimmt in der Aufrufnutzlast die auszuführende Aufgabe basierend auf dem übergebenen Wert von AlarmCreateEvent , AlarmUpdateEreignis , Oder Alarmlöschereignis .
Das Format des REST-Aufrufs unterscheidet sich auch von Standard-REST-Implementierungen. Jedes externe System, das diese API verwendet, z. B. Kafka, Datenbanküberwachungen oder andere Anwendungen, muss sich zuerst bei registrieren ServiceNow Plattform. Sie müssen auch über einen eigenen Webhook verfügen, der die während der Registrierung bereitgestellten Informationen verwendet, um die Signatur zu generieren, die zum Aufrufen dieses Endpunkts erforderlich ist, einschließlich Instance_Name , Anwendung Umfang_ID , Und eindeutig GUID . Die GUID Gibt das externe Netzwerksystem an, von dem die Anforderung stammt.
TMFAlarmAPIKonstanten Skripteinbindung für das entsprechende eventTypeParameterwert. Alle Parameter, die in der Nutzlast übergeben und nicht im Schema definiert sind, werden vom Endpunkt ignoriert.AlarmCreateEvent:ALARM_CREATE_EVENT_SCHEMAAlarmUpdateEreignis:ALARM_CHANGE_EVENT_SCHEMAAlarmlöschereignis:ALARM_DELETE_EVENT_SCHEMA
URL-Format
Standard-URL: <instance_name>/<scope_id>/<GUID>
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| Keine |
| Name | Beschreibung |
|---|---|
| event | Details zum aufgetretenen Ereignis. Datentyp: Objekt |
| Ereignis.Alarm | Erforderlich, wenn eventTypeIst AlarmCreateEvent . Details zum zugehörigen Alarm. Datentyp: Objekt |
| Ereignis.Alarm.affectedService | Liste von mindestens einem Service, der vom Alarm betroffen ist. Datentyp: Array von Objekten |
| Ereignis.Alarm.affectedService.href | URL-Referenz, die Details zum betroffenen Service bereitstellt. Datentyp: Zeichenfolge |
| event.alarm.affectedService.id | Bezeichner des vom Alarm betroffenen Service. Dieser Wert ist dem betroffenen Konfigurationselement (CI) in der Warnung zugeordnet. Datentyp: Zeichenfolge |
| Ereignis.Alarm.alarmedObjekt | Erforderlich beim Erstellen eines Ereignisses. Details des Alarmobjekts. Datentyp: Objekt |
| Ereignis.Alarm.alarmedObject.href | Erforderlich beim Erstellen eines Ereignisses. URL-Referenz zum Abrufen der Details des Alarmobjekts. Datentyp: Zeichenfolge |
| event.alarm.alarmedObject.id | Erforderlich, wenn eventTypeIst AlarmCreateEvent . Eindeutiger Bezeichner des Alarmobjekts. Dieser Wert ist einem CI im System zugeordnet. Datentyp: Zeichenfolge |
| Ereignis.Alarm.alarmType | Erforderlich, wenn eventTypeIst AlarmCreateEvent . Typ des Alarms. Wird verwendet, um den Alarm zu kategorisieren. Beispiel: „QualityOfServiceAlarm“ Datentyp: Zeichenfolge |
| Ereignis.Alarm.CrossedSchwellenwert.Information | Details zum überschrittenen Schwellenwert. Datentyp: Objekt |
| Ereignis.Alarm.CrossedThresholdInfomation.threshold-ID | Eindeutiger Bezeichner des Schwellenwerts, der den Alarm verursacht hat. Datentyp: Zeichenfolge |
| Ereignis.Alarm.externalAlarmId | Erforderlich, wenn eventTypeIst AlarmCreateEvent . Erforderlich, wenn eventTypeIst Alarmlöschereignis Oder AlarmChangeEvent Wenn IdParameter ist nicht angegeben. Eindeutiger Bezeichner für den Alarm aus dem Quellsystem, das den Alarm sendet. Datentyp: Zeichenfolge |
| Ereignis.Alarm.href | URL-Verweis auf den Alarm. Beispiel: „http://api/alarm/ROUTER_IF@Cisco-0000-0-0-0-0-00-00-0-- Xz0/00@00“ Datentyp: Zeichenfolge |
| event.alarm.id | Erforderlich, wenn eventTypeIst Alarmlöschereignis Oder AlarmChangeEvent Wenn externalAlarmIdIst nicht angegeben. Eindeutiger Bezeichner des Alarms. Vom Alarmbesitzer angegeben. Beispiel: „8675399“ Datentyp: Zeichenfolge |
| Ereignis.Alarm.WahrnehmungSchweregrad | Erforderlich, wenn eventTypeIst AlarmCreateEvent . Mögliche Schweregrade, die dem Alarm zugeordnet sind. Die Werte stimmen mit der ITU-T-Empfehlung X.733 überein. Nachdem ein Alarm gelöscht wurde, wird sein wahrgenommener Schweregrad auf „LÖSCHEN“ festgelegt und kann nicht mehr festgelegt werden. Gültige Werte:
Datentyp: Zeichenfolge |
| event.alarm.probableCause | Erforderlich, wenn eventTypeIst AlarmCreateEvent .Höchstwahrscheinlich Situation, die den Alarm auslöst. Verwenden Sie mit alarmTypeUm den Alarm zu qualifizieren. Die möglichen Werte entsprechen der ITU-T-Empfehlung X.733 oder 3GPP TS 32.111-2 Anhang B. Beispiel: „Schwellenwert überschritten“ Datentyp: Zeichenfolge |
| Ereignis.Alarm.QuellSystemId | Erforderlich, wenn eventTypeIst AlarmCreateEvent . Eindeutiger Bezeichner des Quellsystems des Alarms. Beispiel: „SOURCE_SYSTEM_vManage_00000_000_00“ Datentyp: Zeichenfolge |
| Ereignis.Alarm.spezifisches Problem | Spezifisches Problem, das den Alarm auslöst. Verwenden Sie mit probableCauseTparameter o qualifizieren den Alarm. Beispiel: „Schwellenwert für eingehenden Datenverkehr überschritten“ Datentyp: Zeichenfolge |
| eventType | Erforderlich. Typ des zu verarbeitenden Ereignisses. Gültige Werte:
Datentyp: Zeichenfolge |
Header
Die folgenden Anforderungs- und Antwort-Header gelten nur für diese HTTP-Aktion oder werden auf diese Aktion in einer bestimmten Weise angewendet. Eine Liste der allgemeinen Header, die in der REST-API verwendet werden, finden Sie unter Unterstützte REST-API-Header .
| Header | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützt nur application/json. |
| Header | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST-API verwendet werden, finden Sie unter REST-API-HTTP-Antwortcodes .
| Statuscode | Beschreibung |
|---|---|
| 200 | Wird für jeden Anruf unabhängig vom tatsächlichen Verarbeitungsstatus des Anrufs zurückgegeben. Gibt nur an, dass der Endpunkt die Anforderung erhalten hat. |
Parameter des Antwort-Haupttexts
| Name | Beschreibung |
|---|---|
| Keine | Dieser Endpunkt ist asynchron und gibt daher keine Antwortdaten zurück. |
cURL-Anforderung
Im Folgenden wird die mögliche Nutzlast für ein „Alarm erstellen“-Ereignis angezeigt. Dieses Beispiel spiegelt die Parameter wider, die sich in der Standardimplementierung befinden ( 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"
}
]
}
}
}
Keine Antwort zurückgegeben.
cURL-Anforderung
Das folgende zeigt die mögliche Nutzlast für ein Change-Alarmereignis. Dieses Beispiel spiegelt die Parameter wider, die sich in der Standardimplementierung befinden ( 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"
}
]
}
}
}
Keine Antwort zurückgegeben.
cURL-Anforderung
Im Folgenden wird die mögliche Nutzlast für ein Löschalarm-Ereignis (Löschen) angezeigt. Dieses Beispiel spiegelt die Parameter wider, die sich in der Standardimplementierung befinden ( AlarmDeleteEventSchema ).
--data "{
"eventType": "AlarmDeleteEventSchema",
"event": {
"alarm": {
"id": "",
"externalAlarmId": "ext123456",
"perceivedSeverity": "MAJOR",
"probableCause": "Threshold crossed",
"crossedThresholdInformation": {
"thresholdId": "12fasdfasdfasd"
}
}
}
}
Keine Antwort zurückgegeben.