In diesem Abschnitt erfahren Sie, wie Sie Warnungen verwenden, einschließlich des Hinzufügens einer Warnung, des Abrufens einer Liste Ihrer Warnungen und des Löschens einer Warnung.
Hinzufügen einer Warnung
Um eine Warnung hinzuzufügen, stellen Sie die folgende POST-Anfrage mit den Anfrageparametern:
Name | Type | Erforderlich oder Optional | Beschreibung |
---|---|---|---|
name | string | Erforderlich | Name Ihrer Meldung. |
type | string | Erforderlich | Typ der zu überwachenden Metrik: iNode-Status (NODE_STATE_CHANGE), Verbindungsstatus des Remote-Netzwerks |
settings | objekt | Erforderlich | Einstellungen für: den Wert der Metrik, mit dem verglichen werden soll, die Dauer, für die die Bedingung für die Meldung „true“ ist (nur für NODE_STATE_CHANGE, TUNNEL_STATE_CHANGE, SERVICE_STATE_CHANGE oder NODE_IP_CHANGE only) und die Zielressource, deren Bedingung Sie prüfen möchten. |
channel_type | string | Optional | Auf welche Art und Weise Sie benachrichtigt werden möchten, sobald die Meldung ausgelöst wird: E-Mail oder Webhook. |
channel_id | string | Optional | Legen Sie Ihre Webhook-ID fest, um per Webhook benachrichtigt zu werden. Ignorieren Sie diesen Parameter bei einer Benachrichtigung per E-Mail. |
In dem folgenden Beispiel wird eine Meldung mit einer Benachrichtigung per Webhook hinzugefügt, wenn der iNode-Status aller iNodes in Ihrer Organisation für eine Dauer von fünf Minuten ERREICHBAR oder NICHT ERREICHBAR ist.
curl -X POST \
-H 'X-API-KEY:<your_api_key>' \
-H "Content-type:application/json" \
-d '{"name":"<your_alert_1_name>", \
"type":"NODE_STATE_CHANGE" \
"settings":{ \
"org_id":"<your_org_id>", \
"alert_me":"ALIVE,UNREACHABLE", \
"duration":5 \
}, \
"channel_type":"webhook", \
"channel_id":"<your_webhook_id>" \
}' \
'https://<your_company>.manage.iotium.io/api/v1/mysubscriptions/'
Bei einem Erfolg beinhaltet die Antwort Details der Meldung:
{
"metadata":{
"labels":{
"_iotium.alert.name":"Node Status Alert"
}
},
"name":"<your_alert_1_name>",
"type":"NODE_STATE_CHANGE",
"settings":{
"org_id":"<your_org_id>",
"include_child":"true",
"alert_me":"ALIVE,UNREACHABLE",
"duration":"5"
},
"id":"<your_alert_1_id>",
"display_type":"iNode Status",
"channel_type":"WEBHOOK",
"channel":
{
"id":"<your_webhook_id>"
"name":"<your_webhook_name>"
},
"created_at":"2019-08-27T01:43:39.541-06:00",
"created_by":{
"id":"<your_user_id>",
"name":"<your_user_name>"
}
}
Falls der Webhook deaktiviert wurde, erscheint folgende Fehlerreaktion:
{
"statusCode": 422,
"errorCode": "UNPROCESSABLE_ENTITY",
"message": "The given webhook is in disabled state. So can't associate with alert subscription."
}
Sie können höchstens 10 Benachrichtigungen per Webhooks hinzufügen.
In diesem Beispiel wird eine Meldung mit einer Benachrichtigung per E-Mail hinzugefügt, wenn der iNode-Status aller iNodes in Ihrer Organisation für eine Dauer von fünf Minuten ERREICHBAR oder NICHT ERREICHBAR ist.
curl -X POST \
-H 'X-API-KEY:<your_api_key>' \
-H "Content-type:application/json" \
-d '{"name":"<your_alert_2_name>", \
"type":"NODE_STATE_CHANGE" \
"settings":{ \
"org_id":"<your_org_id>", \
"alert_me":"ALIVE,UNREACHABLE", \
"duration":5 \
}, \
"channel_type":"email" \
}' \
'https://<your_company>.manage.iotium.io/api/v1/mysubscriptions/'
Bei einem Erfolg beinhaltet die Antwort Details der Meldung:
{
"metadata":{
"labels":{
"_iotium.alert.name":"Node Status Alert"
}
},
"name":"<your_alert_2_name>",
"type":"NODE_STATE_CHANGE",
"settings":{
"org_id":"<your_org_id>",
"include_child":"true",
"alert_me":"ALIVE,UNREACHABLE",
"duration":"5"
},
"id":"<your_alert_2_id>",
"display_type":"iNode Status",
"channel_type":"EMAIL",
"channel":
{
"id":"<your_email_resource_id>"
"name":"Email"
},
"created_at":"2019-08-27T01:43:39.541-06:00",
"created_by":{
"id":"<your_user_id>",
"name":"<your_user_name>"
}
}
Liste mit Meldungen erhalten
Stellen Sie die folgende GET-Anfrage, um eine Liste mit Ihren Meldungen zu erhalten:
curl -X GET \
-H 'X-API-KEY:<your_api_key>' \
-H "Content-type:application/json" \
'https://<your_company>.manage.iotium.io/api/v2/mysubscriptions'
Die Antwort beinhaltet Details all Ihrer Meldungen:
{
"results": [
{
"metadata": {
"labels": {
"_iotium.alert.name": "Node Status Alert"
}
},
"name": "<your_alert_1_name>",
"type": "NODE_STATE_CHANGE",
"settings": {
"org_id": "<your_org_id>",
"include_child": "true",
"alert_me": "ALIVE,UNREACHABLE",
"duration": "5"
},
"id": "<your_alert_1_id>",
"display_type": "iNode Status",
"channel_type": "WEBHOOK",
"channel": {
"id": "<your_webhook_id>",
"name": "<your_webhook_name>"
},
"created_at": "2019-08-27T01:43:39.541-06:00",
"created_by": {
"id": "<your_user_id>",
"name": "<your_user_name>"
}
},
{
"metadata": {
"labels": {
"_iotium.alert.name": "Node Status Alert"
}
},
"name": "<your_alert_2_name>",
"type": "NODE_STATE_CHANGE",
"settings": {
"org_id": "<your_org_id>",
"include_child": "true",
"alert_me": "ALIVE,UNREACHABLE",
"duration": "5"
},
"id": "<your_alert_2_id>",
"display_type": "iNode Status",
"channel_type": "EMAIL",
"channel": {
"id": "<your_email_resource_id>",
"name": "Email"
},
"created_at": "2019-08-27T01:43:39.541-06:00",
"created_by": {
"id": "<your_user_id>",
"name": "<your_user_name>"
}
}
]
}
Stellen Sie die folgende GET-Anfrage, um die Details einer bestimmten Meldung zu erhalten:
curl -X GET \
-H 'X-API-KEY:<your_api_key>' \
-H "Content-type:application/json" \
'https://<your_company>.manage.iotium.io/api/v1/mysubscriptions/<your_alert_1_id>'
Die Antwort beinhaltet Details der oben hinzugefügten Meldung:
{
"metadata":{
"labels":{
"_iotium.alert.name":"Node Status Alert"
}
},
"name":"<your_alert_1_name>",
"type":"NODE_STATE_CHANGE",
"settings":{
"org_id":"<your_org_id>",
"include_child":"true",
"alert_me":"ALIVE,UNREACHABLE",
"duration":"5"
},
"id":"<your_alert_1_id>",
"display_type":"iNode Status",
"channel_type":"WEBHOOK",
"channel":
{
"id":"<your_webhook_id>"
"name":"<your_webhook_name>"
},
"created_at":"2019-08-27T01:43:39.541-06:00",
"created_by":{
"id":"<your_user_id>",
"name":"<your_user_name>"
}
}
Meldung entfernen
Stellen Sie die folgende DELETE-Anfrage, um eine Meldung zu entfernen:
curl -X DELETE \
-H 'X-API-KEY:<your_api_key>' \
-H "Content-type:application/json" \
'https://<your_company>.manage.iotium.io/api/v1/mysubscriptions/<your_alert_id>'
Die Antwort beinhaltet folgende Informationen:
{
"id": "<your_alert_id>",
"message": "Successfully deleted.",
"status": "SUCCESS"
}