Как отслеживать память, используемую конкретным процессом в AWS cloudwatch?
Я хочу контролировать память, используемую конкретным процессом под cloudwatch
на AWS
. Должен ли я использовать скрипт для этого? Если да, дайте мне знать шаги или некоторые рекомендации или я могу использовать cloudwatch logs
сообщить о памяти, используемой конкретным процессом в режиме реального времени? Расскажи мне и о других вариантах.
3 ответов
да, вам понадобится скрипт, который выполняется на экземпляре, который вы хотите отслеживать. Cloudwatch по умолчанию может сообщать только о том, что он может "видеть" на уровне гипервизора, а не о том, что происходит "внутри", поэтому вам нужно создать и сообщить "пользовательские метрики".
вот некоторые указатели скриптов Linux: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts.html
и некоторые для окна: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts-powershell.html
поместите это в файл с именем 001initial.config в вашем .папка ebextensions вашего ведра s3, которое вы используете для своего приложения ver. Это позволит установить мониторинг и настроить его как задание cron. Обратите внимание на модули perl, которые устанавливаются. Вы захотите ssh в свой ящик и протестировать сценарий.
перейдите в безопасность и обновите свою роль iam для экземпляра ec2 с правами CloudWatch. Обязательно установите флажок для роли, а затем нажмите его, чтобы получить права страница.
Как только вы узнаете, что мониторинг запущен, перейдите на страницу cloud watch и с самой первой страницы введите System / Linux и найдите это, и он покажет вам статистику диска и памяти.
---
files:
"/etc/cron.d/my_cron":
mode: "000644"
owner: root
group: root
content: |
# run a cloudwatch command every five minutes (as ec2-user)
*/5 * * * * ec2-user ~/aws-scripts-mon/mon-put-instance-data.pl --mem-util --mem-used --mem-avail --disk-space-util --disk-path=/ --from-cron
encoding: plain
commands:
# delete backup file created by Elastic Beanstalk
clear_cron_backup:
command: rm -f /etc/cron.d/watson.bak
container_commands:
02download:
command: "curl http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip -O"
ignoreErrors: true
03extract:
command: "unzip CloudWatchMonitoringScripts-1.2.1.zip"
ignoreErrors: true
04rmzip:
command: "rm rm CloudWatchMonitoringScripts-1.2.1.zip"
ignoreErrors: true
05cdinto:
command: "mv aws-scripts-mon/ /home/ec2-user"
ignoreErrors: true
packages:
yum:
perl-Switch : []
perl-URI: []
perl-Bundle-LWP: []
perl-DateTime: []
perl-Sys-Syslog: []
perl-LWP-Protocol-https: []
хотя причина, приведенная @EJBrennan в его ответе, верна,более недавнее обновление этого вопроса - просто установить скрипты, как это предусмотрено в этой отличной документации от AWS
AWS Documentation for Memory & Disk Metrics
поэтому вам нужно
- установите скрипты на свой сервер EC2
- поместите журналы в Cloudwatch с помощью
./mon-put-instance-data.pl --mem-util --mem-used-incl-cache-buff --mem-used --mem-avail
- настройка панели мониторинга в ваши cloudwatch, чтобы увидеть показатели.
кроме того, можно также настроить задание хрона для получения метрик на периодической основе.
надеюсь, что это поможет