Une action d'alerte est une réponse à une alerte d'événement. Pour créer une action d'alerte, spécifiez un événement ou plus, et une action ou plus à entreprendre lors de l'envoi d'une alerte pour cet événement; par exemple, l'envoi d'un e-mail ou l'exécution d'un workflow. Plus d'une action d'alerte peut être spécifiée pour une alerte d'événement donnée.
La propriété category indique la catégorie d'événement pour laquelle l'action d'alerte sera exécutée. Chaque catégorie inclut un ou plusieurs événements. Les événements de chaque catégorie sont énumérés lorsque vous créez ou listez l'action d'alerte. Par défaut, l'action d'alerte sera exécutée pour tous les événements de la catégorie. Si l'action d'alerte ne doit être exécutée que pour un sous-ensemble d'événements, remplacez par false les valeurs des propriétés représentant les événements qui ne doivent pas la déclencher.
Le tableau suivant décrit les catégories d'événements disponibles.
|
La propriété handler spécifie le type d'action à entreprendre lorsque l'événement spécifié se produit. La plupart des valeurs de handler nécessitent la définition de propriétés supplémentaires, comme l'indique le tableau suivant.
|
Lorsque vous énumérez toutes les actions d'alerte, seuls la catégorie d'événements et chaque événement de celle-ci sont répertoriés pour chacune. Pour afficher également les réponses définies pour une action d'alerte, reportez-vous à Obtention d'une seule action d'alerte.
Exemple de demande de la commande d'obtention d'actions d'alerte :
GET /api/alert/v1/actions HTTP/1.1 Authorization: Basic Tm8gcGVla2luZyE= Host: zfs-storage.example.com:215 Accept: application/json
Exemple de résultat :
HTTP/1.1 200 OK X-Zfssa-Appliance-Api: 1.0 Content-Type: application/json Content-Length: 1395 { "actions": [ { "category": "smf", "uuid": "actions-uuid1", "failed_services": true, "degraded_services": true, "repaired_services": false, "actions": "actions-000", "href": "/api/alert/v2/actions/actions-000" }, { "category": "analytics", "uuid": "actions-uuid2", "analytics_datasets_auto-suspend_notify": false, "analytics_datasets_auto-suspend_warning": false, "analytics_memory_total_exceeded": true, "analytics_memory_total_normal": false, "analytics_usage_exceeded": true, "analytics_usage_normal": false, "actions": "actions-001", "href": "/api/alert/v2/actions/actions-001" } ] }
Lorsque vous spécifiez l'énumération d'une action d'alerte particulière, la catégorie d'événements, chaque événement de celle-ci, et chaque réponse ou action sont répertoriés pour cette action.
L'action d'alerte suivante comporte trois réponses qui seront toutes exécutées lorsqu'un des événements true se produit.
Exemple de demande :
GET /api/alert/v1/actions/actions-000 HTTP/1.1
Exemple de résultat :
HTTP/1.1 200 OK X-Zfssa-Appliance-Api: 1.0 Content-Type: application/json Content-Length: 331 { "actions": { "href": "/api/alert/v2/actions/actions-000", "category": "smf", "uuid": "actions-uuid1", "failed_services": true, "degraded_services": true, "repaired_services": false, "action-000": { "handler": "email", "address": "admin@example.com", "subject": "failed or degraded service", "href": "/api/alert/v2/actions/actions-000/action-000" }, "action-001": { "handler": "email", "address": "it-team@example.com", "subject": "failed or degraded service", "href": "/api/alert/v2/actions/actions-000/action-001" }, "action-002": { "handler": "syslog", "href": "/api/alert/v2/actions/actions-000/action-002" } } }
Lorsque vous créez une action d'alerte, vous devez spécifier une valeur pour la propriété category, c'est-à-dire la catégorie d'événements pour laquelle vous définissez cette réponse personnalisée. Reportez-vous au Table 8, Catégories d'événements d'action d'alerte pour obtenir la liste des valeurs de la propriété category.
Exemple de demande :
POST /api/alert/v1/actions HTTP/1.1 Host: zfs-storage.example.com:215 X-Auth-Session: uerqghq84vbdv Content-Type: application/json Content-Length: 30 {"category": "smf"}
Exemple de résultat :
Tous les événements de la catégorie spécifiée apparaissent dans le résultat. Par défaut, tous les événements de la catégorie déclencheront l'exécution des actions de réponse (elles sont toutes définies sur true).
HTTP/1.1 201 Created X-Zfssa-Appliance-Api: 1.0 Content-Type: application/json Content-Length: 118 Location: /api/alert/v1/actions/actions-000 { "actions": { "href": "/api/alert/v2/actions/actions-000", "category": "smf", "uuid": "actions-uuid", "failed_services": true, "degraded_services": true, "repaired_services": true } }
Si certains événements de la catégorie spécifiée ne doivent pas déclencher l'exécution des actions de réponse, définissez les propriétés représentant ces événements sur false.
Dans l'exemple suivant, vous pouvez décider de définir une réponse différente pour un service réparé et un service défaillant ou dégradé.
Exemple de demande :
PUT /api/alert/v1/actions/actions-000 HTTP/1.1 Host: zfs-storage.example.com:215 X-Auth-Session: uerqghq84vbdv Content-Type: application/json Content-Length: 30 {"repaired_services": false}
Exemple de résultat :
HTTP/1.1 202 Accepted X-Zfssa-Appliance-Api: 1.0 Content-Type: application/json Content-Length: 195 { "actions": { "href": "/api/alert/v2/actions/actions-000", "category": "smf", "uuid": "actions-uuid", "failed_services": true, "degraded_services": true, "repaired_services": false } }
Par défaut, les alertes d'événement sont consignées dans le journal d'alertes. Les exemples précédents indiquaient les événements pour lesquels vous souhaitez définir une réponse, en plus de les publier dans le journal d'alertes. Pour définir la réponse à ces événements, spécifiez la valeur de la propriété handler pour l'action d'alerte concernée. Reportez-vous au Table 9, Types de réponses aux actions d'alerte pour obtenir la liste des valeurs de la propriété handler.
Exemple de demande :
Cet exemple crée une action d'alerte pour l'envoi d'un e-mail à admin pour l'alerte actions-000.
POST /api/alert/v1/actions/actions-000 HTTP/1.1 Host: zfs-storage.example.com:215 X-Auth-Session: uerqghq84vbdv Content-Type: application/json Content-Length: 68 {"handler": "email", "address": "admin@example.com", "subject": "failed or degraded service"}
Exemple de résultat :
HTTP/1.1 201 Created X-Zfssa-Appliance-Api: 1.0 Content-Type: application/json Content-Length: 177 Location: /api/alert/v1/actions/actions-000/action-000 { "action": { "href": "/api/alert/v1/actions/actions-002/action-000", "handler": "email", "address": "admin@example.com", "subject": "failed or degraded service" } }
Pour spécifier des réponses supplémentaires au même événement, émettez de nouveau la demande POST pour la même action d'alerte et indiquez un autre gestionnaire, ou indiquez le même gestionnaire et un argument différent pour celui-ci. Si vous spécifiez plusieurs propriétés handler dans une demande, elles sont toutes ignorées sauf la dernière.
Les exemples suivants sont raccourcis. Ces demandes créent /api/alert/v1/actions/actions-000/action-001 et /api/alert/v1/actions/actions-000/action-002, comme indiqué dans la section Obtention d'une seule action d'alerte.
POST /api/alert/v1/actions/actions-002 HTTP/1.1 ... {"handler": "email", "address": "it-team@example.com", "subject": "failed or degraded service"}
POST /api/alert/v1/actions/actions-002 HTTP/1.1 ... {"handler": "syslog"}
Pour modifier une réponse, indiquez son élément HREF.
PUT /api/alert/v1/actions/actions-000/action-001 HTTP/1.1 Host: zfs-storage.example.com:215 X-Auth-Session: uerqghq84vbdv Content-Type: application/json Content-Length: 28 {"address": "it-group@example.com"}
Pour supprimer une réponse, indiquez son élément HREF.
DELETE /api/alert/v1/actions/actions-000/action-000 HTTP/1.1 Host: zfs-storage.example.com:215 X-Auth-Session: uerqghq84vbdv HTTP/1.1 204 No Content
Pour supprimer une action d'alerte, indiquez son élément HREF.
Exemple de demande :
DELETE /api/alert/v1/actions/actions-003 HTTP/1.1 Authorization: Basic Tm8gcGVla2luZyE= Host: zfs-storage.example.com:215
Exemple de résultat :
HTTP/1.1 204 No Content X-Zfssa-Appliance-Api: 1.0