Una acción de alerta es una respuesta a un evento de alerta. Para crear una acción de alerta, especifique uno o más eventos y especifique una o más acciones a realizar cuando se envíe una alerta para ese evento, como enviar un correo electrónico o ejecutar un flujo de trabajo. Puede especificarse más de una acción de alerta para cualquier alerta de evento en particular.
La propiedad category especifica la categoría de evento para la cual se realizará la acción de alerta. Cada categoría incluye uno o más eventos. Los eventos dentro de cada categoría se enumeran cuando se crea o enumera la acción de alerta. Por defecto, la acción de alerta se realizará para todos los eventos de la categoría. Si la acción de alerta debe realizarse solo para un subjuego de eventos, defina en false los eventos que no deben disparar esta acción de alerta.
En la siguiente tabla, se describen las categorías de eventos que puede especificar.
|
La propiedad handler especifica el tipo de acción que desea realizar cuando se produce el evento especificado. La mayoría de los valores de handler requiere que se establezcan propiedades adicionales, como se muestra en la siguiente tabla.
|
Cuando enumera todas las acciones de alerta, solo se enumeran la categoría de evento y cada evento de esa categoría para cada acción de alerta. Para mostrar también las respuestas definidas para una acción de alerta, consulte Enumerar una acción de alerta única.
Ejemplo de solicitud para obtener acciones de alerta:
GET /api/alert/v1/actions HTTP/1.1 Authorization: Basic Tm8gcGVla2luZyE= Host: zfs-storage.example.com:215 Accept: application/json
Resultado de ejemplo:
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" } ] }
Cuando especifica una acción de alerta en particular para enumerar, la categoría de evento, cada evento en esa categoría y cada respuesta o acción se enumeran para esa acción de alerta.
La siguiente acción de alerta tiene tres respuestas que se realizarán cuando ocurra uno de los eventos true.
Ejemplo de solicitud:
GET /api/alert/v1/actions/actions-000 HTTP/1.1
Resultado de ejemplo:
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" } } }
Cuando crea una acción de alerta, debe especificar un valor para la propiedad category, que es la categoría de evento para la cual está definiendo esta respuesta personalizada. Consulte Tabla 8, Categorías de eventos de acciones de alerta para obtener la lista de valores de category.
Ejemplo de solicitud:
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"}
Resultado de ejemplo:
El resultado enumera todos los eventos en la categoría de eventos especificada. Por defecto, todos los eventos de la categoría provocarán que las acciones de respuesta se lleven a cabo (todas están definidas en 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 algunos de los eventos en la categoría de evento especificada no debe provocar que las acciones de respuesta se lleven a cabo, defina las propiedades que representan esos eventos en false.
En el siguiente ejemplo, es posible que desee definir una respuesta diferente para un servicio reparado que para un servicio con fallas o degradado.
Ejemplo de solicitud:
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}
Resultado de ejemplo:
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 } }
Por defecto, las alertas de eventos se registran en el log de alertas. En los ejemplos anteriores, se especificaron los eventos para los cuales desea definir una respuesta además de publicarlos en el log de alertas. Para definir la respuesta a esos eventos, especifique el valor de la propiedad handler para la acción de alerta particular. Consulte Tabla 9, Tipos de respuesta de acción de alerta para la lista de valores de handler.
Ejemplo de solicitud:
En este ejemplo, se crea una acción de alerta de enviar un correo electrónico a admin para la alerta 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"}
Resultado de ejemplo:
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" } }
Para especificar respuestas adicionales para el mismo evento, ejecute nuevamente la solicitud POST para la misma acción de alerta y especifique un manejador diferente, o especifique el mismo manejador y un argumento diferente para el manejador. Si especifica más de una propiedad handler en una solicitud, se ignoran todas las propiedades handler excepto la última.
Los siguientes ejemplos están abreviados. Estas solicitudes crean /api/alert/v1/actions/actions-000/action-001 y /api/alert/v1/actions/actions-000/action-002 tal como se muestra en Enumerar una acción de alerta única.
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"}
Para modificar una respuesta, especifique el HREF para la respuesta que desea modificar.
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"}
Para suprimir una respuesta, especifique el HREF para la respuesta que desea suprimir.
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
Para suprimir una acción de alerta, especifique el HREF para la acción de alerta que desea suprimir.
Ejemplo de solicitud:
DELETE /api/alert/v1/actions/actions-003 HTTP/1.1 Authorization: Basic Tm8gcGVla2luZyE= Host: zfs-storage.example.com:215
Resultado de ejemplo:
HTTP/1.1 204 No Content X-Zfssa-Appliance-Api: 1.0