

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Reenvío de alertas a un receptor de alertas con el administrador de alertas en Amazon Managed Service para Prometheus
<a name="AMP-alertmanager-receiver"></a>

Cuando una regla de alerta genera una alerta, se envía al administrador de alertas. El administrador de alertas realiza funciones como desduplicar alertas, inhibirlas durante el mantenimiento o agruparlas según sea necesario. A continuación, reenvía la alerta como un mensaje a un *receptor de alertas*. Puede configurar un receptor de alertas que pueda notificar a los operadores, tener respuestas automatizadas o responder a las alertas de otras maneras.

Puede configurar Amazon Simple Notification Service (Amazon SNS) PagerDuty y como receptores de alertas en Amazon Managed Service para Prometheus. En los temas siguientes se describe cómo crear y configurar su receptor de alertas.

**Topics**
+ [Utilice Amazon SNS como receptor de alertas](AMP-alertmanager-receiver-createtopic.md)
+ [PagerDuty Utilízalo como receptor de alertas](AMP-alertmanager-pagerduty.md)

# Utilice Amazon SNS como receptor de alertas
<a name="AMP-alertmanager-receiver-createtopic"></a>

Puede usar un tema de Amazon SNS como receptor de alertas para Amazon Managed Service para Prometheus, o puede crear uno nuevo. Le recomendamos que utilice un tema de tipo **Estándar** para poder reenviar las alertas del tema por correo electrónico, SMS o HTTP.

Para crear un tema nuevo de Amazon SNS para usarlo como receptor del administrador de alertas, siga las instrucciones incluidas en el [Paso 1: Crear un tema](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html#step-create-queue). Asegúrese de elegir **Estándar** como tipo de tema.

Si desea recibir correos electrónicos cada vez que se envíe un mensaje a ese tema de Amazon SNS, siga las instrucciones incluidas en el [Paso 2: Crear una suscripción al tema](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html#step-send-message).

Tanto si utiliza un tema de Amazon SNS nuevo como existente, necesitará el nombre de recurso de Amazon (ARN) del tema de Amazon SNS para realizar las siguientes tareas.

**Topics**
+ [Concesión de permiso a Amazon Managed Service para Prometheus para enviar mensajes a un tema de Amazon SNS](AMP-alertmanager-receiver-AMPpermission.md)
+ [Configuración del administrador de alertas para que envíe mensajes al tema de Amazon SNS](AMP-alertmanager-receiver-config.md)
+ [Configuración del administrador de alertas para enviar mensajes a Amazon SNS como JSON](AMP-alertmanager-receiver-JSON.md)
+ [Configuración de Amazon SNS para enviar mensajes de alertas a otros destinos](AMP-alertmanager-SNS-otherdestinations.md)
+ [Comprensión de las reglas de validación de mensajes de Amazon SNS](AMP-alertmanager-receiver-validation-truncation.md)

# Concesión de permiso a Amazon Managed Service para Prometheus para enviar mensajes a un tema de Amazon SNS
<a name="AMP-alertmanager-receiver-AMPpermission"></a>

Debe conceder permiso a Amazon Managed Service para Prometheus para enviar mensajes a un tema de Amazon SNS. La siguiente instrucción de política concederá ese permiso. Incluye una instrucción `Condition` para ayudar a prevenir un problema de seguridad conocido como el problema del *suplente confuso*. La instrucción `Condition` restringe el acceso al tema de Amazon SNS para permitir únicamente las operaciones procedentes de esta cuenta específica y del espacio de trabajo de Amazon Managed Service para Prometheus. Para obtener más información sobre el problema del suplente confuso, consulte [Prevención de la sustitución confusa entre servicios](#cross-service-confused-deputy-prevention).

**Para conceder permiso a Amazon Managed Service para Prometheus para enviar mensajes a un tema de Amazon SNS:**

1. [Abra la consola Amazon SNS en https://console.aws.amazon.com/sns/ la versión 3/home.](https://console.aws.amazon.com/sns/v3/home)

1. En el panel de navegación, elija **Temas**.

1. Elija el nombre del tema que va a utilizar con Amazon Managed Service para Prometheus.

1. Elija **Edit (Edición de)**.

1. Elija **Política de acceso** y agregue la siguiente instrucción de política a la política existente.

   ```
   {
       "Sid": "Allow_Publish_Alarms",
       "Effect": "Allow",
       "Principal": {
           "Service": "aps.amazonaws.com"
       },
       "Action": [
           "sns:Publish",
           "sns:GetTopicAttributes"
       ],
       "Condition": {
           "ArnEquals": {
               "aws:SourceArn": "workspace_ARN"
           },
           "StringEquals": {
               "AWS:SourceAccount": "account_id"
           }
       },
       "Resource": "arn:aws:sns:region:account_id:topic_name"
   }
   ```

   [Opcional] Si su tema de Amazon SNS está habilitado para el cifrado del lado del servicio (SSE), debe permitir que Amazon Managed Service for Prometheus envíe mensajes a este tema cifrado añadiendo los `kms:Decrypt` permisos `kms:GenerateDataKey*` y los permisos a la política de claves de la AWS KMS clave utilizada para cifrar el tema.

   Por ejemplo, podría agregar lo siguiente a la política:

   ```
   {
     "Statement": [{
       "Effect": "Allow",
       "Principal": {
         "Service": "aps.amazonaws.com"
       },
       "Action": [
         "kms:GenerateDataKey*",
         "kms:Decrypt"
       ],
       "Resource": "*"
     }]
   }
   ```

   Para obtener más información, consulte [Permisos de AWS KMS para el tema de SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html#sns-what-permissions-for-sse).

1. Seleccione **Save changes (Guardar cambios)**.

**nota**  
 De forma predeterminada, Amazon SNS crea la política de acceso con la condición en `AWS:SourceOwner`. Para obtener más información, consulte [Política de acceso SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-use-cases.html#source-account-versus-source-owner).

**nota**  
IAM sigue la regla de [la política más restrictiva primero](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html). Si en el tema de SNS hay un bloque de políticas que es más restrictivo que el bloque de políticas de Amazon SNS documentado, no se concede el permiso para la política del tema. Para evaluar la política y averiguar qué se ha concedido, consulte [Lógica de evaluación de políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html). 

## Configuración del tema SNS para las regiones de activación
<a name="AMP-alertmanager-sns-regional-config"></a>

Puede usarlo `aps.amazonaws.com` para configurar un tema de Amazon SNS al mismo tiempo Región de AWS que su espacio de trabajo de Amazon Managed Service for Prometheus. Para usar un tema de SNS de una non-opt-in región (como us-east-1) con una región opcional (como af-south-1), debes usar el formato principal del servicio regional. En el principio del servicio regional, sustitúyalo por la non-opt-in región que *us-east-1* quieres usar:. **aps.*us-east-1*.amazonaws.com**

En la siguiente tabla se muestran las regiones de activación y sus correspondientes entidades principales de servicio regionales:


**Regiones de activación y sus entidades principales de servicio regionales**  

| Nombre de la región | Region | Entidad principal de servicio Regional | 
| --- | --- | --- | 
| África (Ciudad del Cabo) | af-south-1 | af-south-1.aps.amazonaws.com | 
| Asia-Pacífico (Hong Kong) | ap-east-1 | ap-east-1.aps.amazonaws.com | 
| Asia-Pacífico (Tailandia) | ap-southeast-7 | ap-southeast-7.aps.amazonaws.com | 
| Europa (Milán) | eu-south-1 | eu-south-1.aps.amazonaws.com | 
| Europa (Zúrich) | eu-central-2 | eu-central-2.aps.amazonaws.com | 
| Medio Oriente (EAU) | me-central-1 | me-central-1.aps.amazonaws.com | 
| Asia-Pacífico (Malasia) | ap-southeast-5 | ap-southeast-5.aps.amazonaws.com | 

Para obtener información sobre cómo habilitar la región de activación, consulte [Administración de las Regiones de AWS](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html) en la *Guía del usuario de IAM* en la Referencia general de Amazon Web Services. 

Al configurar su tema de Amazon SNS para estas regiones de activación, asegúrese de utilizar la entidad principal de servicio regional correcta para permitir la entrega de alertas entre regiones.

## Prevención de la sustitución confusa entre servicios
<a name="cross-service-confused-deputy-prevention"></a>

El problema de la sustitución confusa es un problema de seguridad en el que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. En AWS, la suplantación de identidad entre servicios puede provocar el confuso problema de un diputado. La suplantación entre servicios puede producirse cuando un servicio (el *servicio que lleva a cabo las llamadas*) llama a otro servicio (el *servicio al que se llama*). El servicio que lleva a cabo las llamadas se puedes manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente de una manera en la que no debe tener permiso para acceder. Para evitarlo, AWS proporciona herramientas que lo ayudan a proteger sus datos para todos los servicios con entidades principales de servicio a las que se les ha dado acceso a los recursos de su cuenta. 

Se recomienda utilizar las claves de contexto de condición global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) y [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) en las políticas de recursos para limitar los permisos que Amazon Managed Service para Prometheus concede a Amazon SNS para el recurso. Si se utilizan ambas claves contextuales de condición global, el valor `aws:SourceAccount` y la cuenta del valor `aws:SourceArn` deben utilizar el mismo ID de cuenta cuando se utilicen en la misma declaración de política.

El valor de `aws:SourceArn` debe ser el ARN del espacio de trabajo de Amazon Managed Service para Prometheus.

La forma más eficaz de protegerse contra el problema de la sustitución confusa es utilizar la clave de contexto de condición global de `aws:SourceArn` con el ARN completo del recurso. Si no conoce el ARN completo del recurso o si especifica varios recursos, utiliza la clave de condición de contexto global `aws:SourceArn` con comodines (`*`) para las partes desconocidas del ARN. Por ejemplo, `arn:aws:servicename::123456789012:*`. 

La política mostrada en [Concesión de permiso a Amazon Managed Service para Prometheus para enviar mensajes a un tema de Amazon SNS](#AMP-alertmanager-receiver-AMPpermission) muestra cómo se pueden utilizar las claves contextuales de condición global `aws:SourceArn` y `aws:SourceAccount` en Amazon Managed Service para Prometheus para evitar el problema del suplente confuso.

# Configuración del administrador de alertas para que envíe mensajes al tema de Amazon SNS
<a name="AMP-alertmanager-receiver-config"></a>

Cuando tenga un tema de Amazon SNS de tipo **estándar** (nuevo o existente), podrá agregarlo a la configuración del administrador de alertas como receptor de alertas. El administrador de alertas puede reenviar las alertas a un receptor de alertas configurado. Para completar esta acción, debe conocer el nombre de recurso de Amazon (ARN) del tema de Amazon SNS.

Para obtener más información sobre la configuración del receptor de Amazon SNS, consulte [<sns\$1configs>](https://prometheus.io/docs/alerting/latest/configuration/#sns_configs) en la documentación de configuración de Prometheus. 

**Propiedades no compatibles**

Amazon Managed Service para Prometheus es compatible con Amazon SNS como receptor de alertas. Sin embargo, debido a las limitaciones del servicio, no se admiten todas las propiedades del receptor de Amazon SNS. Las siguientes propiedades no están permitidas en un archivo de configuración del administrador de alertas de Amazon Managed Service para Prometheus:
+ `api_url:` Amazon Managed Service para Prometheus establece la `api_url` en su nombre, por lo que esta propiedad no está permitida.
+ `Http_config`: esta propiedad le permite configurar proxies externos. Actualmente, Amazon Managed Service para Prometheus no admite esta característica.

Además, la configuración de SigV4 es necesaria para tener una propiedad Region. Sin la propiedad Region, Amazon Managed Service para Prometheus no tiene suficiente información para realizar la solicitud de autorización. 

**Para configurar el administrador de alertas con un tema de Amazon SNS como receptor:**

1. Si está utilizando un archivo de configuración del administrador de alertas existente, ábralo en un editor de texto.

1. Si hay receptores actuales distintos de Amazon SNS en el bloque `receivers`, elimínelos. Puede configurar varios temas de Amazon SNS para que sean receptores colocándolos en bloques `sns_config` separados dentro del bloque `receivers`.

1. Agregue el siguiente bloque de YAML dentro de la sección `receivers`.

   ```
   - name: name_of_receiver
     sns_configs:
       - sigv4:
           region: Región de AWS
         topic_arn: ARN_of_SNS_topic
         subject: yoursubject
         attributes:
           key: yourkey
           value: yourvalue
   ```

Si no se especifica un `subject`, de forma predeterminada se generará un asunto con la plantilla predeterminada con el nombre y los valores de la etiqueta, lo que puede dar como resultado un valor demasiado largo para SNS. Para cambiar la plantilla que se aplica al tema, consulte [Configuración del administrador de alertas para enviar mensajes a Amazon SNS como JSON](AMP-alertmanager-receiver-JSON.md) en esta guía. 

Ahora tiene que subir el archivo de configuración del administrador de alertas a Amazon Managed Service para Prometheus. Para obtener más información, consulte [Carga del archivo de configuración del administrador de alertas a Amazon Managed Service para Prometheus](AMP-alertmanager-upload.md).

# Configuración del administrador de alertas para enviar mensajes a Amazon SNS como JSON
<a name="AMP-alertmanager-receiver-JSON"></a>

De forma predeterminada, el administrador de alertas de Amazon Managed Service para Prometheus genera mensajes en un formato de lista de texto sin formato. Esto puede dificultar el análisis por parte de otros servicios. En vez de eso, puede configurar el administrador de alertas para que envíe alertas en formato JSON. JSON puede facilitar el procesamiento de los mensajes en sentido descendente desde Amazon SNS AWS Lambda en los puntos de enlace receptores de webhooks o en ellos. En lugar de utilizar la plantilla predeterminada, puede definir una plantilla personalizada para mostrar el contenido del mensaje en JSON, lo que facilita su análisis en las funciones posteriores.

Para enviar mensajes del administrador de alertas a Amazon SNS en formato JSON, actualice la configuración del administrador de alertas para que incluya el siguiente código en la sección raíz `template_files`:

```
default_template: |
   {{ define "sns.default.message" }}{{ "{" }}"receiver": "{{ .Receiver }}","status": "{{ .Status }}","alerts": [{{ range $alertIndex, $alerts := .Alerts }}{{ if $alertIndex }}, {{ end }}{{ "{" }}"status": "{{ $alerts.Status }}"{{ if gt (len $alerts.Labels.SortedPairs) 0 -}},"labels": {{ "{" }}{{ range $index, $label := $alerts.Labels.SortedPairs }}{{ if $index }}, {{ end }}"{{ $label.Name }}": "{{ $label.Value }}"{{ end }}{{ "}" }}{{- end }}{{ if gt (len $alerts.Annotations.SortedPairs ) 0 -}},"annotations": {{ "{" }}{{ range $index, $annotations := $alerts.Annotations.SortedPairs }}{{ if $index }}, {{ end }}"{{ $annotations.Name }}": "{{ $annotations.Value }}"{{ end }}{{ "}" }}{{- end }},"startsAt": "{{ $alerts.StartsAt }}","endsAt": "{{ $alerts.EndsAt }}","generatorURL": "{{ $alerts.GeneratorURL }}","fingerprint": "{{ $alerts.Fingerprint }}"{{ "}" }}{{ end }}]{{ if gt (len .GroupLabels) 0 -}},"groupLabels": {{ "{" }}{{ range $index, $groupLabels := .GroupLabels.SortedPairs }}{{ if $index }}, {{ end }}"{{ $groupLabels.Name }}": "{{ $groupLabels.Value }}"{{ end }}{{ "}" }}{{- end }}{{ if gt (len .CommonLabels) 0 -}},"commonLabels": {{ "{" }}{{ range $index, $commonLabels := .CommonLabels.SortedPairs }}{{ if $index }}, {{ end }}"{{ $commonLabels.Name }}": "{{ $commonLabels.Value }}"{{ end }}{{ "}" }}{{- end }}{{ if gt (len .CommonAnnotations) 0 -}},"commonAnnotations": {{ "{" }}{{ range $index, $commonAnnotations := .CommonAnnotations.SortedPairs }}{{ if $index }}, {{ end }}"{{ $commonAnnotations.Name }}": "{{ $commonAnnotations.Value }}"{{ end }}{{ "}" }}{{- end }}{{ "}" }}{{ end }}
   {{ define "sns.default.subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}]{{ end }}
```

**nota**  
Esta plantilla crea JSON a partir de datos alfanuméricos. Si los datos contienen caracteres especiales, codifíquelos antes de usar esta plantilla.

Para asegurarse de que esta plantilla se usa en las notificaciones salientes, haga referencia a ella en el bloque `alertmanager_config` de la siguiente manera:

```
alertmanager_config: |
  global:
  templates:
    - 'default_template'
```

**nota**  
Esta plantilla es para todo el cuerpo del mensaje en formato JSON. Esta plantilla sobrescribe todo el cuerpo del mensaje. No puede anular el cuerpo del mensaje si desea utilizar esta plantilla específica. Cualquier modificación que se realice manualmente tendrá prioridad sobre la plantilla.

Para obtener más información acerca de:
+ El archivo de configuración del administrador de alertas, consulte. [Creación de una configuración del administrador de alertas en Amazon Managed Service para Prometheus a fin de administrar y enrutar las alertas](AMP-alertmanager-config.md)
+ La subida del archivo de configuración, consulte [Carga del archivo de configuración del administrador de alertas a Amazon Managed Service para Prometheus](AMP-alertmanager-upload.md).

# Configuración de Amazon SNS para enviar mensajes de alertas a otros destinos
<a name="AMP-alertmanager-SNS-otherdestinations"></a>

Amazon Managed Service para Prometheus solo puede enviar mensajes de alerta a Amazon Simple Notification Service (Amazon SNS). Para enviar esos mensajes a otros destinos, como correo electrónico, webhook o Slack OpsGenie, debe configurar Amazon SNS para que reenvíe los mensajes a esos puntos de enlace.

En las siguientes secciones se describe la configuración de Amazon SNS para reenviar alertas a otros destinos.

**Topics**
+ [Correo electrónico](#AMP-alertmanager-SNS-otherdestinations-email)
+ [Webhook](#AMP-alertmanager-SNS-otherdestinations-webhook)
+ [Slack](#AMP-alertmanager-SNS-otherdestinations-Slack)
+ [OpsGenie](#AMP-alertmanager-SNS-otherdestinations-OpsGenie)

## Correo electrónico
<a name="AMP-alertmanager-SNS-otherdestinations-email"></a>

Para configurar un tema de Amazon SNS para que envíe mensajes al correo electrónico, cree una suscripción. En la consola de Amazon SNS, elija la pestaña **Suscripciones** para abrir la página de la lista **Suscripciones**. Elija **Crear suscripción** y seleccione **Correo electrónico**. Amazon SNS envía un correo electrónico de confirmación a la dirección de correo electrónico indicada. Tras aceptar la confirmación, podrá recibir las notificaciones de Amazon SNS en forma de correos electrónicos desde el tema al que se haya suscrito. Para obtener más información, consulte [Suscripción a un tema de Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html).

## Webhook
<a name="AMP-alertmanager-SNS-otherdestinations-webhook"></a>

Para configurar un tema de Amazon SNS para que envíe mensajes a un punto de conexión de webhook, cree una suscripción. En la consola de Amazon SNS, elija la pestaña **Suscripciones** para abrir la página de la lista **Suscripciones**. Elija **Crear suscripción** y seleccione **HTTP/HTTPS**. Tras crear la suscripción, debe seguir los pasos de confirmación para activarla. Cuando esté activo, su punto de conexión HTTP debería recibir las notificaciones de Amazon SNS. Para obtener más información, consulte [Suscripción a un tema de Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html). Para obtener más información sobre el uso de los webhooks de Slack para publicar mensajes en varios destinos, consulte [¿Cómo uso los webhooks para publicar mensajes de Amazon SNS en Amazon Chime, Slack o Microsoft Teams?](https://aws.amazon.com/premiumsupport/knowledge-center/sns-lambda-webhooks-chime-slack-teams/)

## Slack
<a name="AMP-alertmanager-SNS-otherdestinations-Slack"></a>

Para configurar un tema de Amazon SNS para que envíe mensajes a Slack, tiene dos opciones. Puedes integrarlo con la email-to-channel integración de Slack, que permite a Slack aceptar mensajes de correo electrónico y reenviarlos a un canal de Slack, o puedes usar una función Lambda para reescribir la notificación de Amazon SNS en Slack. [Para obtener más información sobre el reenvío de correos electrónicos a los canales de Slack, consulta Cómo confirmar la suscripción a un tema de SNS para Slack Webhook. AWS](https://stackoverflow.com/questions/49341187/confirming-aws-sns-topic-subscription-for-slack-webhook) Para obtener más información sobre cómo crear una función de Lambda para convertir los mensajes de Amazon SNS a Slack, consulte [Cómo integrar Amazon Managed Service para Prometheus con Slack](https://aws.amazon.com/blogs/mt/how-to-integrate-amazon-managed-service-for-prometheus-with-slack/).

## OpsGenie
<a name="AMP-alertmanager-SNS-otherdestinations-OpsGenie"></a>

Para obtener información sobre cómo configurar un tema de Amazon SNS para enviar mensajes OpsGenie, consulte [Integrar Opsgenie con Amazon SNS entrante](https://support.atlassian.com/opsgenie/docs/integrate-opsgenie-with-incoming-amazon-sns/).

# Comprensión de las reglas de validación de mensajes de Amazon SNS
<a name="AMP-alertmanager-receiver-validation-truncation"></a>

Amazon Simple Notification Service (Amazon SNS) requiere que los mensajes cumplan ciertos estándares. Los mensajes que no cumplan estos estándares se modificarán cuando se reciban. El receptor de Amazon SNS validará, truncará o modificará, si es necesario, los mensajes de alerta según las siguientes reglas:
+ El mensaje contiene caracteres que no son UTF.
  + El mensaje se reemplazará por **Error - not a valid UTF-8 encoded string**.
  + Se agregará un atributo de mensaje con la clave **truncated** y el valor **true**.
  + Se agregará un atributo de mensaje con la clave **modified** y el valor **Message: Error - not a valid UTF-8 encoded string**.
+ El mensaje está vacío.
  + El mensaje se reemplazará por **Error - Message should not be empty**.
  + Se agregará un atributo de mensaje con la clave **modified** y el valor **Message: Error - Message should not be empty**.
+ El mensaje está truncado.
  + El mensaje tendrá el contenido truncado.
  + Se agregará un atributo de mensaje con la clave **truncated** y el valor **true**.
  + Se añadirá un atributo de mensaje con la clave «modificado» y el valor **Mensaje: Error: el mensaje se ha truncado en KB porque supera el límite de *X* tamaño de 256 KB**.
+ El asunto contiene caracteres de control o que no son ASCII.
  + Si el asunto contiene caracteres de control o caracteres que no son ASCII, SNS lo reemplaza por **Error - contains control- or non-ASCII characters**.
  + Para los asuntos de los correos electrónicos de SNS, elimine los caracteres de control, como las líneas nuevas: `\n`.
+ El asunto no está en ASCII.
  + El asunto se reemplazará por **Error - contains non printable ASCII characters**.
  + Se agregará un atributo de mensaje con la clave **modified** y el valor **Subject: Error - contains non-printable ASCII characters**.
+ El asunto está truncado.
  + El asunto tendrá el contenido truncado.
  + Se añadirá un atributo de mensaje con la clave de **modificado** y el valor **Asunto: Error: se ha truncado el asunto de los *X* caracteres porque supera el límite de tamaño de 100** caracteres.
+ El atributo del mensaje tiene una clave o un valor no válidos.
  + Se eliminará el atributo de mensaje no válido.
  + Se añadirá un atributo de mensaje con la clave de **modificado** y el valor de **MessageAttribute: Error: si los atributos *X* del mensaje se han eliminado porque no son válidos MessageAttributeKey ** o. MessageAttributeValue
+ El atributo de mensaje está truncado.
  + Se eliminarán los atributos de mensaje adicionales.
  + Se añadirá un atributo de mensaje con la clave de **modificado** y el valor de **MessageAttribute: Error: *X* de los atributos del mensaje se han eliminado porque superan el límite de tamaño de 256 KB**.

# PagerDuty Utilízalo como receptor de alertas
<a name="AMP-alertmanager-pagerduty"></a>

Puede configurar Amazon Managed Service para que Prometheus envíe alertas directamente a. PagerDuty Esta integración requiere que guardes tu clave de PagerDuty integración AWS Secrets Manager y concedas permiso a Amazon Managed Service for Prometheus para leer el secreto.

PagerDuty La integración permite automatizar los flujos de trabajo de respuesta a incidentes y garantiza que las alertas críticas lleguen a los miembros del equipo adecuados en el momento adecuado. Si lo utiliza PagerDuty como receptor de alertas, puede aprovechar las políticas de escalamiento, PagerDuty la programación de llamadas y las funciones de gestión de incidentes para garantizar que las alertas se reconozcan y resuelvan rápidamente. Esta integración es especialmente valiosa para los entornos de producción, donde la respuesta rápida a los problemas del sistema es esencial para mantener la disponibilidad del servicio y cumplir los requisitos de los acuerdos de nivel de servicio. Para obtener más información, consulte la [base de PagerDuty conocimientos](https://support.pagerduty.com/) en el *PagerDuty sitio web*.

## PagerDuty opciones de configuración
<a name="AMP-alertmanager-pagerduty-configuration-options"></a>




| Opción | Description (Descripción) | Obligatorio | 
| --- | --- | --- | 
|  `routing_key`  |  La clave de PagerDuty enrutamiento para una integración en un servicio. Debe especificarlo como un ARN de Secrets Manager  |  Sí  | 
|  `service_key`  |  La clave PagerDuty de servicio para una integración en un servicio. Debe especificarlo como un ARN de Secrets Manager  |  Sí (para la API de eventos, versión 1)  | 
|  `client`  |  La identificación de cliente del notificador  |  No  | 
|  `client_url`  |  Un enlace al remitente de la notificación  |  No  | 
|  `description`  |  Descripción del incidente  |  No  | 
|  `details`  |  Un conjunto de key/value pares arbitrarios que proporcionan más detalles sobre el incidente  |  No  | 
|  `severity`  |  Gravedad del incidente  |  No  | 
|  `class`  |  La clase o el tipo del evento  |  No  | 
|  `component`  |  Componente de la máquina de origen responsable del evento  |  No  | 
|  `group`  |  Agrupación lógica de componentes  |  No  | 
|  `source`  |  La ubicación única del sistema afectado  |  No  | 

**nota**  
No se admiten las opciones `url`, `service_key_file`, `routing_key_file`, ni `http_config`.

En los temas siguientes se describe cómo configurarse PagerDuty como receptor de alertas en Amazon Managed Service for Prometheus.

**Topics**
+ [PagerDuty opciones de configuración](#AMP-alertmanager-pagerduty-configuration-options)
+ [Configuración AWS Secrets Manager y permisos](AMP-alertmanager-pagerduty-permissions.md)
+ [Configure el administrador de alertas para enviar alertas a PagerDuty](AMP-alertmanager-pagerduty-configure-alertmanager.md)

# Configuración AWS Secrets Manager y permisos
<a name="AMP-alertmanager-pagerduty-permissions"></a>

Antes de poder enviar alertas a PagerDuty, debe almacenar de forma segura PagerDuty la clave de integración y configurar los permisos necesarios. Este proceso implica crear un código secreto AWS Secrets Manager, cifrarlo con una clave gestionada por el cliente AWS Key Management Service (AWS KMS) y conceder a Amazon Managed Service for Prometheus los permisos necesarios para acceder tanto al secreto como a su clave de cifrado. Los siguientes procedimientos le guiarán en cada paso de este proceso de configuración. 

**Para crear un secreto en Secrets Manager para PagerDuty**  
Para PagerDuty utilizarla como receptor de alertas, debe almacenar su clave de PagerDuty integración en Secrets Manager. Siga estos pasos:

1. Abra la [consola de Secrets Manager](https://console.aws.amazon.com/secretsmanager/).

1. Elija **Almacenar un secreto nuevo**.

1. En **Secret type** (Tipo de secreto), elija **Other type of secret** (Otro tipo de secreto).

1. Para los **pares clave/valor**, introduzca su clave de PagerDuty integración como valor secreto. Se trata de la clave de enrutamiento o la clave de servicio de su PagerDuty integración.

1. Elija **Siguiente**.

1. Ingrese un nombre y una descripción para su secreto y, a continuación, elija **Siguiente**.

1. Configure los ajustes de rotación si lo desea y, a continuación, seleccione **Siguiente**.

1. Revise la configuración y seleccione **Almacenar**.

1. Después de crear el secreto, anote su ARN. Lo necesitará al configurar el administrador de alertas.

**Para cifrar tu secreto con una clave gestionada por el cliente AWS KMS**

Debe conceder permiso a Amazon Managed Service para Prometheus para acceder a su secreto y a su clave de cifrado:

1. **Política de recursos secretos**: abra su secreto en la [consola de Secrets Manager](https://console.aws.amazon.com/secretsmanager/).

   1. Elija **Permisos de recursos**.

   1. Elija **Editar permisos**.

   1. Agregue la siguiente instrucción de política. En la declaración, sustituya el valor por sus *highlighted values* valores específicos.

      ```
      {
        "Effect": "Allow",
        "Principal": {
          "Service": "aps.amazonaws.com"
        },
        "Action": "secretsmanager:GetSecretValue",
        "Resource": "*",
        "Condition": {
          "ArnEquals": {
            "aws:SourceArn": "arn:aws:aps:aws-region:123456789012:workspace/WORKSPACE_ID"
          },
          "StringEquals": {
            "aws:SourceAccount": "123456789012"
          }
        }
      }
      ```

   1. Seleccione **Save**.

1. **Política de claves de KMS**: abra la AWS KMS clave en la [AWS KMS consola](https://console.aws.amazon.com/kms).

   1. Elija **Política de claves**.

   1. Elija **Edit (Edición de)**.

   1. Agregue la siguiente instrucción de política. En la declaración, sustituya el *highlighted values* valor por sus valores específicos.

      ```
      {
        "Effect": "Allow",
        "Principal": {
          "Service": "aps.amazonaws.com"
        },
        "Action": "kms:Decrypt",
        "Resource": "*",
        "Condition": {
          "ArnEquals": {
            "aws:SourceArn": "arn:aws:aps:aws-region:123456789012:workspace/WORKSPACE_ID"
          },
          "StringEquals": {
            "aws:SourceAccount": "123456789012"
          }
        }
      }
      ```

   1. Seleccione **Save**.

**Pasos siguientes**: continúe con el tema siguiente, [Configure el administrador de alertas para enviar alertas a PagerDuty](AMP-alertmanager-pagerduty-configure-alertmanager.md).

# Configure el administrador de alertas para enviar alertas a PagerDuty
<a name="AMP-alertmanager-pagerduty-configure-alertmanager"></a>

Para configurar el administrador de alertas al que enviar alertas PagerDuty, debe actualizar la definición del administrador de alertas. Para ello, puede utilizar las Consola de administración de AWS teclas AWS CLI, o AWS SDKs.

**Example de configuración del administrador de alertas**  
A continuación, se muestra un ejemplo de configuración del administrador de alertas que envía alertas a PagerDuty. En el ejemplo, sustituya el *highlighted values* valor por sus valores específicos.  

```
alertmanager_config: |
  route:
    receiver: 'pagerduty-receiver'
    group_by: ['alertname']
    group_wait: 30s
    group_interval: 5m
    repeat_interval: 1h
  receivers:
    - name: 'pagerduty-receiver'
      pagerduty_configs:
      - routing_key: 
          aws_secrets_manager:
            secret_arn: 'arn:aws:secretsmanager:aws-region:123456789012:secret:YOUR_SECRET_NAME'
            secret_key: 'YOUR_SECRET_KEY'
            refresh_interval: 5m
        description: '{{ .CommonLabels.alertname }}'
        severity: 'critical'
        details:
          firing: '{{ .Alerts.Firing | len }}'
          status: '{{ .Status }}'
          instance: '{{ .CommonLabels.instance }}'
```

**Example AWS CLI**  
A continuación, se muestra un AWS CLI comando que se utiliza para actualizar la definición del administrador de alertas. En el ejemplo, sustituya el *highlighted values* valor por sus valores específicos.  

```
aws amp put-alert-manager-definition \
  --workspace-id WORKSPACE_ID \
  --data file://alertmanager-config.yaml
```

## Solución de problemas de PagerDuty integración
<a name="AMP-alertmanager-pagerduty-troubleshooting"></a>

Si no se envían alertas a PagerDuty, compruebe lo siguiente:
+ Compruebe que su secreto existe y que contiene la clave de PagerDuty integración correcta.
+ Asegúrese de que su secreto esté cifrado con una clave de KMS administrada por el cliente.
+ Asegúrese de que las políticas de recursos tanto para el secreto como para la clave de KMS concedan los permisos necesarios a Amazon Managed Service para Prometheus.
+ Compruebe que el ARN de la configuración del administrador de alertas haga referencia correctamente a su secreto.
+ Comprueba que tu clave de PagerDuty integración sea válida y esté activa en tu PagerDuty cuenta.

Amazon Managed Service for Prometheus es compatible con CloudWatch Amazon Logs y con CloudWatch las siguientes métricas para facilitar la solución de problemas. Para obtener más información, consulte [Supervisa los eventos de Prometheus con registros de Amazon Managed Service CloudWatch](CW-logs.md) y [Usa CloudWatch métricas para monitorear los recursos de Amazon Managed Service for Prometheus](AMP-CW-usage-metrics.md).CloudWatch métricas
+ `SecretFetchFailure`
+ `AlertManagerNotificationsThrottledByIntegration`
+ `AlertManagerNotificationsFailedByIntegration`