Meldungen nutzen

Prev Next

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:

NameTypeErforderlich oder OptionalBeschreibung

name

string

Erforderlich

Name Ihrer Meldung.

type

string

Erforderlich

Typ der zu überwachenden Metrik: iNode-Status (NODE_STATE_CHANGE), Verbindungsstatus des Remote-Netzwerks
(TUNNEL_STATE_CHANGE), Dienst-Status (SERVICE_STATE_CHANGE), Verfallszeit des iNode-Zertifikats (CERT_EXPIRY), Verfallszeit des eigenständigen Modus (HEADLESS_EXPIRY), Änderung der IP-Adresse des iNode (NODE_IP_CHANGE) oder Upgrade-Status des iNode (NODE_UPGRADE).

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"
}