====== How to use AWS CloudWatch Agent for better monitoring ====== За замовчуванням AWS збирає деякі метрики і відображає їх, а аларми на них можна повісити. Але там немає пам'яті та диска. Є можливість встановити на інстанси їхнього агента, налаштувати і він буде слати [[https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html|набагато більше інформації]]. ===== Встановлення агента ===== Отже, потрібно встановити агента, створити роль (або налаштувати роль інстанса), налаштувати (конфіг). Визначити лінк та завантажити агент: [[https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/download-cloudwatch-agent-commandline.html|Download and Configure the CloudWatch Agent Using the Command Line]]. Встановити пакет за допомогою rpm чи dpkg. ===== Роль або користувач ===== Треба створити роль або AWS IAM користувача (для ЕС2 бажано роль, для серверів поза Амазоном - користувача), яким надати наступні політики: * **CloudWatchAgentServerPolicy** - обов'язково, надає можливість записувати метрики в CloudWatch; * **AmazonSSMManagedInstanceCore** - необов'язково, для доступу до Systems Manager service; * **CloudWatchAgentAdminPolicy** - необов'язково, для доступу до Parameter Store. Для IAM-користувача потрібна лише перша політика! Інші - для ролі, та й то необов'язково. //CloudWatchAgentAdminPolicy// можна використовувати так: створити налаштування агента на одному інстансі і запушити в SSM; на інших інстансах просто завантажити і використати ці налаштування. Не використовувати політику //AmazonEC2RoleforSSM//! Вона застаріла, замість неї тепер //AmazonSSMManagedInstanceCore//. Якщо використати політику //AmazonSSMManagedInstanceCore// та мати встановлений //SSM Agent// (вже встановлений за замовчуванням у Amazon Linux 2 та Убунту серверах, але не встановлений в Дебіані), то можна заходити на інстанси прямо із AWS консолі! ===== Налаштувати агент ===== Є кілька пресетів щодо того, що агент буде посилати: [[https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file-wizard.html#cloudwatch-agent-preset-metrics|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// ===== Посилання ===== * [[https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html|Collecting Metrics and Logs from Amazon EC2 Instances and On-Premises Servers with the CloudWatch Agent]] * [[https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/troubleshooting-CloudWatch-Agent.html|Troubleshooting the CloudWatch Agent]]