2

AWS에 Centos 6과 함께 EC2 인스턴스가 있으며 단일 PHP 스크립트를 관리하는 감독자 만 있습니다. 어떤 경우에는이 스크립트는 실패하고 나는이 같은 것을 볼 수 있습니다AWS EC2에서 작업자가 실패 할 때 경고 전자

$ sudo /usr/local/bin/supervisorctl status 
my-worker      EXITED Aug 19 10:19 AM 
내 스크립트 8 월 19

때문에 일을하지 않았기 때문에 내가 뭔가를 찾으려고 대해 경고 이메일을 받고 싶습니다

상태 확인과 관련이 있지만로드 밸런서에만 사용할 수있는 상태 확인 또한 CloudWatch에서 뭔가를 찾으려고했지만 관련 측정 항목을 찾을 수 없습니다.

어떤 아이디어라도 내 작업자가 무너질 때 어떻게 이메일을받을 수 있습니까?

답변

3

Cloudwatch는 기본적으로 RAM 사용이나 프로세스 관련 통계와 같은 OS 기반 메트릭이 아닌 하이퍼 바이저 수준 메트릭에 대한 액세스 만 제공하기 때문에 기본적으로 메트릭이 없습니다.

Cloudwatch에서 데이터를 늘리려면 프로세스가 실행 중인지 확인한 작은 스크립트를 작성한 다음 PutMetricData을 호출하여 해당 측정 항목을 Cloudwatch에 업로드 할 수 있습니다.

이런 식으로 뭔가 작업을해야합니다 :

#!/bin/bash 

${process_name}=$1 
DATE=`date +%Y-%m-%dT%H:%M:%S.000Z` 

processes_running=`pidof ${process_name} | wc -w` 

aws cloudwatch put-metric-data --metric-name ${process_name}_running --namespace "MyService" --value ${processes_running} --timestamp $DATE 

그럼 당신이 CloudWatch를 업데이트 할 그러나 자주 cron 또는 무언가 분마다 (또는 것을 전화 - 일분하지만 최대 해상도입니다, 더 자주 통화가 집계됩니다)

그런 다음 일부 작업 (예 : SNS를 사용하여 가입 된 모든 주소로 전자 메일을 보내지 만 잠재적으로 인스턴스 재부팅과 같은 일부 작업 수행)을 수행하면됩니다.