Подтвердить что ты не робот

Как я могу контролировать память, используемую конкретным процессом в облачном узле AWS?

Я хочу контролировать память, используемую конкретным процессом, в cloudwatch в AWS. Нужно ли использовать script для этого? Если да, дайте мне знать шаги или некоторые рекомендации или могу ли я использовать cloudwatch logs для отчета о памяти, используемой конкретным процессом в режиме реального времени? Скажите мне и другие альтернативы.

4b9b3361

Ответ 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 для периодического получения показателей.

Надеюсь, что поможет