서버가 다운 될 때 경고를 받도록 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.