Поиск по сайту:

Как управлять AWS Cloudwatch с помощью aws-cli


На этой странице

  1. Предварительные условия
  2. Что будем делать?
  3. Проверьте aws cli и экспортируйте доступ и секретный ключ AWS на свой локальный компьютер.
  4. Управление Cloudwatch с помощью aws-cli
  5. Заключение

В этой статье я покажу вам команды aws-cli для управления Cloudwatch из терминала. Это руководство поможет вам начать использовать aws-cli для создания и управления сигналами тревоги Cloudwatch. Мы увидим команды для создания, управления и удаления аварийного сигнала мониторинга ЦП EC2. Предполагается, что вы уже знакомы с сервисами AWS EC2, Cloudwatch.

Ниже приведены команды aws-cli для Cloudwatch, которые мы увидим в этой статье.

  1. list-metrics: эта команда выводит список указанных метрик.
  2. put-metric-alarm: с помощью этой команды можно создать и обновить сигнал тревоги.
  3. describe-alarms: получить подробную информацию об указанном аварийном сигнале.
  4. set-alarm-state: временно измените состояние сигнала тревоги в целях тестирования с помощью этой команды.
  5. describe-alarm-history: с помощью этой команды проверьте историю указанного аварийного сигнала.
  6. delete-alarms: используйте эту команду, чтобы удалить определенный сигнал тревоги.

Посетите официальную документацию здесь, чтобы узнать, какие команды доступны для управления Cloudwatch.

Предпосылки

  1. Аккаунт AWS  (создайте , если у вас его нет).
  2. Основные сведения об экземпляре EC2 (нажмите здесь, чтобы научиться создавать экземпляр EC2).
  3. Основное понимание Cloudwatch (нажмите здесь, чтобы научиться создавать оповещения для инстанса EC2 из консоли AWS).
  4. Пользователь AWS IAM с помощью создать пользователя IAM).
  5. AWS CLI установлен на вашем локальном компьютере.
  6. Тема SNS (нажмите здесь, чтобы узнать, как создать тему SNS с помощью Cloudformation).

Что мы будем делать?

  1. Проверьте aws cli и экспортируйте доступ и секретный ключ AWS на свой локальный компьютер.
  2. Управление Cloudwatch с помощью aws-cli

Проверьте aws cli и экспортируйте доступ и секретный ключ AWS на свой локальный компьютер.

Прежде чем продолжить, убедитесь, что на вашем локальном компьютере установлен aws-cli.

aws --verson #aws-cli/2.0.0 Python/3.8.2 Darwin/19.2.0 botocore/2.0.0dev7

Получите доступ пользователя AWS IAM и секретные ключи и экспортируйте их на свой терминал.

export AWS_ACCESS_KEY_ID=<your-iam-user-access-key-here>
export AWS_SECRET_ACCESS_KEY=<your-iam-user-secret-key-here>

Проверьте подлинность ключей, которые вы экспортировали.

aws sts get-caller-identity

Вы увидите мои ключи на скриншоте выше, вы не сможете их использовать, так как они больше не активны. Кроме того, обратите внимание, что вы никогда не делитесь своими ключами с кем-либо.

Управление Cloudwatch с помощью aws-cli

Создание будильника бесполезно, если уведомления не доходят до нас, когда срабатывает будильник. Для отправки оповещений нам нужна тема SNS с подпиской на нее. У меня уже есть несколько тем в социальных сетях с подпиской на одну из них по электронной почте. Я буду использовать его в демонстрационных целях. Если у вас нет темы SNS, создайте ее, прежде чем продолжить.

Получите список существующих тем SNS в своем аккаунте.

aws sns list-topics

Получите идентификаторы экземпляров, чтобы создать сигнал тревоги для любого из них.

aws ec2 describe-instances --query "Reservations[].Instances[].InstanceId"

Сохраните идентификатор экземпляра и SNS ARN. Проверьте метрики, доступные для инстансов EC2.

aws cloudwatch list-metrics --namespace "AWS/EC2"

Теперь давайте создадим сигнал тревоги с именем «cpu-mon», который будет срабатывать, когда загрузка ЦП пересекает «70 процентов» в течение «300 секунд» для указанного экземпляра. При срабатывании будильника на указанный SNS будет отправлено уведомление.

aws cloudwatch put-metric-alarm --alarm-name cpu-mon --alarm-description "Test Alarm when CPU exceeds 70 percent" --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 300 --threshold 70 --comparison-operator GreaterThanThreshold  --dimensions "Name=InstanceId,Value=<instance-id>" --evaluation-periods 2 --alarm-actions <sns-arn> --unit Percent

Опишите тревогу, которую мы только что создали, и просмотрите ее детали.

aws cloudwatch describe-alarms --alarm-names cpu-mon

Вы можете изменить состояние будильника. Чтобы запустить его в тестовых целях, давайте изменим состояние на \ТРЕВОГА\. Это изменит состояние будильника на «ТРЕВОГА», и уведомление будет отправлено в тему SNS.

aws cloudwatch set-alarm-state --alarm-name "cpu-mon" --state-value ALARM --state-reason "testing purposes"

Проверьте историю аварийных состояний.

aws cloudwatch describe-alarm-history --alarm-name "cpu-mon" --history-item-type StateUpdate

Когда вам больше не нужен созданный вами будильник, его можно удалить с помощью следующей команды.

aws cloudwatch delete-alarms --alarm-names cpu-mon

Убедитесь, что будильник был удален.

aws cloudwatch describe-alarms

Заключение

В этой статье мы увидели команды для создания и управления тревогами из терминала с помощью aws-cli. Мы создали оповещение для инстанса EC2, чтобы отслеживать загрузку ЦП. Мы увидели, как изменить состояние тревоги вручную, чтобы протестировать созданную нами тревогу. Мы также видели команду для удаления созданного нами будильника. Это руководство поможет вам начать работу с AWS Cloudwatch. Вы можете попробовать различные команды и параметры, доступные для управления Cloudwatch с помощью aws-cli.