특정 프로세스의 물리적 메모리 양을 시각화하는 일격 필살 원라이너(AWS CloudWatch)
3114 단어 CloudWatchAWS
EC2 전체가 아니라 특정 프로세스의 메모리 양, 시각화하고 싶지 않습니까?
하고 싶습니다.
샘플
cron*/5 * * * * mem=$(ps -C java -O rss | grep RlpMaintenance | gawk '{ count ++; sum += $2 }; END {count --; print sum/1024 ;};');instance_id=$(curl -s -w '\n' http://169.254.169.254/latest/meta-data/instance-id);aws cloudwatch put-metric-data --namespace RlpMaintenance --metric-name RlpMaintenanceMemory --dimension InstanceId=$instance_id --value $mem --unit "Megabytes"
설명
한 라이너를 분할하고 설명합니다.
*/5 * * * *
그냥 cron 식입니다. 좋아하는 사용자 정의.
이대로 사용하면 5분 간격입니다.
mem=$(ps -C java -O rss | grep RlpMaintenance | gawk '{ count ++; sum += $2 }; END {count --; print sum/1024 ;};');
mem이라는 변수를 정의합니다.
더 세분화하고 설명합니다.
ps -C java -O rss
이 샘플에서는 java 프로세스를 대상으로 합니다.
이 부분만 발행하면 ↓와 같은 느낌으로 일어나고 있는 java 프로세스가 모두 나옵니다.
이번에는 RlpMaintenance라는 프로세스의 물리적 메모리를 표시하는 샘플이므로,
이 결과를 ↓로 한 줄로 하고 있습니다.
grep RlpMaintenance
그 후, 이 프로세스가 복수 일어나고 있었을 때를 위해, ↓로 집계하고 있습니다.
gawk '{ count++; sum += $2 }; END {count --; print sum/1024 ;};');
echo $mem을 실행하면 RlpMaintenance라는 프로세스의 실제 메모리를 볼 수 있습니다.
instance_id=$(curl -s -w '\n' htp //169.254.169.254 );
여기는 실행 중인 EC2의 인스턴스 ID를 가져오는 명령입니다.
일반적으로 자주 이용되고 있는 것이군요.
aws cloudwatch put-metric-data --namespace RlpMaintenance --metric-name RlpMaintenanceMemory --dimension InstanceId=$instance_id --value $mem --unit "Megabytes"
위에서 정의한 두 가지 변수를 사용하여 cloudwatch에 put-metric-data합니다.
Cloudwatch에서 살펴보면
이렇게 됩니다.
일반화
cron*/5 * * * * mem=$(ps -C <プロセス名> -O rss | grep <プロセスを特定する文字列> | gawk '{ count ++; sum += $2 }; END {count --; print sum/1024 ;};');instance_id=$(curl -s -w '\n' http://169.254.169.254/latest/meta-data/instance-id);aws cloudwatch put-metric-data --namespace <カスタム名前空間名> --metric-name <メトリクス名> --dimension InstanceId=$instance_id --value $mem --unit "Megabytes"
<프로세스 이름> <프로세스를 식별하는 문자열> <사용자 지정 네임스페이스 이름> <메트릭 이름>
을 커스터마이즈 하면, 무엇이라도 사용할 수 있을까 생각합니다.
※EC2에 Cloudwatch를 이용할 수 있는 롤을 붙이는,
AWS CLI를 사용할 수 있다고 가정합니다.
Reference
이 문제에 관하여(특정 프로세스의 물리적 메모리 양을 시각화하는 일격 필살 원라이너(AWS CloudWatch)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/osak/items/b5d4d425c781cad4a915
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
*/5 * * * * mem=$(ps -C java -O rss | grep RlpMaintenance | gawk '{ count ++; sum += $2 }; END {count --; print sum/1024 ;};');instance_id=$(curl -s -w '\n' http://169.254.169.254/latest/meta-data/instance-id);aws cloudwatch put-metric-data --namespace RlpMaintenance --metric-name RlpMaintenanceMemory --dimension InstanceId=$instance_id --value $mem --unit "Megabytes"
*/5 * * * * mem=$(ps -C <プロセス名> -O rss | grep <プロセスを特定する文字列> | gawk '{ count ++; sum += $2 }; END {count --; print sum/1024 ;};');instance_id=$(curl -s -w '\n' http://169.254.169.254/latest/meta-data/instance-id);aws cloudwatch put-metric-data --namespace <カスタム名前空間名> --metric-name <メトリクス名> --dimension InstanceId=$instance_id --value $mem --unit "Megabytes"
Reference
이 문제에 관하여(특정 프로세스의 물리적 메모리 양을 시각화하는 일격 필살 원라이너(AWS CloudWatch)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/osak/items/b5d4d425c781cad4a915텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)