Я хочу контролировать память, используемую конкретным процессом, в cloudwatch
в AWS
. Нужно ли использовать script для этого? Если да, дайте мне знать шаги или некоторые рекомендации или могу ли я использовать cloudwatch logs
для отчета о памяти, используемой конкретным процессом в режиме реального времени? Скажите мне и другие альтернативы.
Как я могу контролировать память, используемую конкретным процессом в облачном узле AWS?
Ответ 1
Да, вам понадобится script, который запускается на экземпляре, который вы хотите контролировать. Cloudwatch по умолчанию может сообщать только о вещах, которые он может "видеть" на уровне гипервизора, а не о том, что происходит внутри, поэтому вам нужно будет создать и сообщить "настраиваемые показатели".
Вот некоторые указатели Linux script: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts.html
и некоторые для окон: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts-powershell.html
Ответ 2
Поместите это в файл с именем 001initial.config в свою папку .ebextensions вашего ведра s3, который вы используете для своего приложения. Это установит мониторинг и настроит его как задание cron. Обратите внимание на модули perl, которые устанавливаются. Вы захотите ssh в свою коробку и протестируйте script.
Включите безопасность и обновите роль iam для экземпляра ec2 с правами CloudWatch. Обязательно установите флажок для роли, а затем щелкните по нему, чтобы перейти на страницу прав.
Как только вы узнаете, что мониторинг запущен, перейдите на страницу просмотра облака и с самого первого типа страницы в 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: []
Ответ 3
В то время как причина, предоставленная @EJBrennan в его ответе, верна, последнее обновление этого вопроса состоит в том, чтобы просто установить скрипты, как это предусмотрено в этой превосходной документации из AWS
Документация AWS для показателей памяти и диска
Итак, вам нужно
- Установите скрипты на сервере EC2
- Ввести журналы в Cloudwatch с помощью
./mon-put-instance-data.pl --mem-util --mem-used-incl-cache-buff --mem-used --mem-avail
- Настройте панель мониторинга в облачном списке, чтобы увидеть показатели.
В качестве альтернативы вы также можете настроить задание cron для периодического получения показателей.
Надеюсь, что поможет