서버가 다운 될 때 경고를 받도록 Amazon Cloudwatch 설정


13

웹 서버로 전환 한 인스턴스가 Amazon EC2에서 실행 중입니다.

이제 클라우드 워치를보고 있었지만 그것이 작업에 적합한 도구인지는 알 수 없습니다. 기본적으로 나는 어떤 이유로 든 서버가 다운 될 때 정보를 얻고 싶습니다.

어쩌면 서버가 해킹 당했거나 어떤 이유로 든 서버가 종료되었을 수 있습니다.

나는 clouwatch를 활성화하고 경고를 설정하려고 시도했지만 네트워크 입력 또는 CPU 사용과 같은 것만 볼 수 있습니다. 이제 나는 이것이 트릭을 할 것인지 모른다.


1
결제 클라우드 킥. 나는 우리가 의견을 전해야한다고 생각하지 않지만, 클라우드 킥은 내가 가장 좋아하는 모니터링 솔루션입니다. pingdom은 사이트가 ping 가능 (apache / nginx) 될 수 있기 때문에 쓸모가 없지만 프록시 / php / java / ruby ​​프로세스가 작동하지 않을 수 있습니다. 3 분마다 cloudkick을 사용하여 실제 URL을 공격하고 지정한 텍스트의 존재 여부 또는 2xx의 성공 여부를 확인하는 것이 훨씬 더 유용하며 전체 스택이 작동하는지 확인합니다. 로드 평균, mem 사용량, 에이전트 연결 (서버 오프라인 또는 연결 끊김), 페이지에서 http 2xx 성공 등에 대한 모니터 설정이 있습니다.
iainlbc

당신은 여기서 좋은 지적을했습니다. PHP 만 다운되면 여전히 200 응답을 얻습니다. 제공 한 링크가 좋은 대안입니다. 최종 결정을 내릴 때 살펴 보겠습니다.
Saif Bechan

@iainlbc 실제 URL에 도달하고 특정 텍스트를 확인하도록 Pingdom을 설정할 수 있습니다.
ceejayoz

답변:


11

한 가지 권장 사항은 CPU 사용량과 같이 항상 숫자 값을 가져야하는 지표를 모니터링하고 지표 상태가 '데이터가 충분하지 않은 경우'경보를 트리거하는 것입니다. Amazon SNS를 사용하여이를 알릴 수 있습니다.

또는 특정 서비스 (httpd, mysql 등)에 대해 이진 상태를 반환하는 사용자 지정 메트릭을 설정하고 이러한 읽기가 0 일 때마다 경고를 생성 할 수 있습니다. '모든 경우를 커버합니다.

실제로 사이트를 모니터하는 것 (예 : Pingdom, UptimeRobot 등)을 사용하면 더 성공적 일 수 있습니다.


나는 pingdom과 같은 서비스를 살펴 보았으며 확실히 가능하게 할 것입니다. 또한 CPU를보고 생각했지만 웹 서버 만 해킹하면 어떻게 될지 생각했습니다. httpd, mysql 등을 테스트하면 도움이 될 것입니다. 당신은 어쩌면 나에게이 진 상태 메트릭을 사용하도록 설정하는 방법에 대한 힌트를 줄 수 .
Saif Bechan

간단히 : 관심있는 서비스의 상태를 얻는 방법을 결정하십시오 (예 : pid / 이름에 대한 ps | grep ; 사용중인 포트 확인 등) – 즉, 워치 독 스크립트. 이러한 스크립트를 수정하여 Cloudwatch API (PutMetricData)를 호출하여 0 (아래로) 또는 1 (위로)로 전달하십시오.이 목적을 위해 존재하는 SDK 중 하나 (예 : Ruby, PHP, 기타); 명령 행 버전 mon-put-data가 느립니다. cron으로 모두 실행하십시오.
cyberx86

1
좋아, 조금 복잡해 보인다. uptimerobot과 같은 서비스가 나에게 더 나은 선택이라고 생각합니다. 모든 도움을 주셔서 감사합니다.
Saif Bechan

3

OpsGenie ( http://www.opsgenie.com )를 사용 하여 CloudWatch에 대한 풍부한 경고를 보낼 수 있습니다 . Currenly CloudWatch에는 SNS 메커니즘을 통한 이메일 및 SMS를 포함한 제한된 경고 메커니즘이 있습니다.

OpsGenie 웹 서비스 API를 호출하도록 CloudWatch를 구성하고 수신자의 환경 설정에 따라 iPhone / Android 앱, SMS, 음성 통화 등에 대한 푸시 알림을 통해 적절한 사람들에게 신속하게 알림을받을 수 있습니다.

자세한 내용은 다음 블로그 게시물을 참조하십시오.

http://www.opsgenie.com/blog/2012/09/04/aws-cloudwatch-alarms-on-your-mobile-with-opsgenie.html


2

Cloudwatch에서 알람을 생성하고 "데이터가 충분하지 않음"상태가되면 알림을 받도록 알람을 설정할 수 있습니다. 이미 사용 가능한 대부분의 메트릭은 VM 호스트에서 가져온 것으로, 시스템 내부에서 어떤 일이 일어나고 있는지 전혀 알지 못합니다.

처음에는 Amazon 도구를 인스턴스에 설치하고 해당 메트릭이 데이터 전송을 중지하는 경우 (임의의 데이터 : CPU 사용량 등) 및 알람을보고하도록 스크립트를 설정하는 것이 좋습니다 (메트릭이 데이터 부족 상태가 됨) ).

이것은 최소 수준이지만 시작하기에 좋은 장소 여야합니다.

Cloudwatch 개발자 안내서의 모니터링 스크립트 섹션을 참조하십시오 : http://docs.amazonwebservices.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts.html


굉장해, 내가 찾던 것.
GivP

2

Route 53과 "건강 검사"를 사용할 수 있습니다. 이를 통해 SNS 경고를 보내고 사용자를 다른 보조 웹 사이트 또는 오류 화면으로 리디렉션 할 수 있습니다. 이것이 Cloudwatch보다 문제에 대한 더 나은 해결책이라고 생각합니다.


2

EC2 상태 확인을 구현할 수 있습니다 . EC2 대시 보드에서 수행됩니다. 인스턴스로 이동하여 인스턴스를 선택하고 상태 확인 탭을 선택하십시오 (인스턴스 설명 옆에 있음). 나는 항상 간격을 1보다 크게 설정하여 일시적인 문제로 귀찮게하지 않습니다.

어떤 이유로 인해 다운 될 경우 인스턴스 를 자동으로 복구 하도록 EC2를 설정할 수도 있습니다 .

또한 보조 모니터링 시스템을 권장합니다. 바보는 이것에 좋습니다. 다른 호스트에서 웹 서버를 가리키는 Linux 유틸리티 mon을 설정했습니다. 200 응답 코드를 두 번 연속으로 얻지 못하면 전자 메일을받습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.