Введение
Создайте alarm запросов, опубликуйте неверный профиль, затем восстановите сайт и состояние OK.
Сначала выполните предыдущие работы портфолио. Среда предоставляет собственные ресурсы и необходимые возможности прежних этапов. Переносите знания, а не экземпляры, файлы или учётные данные.
Связь с сертификацией
| Сертификация | Задачи | Практика |
|---|---|---|
| AWS Certified Cloud Practitioner (CLF-C02) | Task 3.8 | Наблюдать сбой и восстановление через метрики, alarms и журналы. |
Обзор

Настройте alarm ошибок
На этом шаге вы будете наблюдать реальные запросы. Откройте здоровый сайт. Метрика — значение во времени, namespace объединяет, dimensions обозначают приложение. Errors в LabEx/Portfolio, Application=portfolio, получает 1 при ошибке, 0 при успехе. Alarm сравнивает с порогом, но не исправляет сайт. Errors в этой работе измеряет только запросы страницы /website. Изображения и другие файлы создают отдельные события логов.
Перейдите в проект.
cd /home/labex/project
Загрузите и покажите экземпляр.
source website.env
echo "$INSTANCE_ID"
Прочитайте Sum, Period=10, EvaluationPeriods=1 и GreaterThanThreshold с порогом 0. missing не считает отсутствие данных здоровым трафиком. Подготовлена собственная метрика с секундным разрешением; уведомления не настроены.
cat website-alarm.json
Создайте alarm из файла.
aws cloudwatch put-metric-alarm --cli-input-json file://website-alarm.json
Прочитайте состояние.
aws cloudwatch describe-alarms --alarm-names portfolio-errors
INSUFFICIENT_DATA может означать, что ещё нет достаточно оценённых данных. AWS View показывает то же состояние; не задавайте его вручную.
Наблюдайте неудачную публикацию
На этом шаге вы воспроизведёте неверный JSON, не изменяя сеть или разрешения.
Прочитайте повреждённый профиль.
cat profile-broken.json
Передайте его SCP по тому же пути.
scp -F ssh_config profile-broken.json ubuntu@"$PUBLIC_IP":/home/ubuntu/portfolio/profile.json
Обновите: Website unavailable, EC2 остаётся running. Найдите path=/website status=503 и свяжите с последней публикацией. Шаблон задаёт точную фразу: внешние одинарные кавычки сохраняют внутренние двойные кавычки.
aws logs filter-log-events --log-group-name "$LOG_GROUP" --filter-pattern '"status=503"'
Дождитесь десятисекундного периода, повторите неудачный запрос при необходимости и прочитайте alarm.
aws cloudwatch describe-alarms --alarm-names portfolio-errors
Подтвердите ALARM. Если данных мало, создайте новый реальный запрос и дождитесь оценки. Старый журнал — не свежая метрика.

Восстановите сайт и проверьте результат
На этом шаге вы вернёте правильный профиль и проверите приложение вместе с alarm.
Прочитайте три правильных поля известного файла.
cat profile-working.json
Опубликуйте по тому же пути.
scp -F ssh_config profile-working.json ubuntu@"$PUBLIC_IP":/home/ubuntu/portfolio/profile.json
Обновите для Alex Morgan и изображения S3, затем найдите новый path=/website status=200. Шаблон задаёт точную фразу: внешние одинарные кавычки сохраняют внутренние двойные кавычки.
aws logs filter-log-events --log-group-name "$LOG_GROUP" --filter-pattern '"status=200"'
Дайте здоровому трафику новый период, повторите запросы при необходимости и проверьте alarm.
aws cloudwatch describe-alarms --alarm-names portfolio-errors
Подтвердите OK. Старые 503 сохраняются. Без запросов missing может вернуть INSUFFICIENT_DATA, что отличается от доказанного здорового трафика; сохраняйте успешные запросы свежими во время проверки.

Удалите нагрузку и мониторинг
На этом шаге вы очистите ресурсы после подтверждения восстановления.
Завершите экземпляр.
aws ec2 terminate-instances --instance-ids "$INSTANCE_ID"
Дождитесь terminated.
aws ec2 wait instance-terminated --instance-ids "$INSTANCE_ID"
Удалите только portfolio-errors.
aws cloudwatch delete-alarms --alarm-names portfolio-errors
Удалите группу журналов упражнения.
aws logs delete-log-group --log-group-name "$LOG_GROUP"
Сохраните S3, роль, сеть и контрольные события. Удаление alarm не удаляет метрики; завершённое приложение не создаёт новые запросы. Продолжите AWS Resource Management for Beginners.
Резюме
Вы увидели 503 и ALARM, восстановили профиль и подтвердили 200 и OK перед очисткой.
Официальные источники: CloudWatch alarms, high-resolution custom metrics.



