Chcę monitorować pamięć używaną przez określony proces pod numerem cloudwatch
w AWS
. Czy do tego celu muszę użyć skryptu? Jeśli tak, daj mi znać, jakie kroki lub jakąś wskazówkę, czy mogę użyć cloudwatch logs
do raportowania pamięci wykorzystywanej przez konkretny proces w czasie rzeczywistym? Powiedz mi także inne alternatywy.Jak mogę monitorować pamięć używaną przez określony proces w chmurze AWS?
Odpowiedz
Tak, potrzebny będzie skrypt działający na instancji, którą chcesz monitorować. Cloudwatch domyślnie może raportować jedynie rzeczy, które "widzi" na poziomie hiperwizora, a nie rzeczy, które pojawiają się "w środku", więc musisz utworzyć i zgłosić "niestandardowe dane".
Oto kilka wskazówek Linux Scenariusz: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts.html
a niektóre dla systemu Windows: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts-powershell.html
umieścić to w pliku o nazwie 001initial.config w folderze .ebextensions swojej s3 wiadra używasz dla twojej aplikacji ver. Spowoduje to zainstalowanie monitorowania i skonfigurowanie go jako zadania cron. Uwaga na moduły perla, które zostaną zainstalowane. Będziesz chciał ssh w swoim pudełku i przetestować działanie skryptu.
Przejdź do bezpieczeństwa i zaktualizuj swoją rolę iam dla swojej instancji EC2 z uprawnieniami CloudWatch. Pamiętaj, aby zaznaczyć pole wyboru roli, a następnie kliknąć, aby przejść do strony uprawnień.
Gdy już wiesz, że monitorowanie jest uruchomione, przejdź do strony oglądania w chmurze i od pierwszego rodzaju strony w System/Linux i wyszukaj to i pokaże statystyki dysku i pamięci.
---
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: []
Chociaż powód dostarczone przez @EJBrennan w jego odpowiedź jest poprawna, nowsza aktualizacja na to pytanie jest po prostu zainstalować skrypty, jak przewidziano w tej doskonałej dokumentacji z AWS
AWS Documentation for Memory & Disk Metrics
Więc trzeba
- zainstalować skrypty na serwerze EC2
- Umieść dzienniki w Cloudwatch, używając
./mon-put-instance-data.pl --mem-util --mem-used-incl-cache-buff --mem-used --mem-avail
- Skonfiguruj pulpit nawigacyjny w swoim chmurze, aby wyświetlić dane.
Można także ustawić zadanie cron, aby uzyskać dane okresowe.
Nadzieja, która pomaga
Pierwszy podany przez Ciebie link wygląda na uszkodzony. Przekierowuje teraz do [What Is Amazon CloudWatch?] (Http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html) – blong
Naprawiłem link dla ciebie. – Jrgns
Nie sądzę, że może raportować pamięć wykorzystywaną przez konkretny proces w czasie rzeczywistym. najpierw mininalny interwał w chmurach to 60 sekund, a drugi sklejony powyżej Linux jest dla systemu Linux/System jako całości, a nie dla konkretnego procesu –