Зміст

How to use AWS CloudWatch Agent for better monitoring

За замовчуванням 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

Посилання