Caso B: Envío de Mensajes de Alarma a Slack y SMS
Configure notificaciones automáticas para un canal de Slack y un número de teléfono SMS cuando se disparen alarmas.
Este escenario implica la configuración de un punto final de Slack para un canal y la creación de una alarma que envíe un mensaje tanto a ese canal como a un número de teléfono SMS. Cuando se activa la alarma, el servicio de notificaciones envía el mensaje de alarma al tema de destino, que a continuación distribuye las suscripciones del tema. En este escenario, las suscripciones del tema incluyen el canal de Slack y el número de teléfono de SMS, así como la dirección de correo electrónico.
Política de IAM necesaria
Para utilizar Oracle Cloud Infrastructure, un administrador debe otorgarle acceso de seguridad en una política . Este acceso es necesario tanto si utiliza la Consola como la API de REST con un SDK, una CLI u otra herramienta. Si aparece un mensaje que le informa de que no tiene permiso o no tiene autorización, verifique con el administrador el tipo de acceso que tiene y en qué compartimento trabajar.
Si es miembro del grupo Administradores, ya tendrá el acceso necesario para ejecutar este escenario. De lo contrario, necesita acceso a los servicios Monitoring y Notifications.
Tarea 1: Configuración del punto final de Slack
Cree un webhook entrante en la aplicación Slack.
Ejemplo de un webhook entrante para una aplicación de Slack (equivalente al punto final de Slack para su suscripción): https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
Una vez configurado el punto final de Slack, puede completar todos los demás pasos del escenario en la consola. También puede utilizar la CLI o API de Oracle Cloud Infrastructure, que le permite ejecutar las operaciones individuales.
Tarea 2: Crear el tema
Para obtener ayuda con la resolución de problemas, consulte Resolución de problemas de notificaciones.
- Nota
Otro flujo de trabajo de la consola de este escenario implica la creación de un nuevo tema y la primera suscripción al crear la alarma y, a continuación, la creación de suscripciones adicionales en ese tema.- Abra el panel Crear Tema: en la página de lista Temas, seleccione Crear Tema. Si necesita ayuda para buscar la página de lista, consulte Lista de temas.
- Para Nombre, escriba lo siguiente: Tema de alarma
- Haga clic en Crear.
Utilice el comando oci ons topic create y los parámetros necesarios para crear un tema:
oci ons topic create --name <name> --compartment-id <compartment_OCID>
Ejemplo:
oci ons topic create --name "Alarm Topic" --compartment-id "<compartment_OCID>"
Para obtener una lista completa de parámetros y valores para los comandos de la CLI, consulte la Referencia de la línea de comandos para notificaciones.
Ejecute la operación CreateTopic para crear un tema.
Ejemplo:
POST /20181201/topics Host: notification.us-phoenix-1.oraclecloud.com <authorization and other headers> { "name": "Alarm Topic", "compartmentId": "<compartment_OCID>" }
Tarea 3: Creación de suscripciones
Para obtener ayuda con la resolución de problemas, consulte Resolución de problemas de notificaciones.
- Seleccione el tema que ha creado anteriormente (el nombre de ejemplo era Tema de alarma): en la página de lista Temas, seleccione el tema con el que desea trabajar. Si necesita ayuda para buscar la página de lista o el tema, consulte Lista de temas.
-
Cree la suscripción de Slack.
-
Cree la suscripción de SMS.
-
Cree la suscripción de correo electrónico.
Utilice el comando oci ons subscription create y los parámetros necesarios para crear cada suscripción:
oci ons subscription create --protocol <subscription_type> --subscription-endpoint <endpoint> --compartment-id <compartment_OCID> --topic-id <topic_OCID>
Ejemplo de suscripción de Slack:
oci ons subscription create --protocol "SLACK" --subscription-endpoint "<slack-endpoint>" --compartment-id "<compartment_OCID>" --topic-id "<topic_OCID>"
Ejemplo de suscripción de SMS:
oci ons subscription create --protocol "SMS" --subscription-endpoint "<sms-endpoint>" --compartment-id "<compartment_OCID>" --topic-id "<topic_OCID>"
Ejemplo de suscripción de correo electrónico:
oci ons subscription create --protocol "EMAIL" --subscription-endpoint "john.smith@example.com" --compartment-id "<compartment_OCID>" --topic-id "<topic_OCID>"
Para obtener una lista completa de parámetros y valores para los comandos de la CLI, consulte la Referencia de la línea de comandos para notificaciones.
Ejecute la operación CreateSubscription para crear cada suscripción.
Ejemplo de suscripción de Slack:
POST /20181201/subscriptions Host: notification.us-phoenix-1.oraclecloud.com <authorization and other headers> { "topicId": "<topic_OCID>", "compartmentId": "<compartment_OCID>", "protocol": "SLACK", "endpoint": "<slack-endpoint>" }
Ejemplo de suscripción de SMS:
POST /20181201/subscriptions Host: notification.us-phoenix-1.oraclecloud.com <authorization and other headers> { "topicId": "<topic_OCID>", "compartmentId": "<compartment_OCID>", "protocol": "SMS", "endpoint": "<sms-endpoint>" }
Ejemplo de suscripción de correo electrónico:
POST /20181201/subscriptions Host: notification.us-phoenix-1.oraclecloud.com <authorization and other headers> { "topicId": "<topic_OCID>", "compartmentId": "<compartment_OCID>", "protocol": "EMAIL", "endpoint": "john.smith@example.com" }
Tarea 4: Creación de la alarma
Para obtener ayuda con la resolución de problemas, consulte Resolución de problemas de notificaciones.
- Abra la página Crear alarma.
- Abra el menú de navegación y haga clic en Observación y gestión. En Supervisión, haga clic en Definiciones de alarma.
-
Seleccione Create Alarm.
- Para Nombre de alarma, escriba lo siguiente: Alarma de utilización
-
En Descripción de métrica, seleccione la métrica, el intervalo y la estadística.
Campo Valor de ejemplo para este escenario Compartimento Seleccione el compartimento que contiene la instancia que desea supervisar para un alto uso de CPU. Espacio de nombre de métrica oci_computeagent Nombre de la Métrica CpuUtilization Intervalo 1m Estadísticas Recuento -
En Regla de disparador, configure el umbral de alarma.
Campo Valor de ejemplo para este escenario Operador mayor que Valor 90 Minutos de retraso del disparador 1 - En Notificaciones, Destinos, seleccione el tema que ha creado anteriormente.
Campo Valor de ejemplo para este escenario Servicio de destino Servicio Notificaciones compartimento Seleccione el compartimento que contiene el tema que ha creado anteriormente. Tema Seleccione el tema que ha creado anteriormente. -
Seleccione Save alarm.
- Abra la página Crear alarma.
Utilice el comando oci monitoring alarm create y los parámetros necesarios para crear una alarma:
oci monitoring alarm create --display-name <name> --compartment-id <compartment_OCID> --metric-compartment-id <compartment_OCID> --namespace <metric_namespace> --query-text <mql_expression> --severity <level> --destinations <file_or_text> --is-enabled <true_or_false>
Ejemplo:
oci monitoring alarm create --display-name "Utilization Alarm" --compartment-id "<compartment_OCID>" --metric-compartment-id "<compartment_OCID>" --namespace "oci_computeagent" --query-text "CpuUtilization[1m].count() > 90" --severity "CRITICAL" --destinations "<topic_OCID>" --is-enabled true
Para obtener una lista completa de parámetros y valores para los comandos de la CLI, consulte la Command Line Reference for Monitoring.
Ejecute la operación CreateAlarm para crear una alarma.
Ejemplo:
POST /20180401/alarms Host: telemetry.us-phoenix-1.oraclecloud.com <authorization and other headers> { "displayName": "Utilization Alarm", "compartmentId": "<compartment_OCID>", "metricCompartmentId": "<compartment_OCID>", "namespace": "oci_computeagent", "query": "CpuUtilization[1m].count() > 90", "severity": "CRITICAL", "destinations": [ "<topic_OCID>" ], "isEnabled": true }