Настройка уведомлений Amazon SNS
Используйте интеграцию Amazon SNS в точке контакта, чтобы отправлять уведомления об оповещениях в тему SNS. Затем настройте тему SNS на пересылку уведомлений в отдельные каналы подписчиков, используемые в вашей учётной записи SNS.
Перед началом
Перед началом убедитесь, что у вас есть следующее:
- AWS SNS Topic: тема SNS для отправки уведомлений.
- AWS IAM Identity with necessary access: идентификатор IAM (например, пользователь, роль) с необходимыми разрешениями на публикацию сообщений в теме SNS.
Для минимальной настройки см. Пример с использованием Access Key.
Настройка Amazon SNS для точки контакта
Чтобы создать точку контакта с интеграцией SNS, выполните следующие шаги.
- Перейдите в Alerts & IRM -> Alerting -> Notification configuration, затем выберите вкладку Contact points.
- Нажмите + Add contact point.
- Введите имя точки контакта.
- В списке Integration выберите AWS SNS.
- Задайте обязательные настройки для вашей конфигурации SNS.
- Нажмите Save contact point.
Подробнее о точках контакта, включая их тестирование и включение уведомлений, см. в разделе Настройка точек контакта.
Настройки SNS
- The Amazon SNS API URL: (необязательно) URL API SNS, например
https://sns.us-east-2.amazonaws.com. Если не указан, будет использован URL API SNS из SDK SNS. - Signature Version (sigv4): настраивает процесс подписи AWS Signature Verification 4 для подписи запросов.
- Region: (необязательно) регион AWS. Если пусто, используется регион из цепочки учётных данных по умолчанию.
- Access Key: (необязательно) ключ доступа AWS API.
- Secret Key: (необязательно) секретный ключ AWS API.
И
Access Key, иSecret Keyдолжны быть указаны вместе или оставлены пустыми вместе.Если оставить пустыми, Grafana ищет учётные данные с помощью цепочки учётных данных по умолчанию, включая переменные среды (
AWS_ACCESS_KEY_IDиAWS_SECRET_ACCESS_KEY), общий файл учётных данных и роли экземпляров EC2. - Profile: (необязательно) именованный профиль AWS, используемый для аутентификации.
- SNS topic ARN: (необязательно) если вы не указываете это значение, вы должны указать значение для
Phone numberилиTarget ARN. Если вы используете FIFO-тему SNS, вам следует задать интервал группы сообщений дольше 5 минут, чтобы предотвратить дедупликацию сообщений с одним и тем же ключом группы в окне дедупликации SNS по умолчанию. - Phone number: (необязательно) номер телефона, если сообщение доставляется по SMS, в формате E.164. Если вы не указываете это значение, вы должны указать значение для
SNS topic ARNилиTarget ARN. - Target ARN: (необязательно) ARN конечной точки мобильной платформы, если сообщение доставляется через мобильные уведомления. Если вы не указываете это значение, вы должны указать значение для
SNS topic ARNилиPhone number. - Subject: (необязательно) настройте тему. Это поле поддерживает
шаблоны уведомлений и по умолчанию использует шаблон заголовка по умолчанию (
default.title). Оно не может быть пустой строкой. - Message: (необязательно) настройте сообщение. Это поле поддерживает
шаблоны уведомлений и по умолчанию использует шаблон сообщения по умолчанию (
default.message). - Attributes: (необязательно) добавьте любые атрибуты сообщения SNS.
Пример с использованием Access Key
В этом разделе описан минимальный набор действий для настройки Amazon SNS с Alerting.
1. Создание темы SNS и подписчика Email
-
Перейдите в SNS в консоли AWS:
- Перейдите в консоль Amazon SNS.
-
Создайте новую тему:
- На странице Topics выберите “Create topic”.
- Выберите “Standard” в качестве типа.
- Введите Name для вашей темы, например
My-Topic. - Encryption: для этой минимальной настройки оставьте отключённым.
- Нажмите “Create topic”.
-
(Необязательно) Добавьте подписчика Email для помощи в тестировании:
- Внутри только что созданной темы нажмите “Create subscription”.
- Protocol: выберите
Email. - Endpoint: введите ваш адрес электронной почты для получения тестовых уведомлений.
- Нажмите “Create subscription”.
- Confirm Subscription: проверьте свою почту и подтвердите подписку, перейдя по предоставленной ссылке.
2. Создание политики IAM, пользователя и ключа доступа
-
Перейдите в IAM в консоли AWS:
- Перейдите в консоль IAM.
-
Создайте новую политику:
-
На странице Policies выберите “Create policy”.
-
Переключитесь на вкладку “JSON” и вставьте следующую политику, заменив
Resourceна ARN вашей темы SNS:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["sns:Publish", "sns:GetTopicAttributes"], "Resource": "arn:aws:sns:<region>:<account_id>:<topic_name>" } ] } -
Нажмите “Next”, задайте имя (например,
SNSPublishPolicy) и нажмите “Create policy”.
-
-
Создайте нового пользователя IAM и назначьте политику
- В консоли IAM на странице Users выберите “Create user”.
- Введите User name, например
alerting-sns-user. - Нажмите “Next”.
- В Set permissions выберите “Attach policies directly”.
- Найдите политику, созданную ранее (
SNSPublishPolicy), и выберите её. - Нажмите “Next” и нажмите “Create user”.
-
Создайте Access Key:
- Внутри только что созданного пользователя нажмите “Create access key”.
- Выберите подходящий сценарий использования, например
Application running outside AWS. - Нажмите “Next” и нажмите “Create access key”.
- Save Credentials: запишите Access key ID и Secret access key, которые потребуются на следующем шаге.
3. Настройка точки контакта SNS в Grafana
Выполните шаги из раздела настройка Amazon SNS для точки контакта, используя приведённые ниже настройки и заменяя заполнители значениями SNS и IAM, созданными на предыдущих шагах.
- The Amazon SNS API URL:
https://sns.<region>.amazonaws.com - Signature Version (sigv4):
- Region:
<region> - Access Key:
<YOUR_ACCESS_KEY>. - Secret Key:
<YOUR_SECRET_ACCESS_KEY>
- Region:
- SNS topic ARN:
arn:aws:sns:<region>:<account_id>:<topic_name>
Проверьте точку контакта, чтобы убедиться, что она работает, или включите уведомления для неё.