За замовчуванням AWS збирає деякі метрики і відображає їх, а аларми на них можна повісити. Але там немає пам'яті та диска. Є можливість встановити на інстанси їхнього агента, налаштувати і він буде слати набагато більше інформації.
Отже, потрібно встановити агента, створити роль (або налаштувати роль інстанса), налаштувати (конфіг).
Визначити лінк та завантажити агент: Download and Configure the CloudWatch Agent Using the Command Line. Встановити пакет за допомогою rpm чи dpkg.
Треба створити роль або AWS IAM користувача (для ЕС2 бажано роль, для серверів поза Амазоном - користувача), яким надати наступні політики:
Для IAM-користувача потрібна лише перша політика! Інші - для ролі, та й то необов'язково.
CloudWatchAgentAdminPolicy можна використовувати так: створити налаштування агента на одному інстансі і запушити в SSM; на інших інстансах просто завантажити і використати ці налаштування.
Не використовувати політику AmazonEC2RoleforSSM! Вона застаріла, замість неї тепер AmazonSSMManagedInstanceCore.
Якщо використати політику AmazonSSMManagedInstanceCore та мати встановлений SSM Agent (вже встановлений за замовчуванням у Amazon Linux 2 та Убунту серверах, але не встановлений в Дебіані), то можна заходити на інстанси прямо із AWS консолі!
Є кілька пресетів щодо того, що агент буде посилати: CloudWatch Agent Predefined Metric Sets - що більше метрик надсилаємо, то більше сплачувати за Amazon CloudWatch.
Запуск майстра конфігурації:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
Конфіг буде збережено в /opt/aws/amazon-cloudwatch-agent/bin/config.json - його можна копіювати і використовувати на інших серверах.
Застосувати конфіг і стартувати агент:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json
Перевірити статус:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status
Запустити:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a start
Після першого запуску буде створений SystemD unit amazon-cloudwatch-agent.service