2009-07-02 2 views
1

java를 사용하여 서버가 실행 중인지 확인하는 가장 좋은 방법에 대한 조언을받을 수 있습니까? 나는 가동 중지 시간을 위해 사이트를 점검하고 싶다. 서버에 연결하고 상태를 얻는 중입니다 (200이 반환 된 경우 다시 표시됩니다). 올바른 방법입니까?Java에서 중단 시간을 확인하는 가장 좋은 방법은 무엇입니까?

연결이 설정되고 60 초마다 상태가 점검 될 때 서버가 느려지지 않습니까?

현재 HttpConnection을 사용하고 HttpConnection.getResponseCode를 통해 상태 코드를 가져 오는 중입니다. 코드가 200이면 서버가 잘 돌아갑니다. 이 방법은 서버에 영향을 미치지 않습니까? 매분마다 자체 요청으로 서버를로드하지 않습니까?

+1

상태 코드 301과 302도 받아 들여야합니다. 물론 –

+1

네, 물론 여기 있습니다. 또 다른 의심! 리디렉션과 리디렉션 된 URL이 500을 반환하면 302 또는 500을 받게됩니다. 흠 ... 이것도 확인해야 해. – Nischal

+1

물론! 그리고 다른 많은 경우가 있습니다 - 302 리디렉션이 동일한 URL에 있으면 어떻게됩니까? 당신은 무한 루프에 빠져 있습니다. –

답변

2

매분마다 단일 요청을해야합니다. 당신을 위해 다운 타임이 해당 사이트에 액세스 할 수없는 것을 의미하고 충분한 대역폭 및로드, 솔루션에 대한 서버 크기의 경우

그냥

+1

머리를 주셔서 감사합니다. .. 그래서 당신은 서버의 부하가 높은 다음이 좋은 생각이 아닌지 말할 말은 무엇입니까?호스트 된 사이트에서 많은 요청으로 인해 문제가있는 공유 호스트에 대해 이것을 구현하면 어떨까요? – Nischal

0

:-) 같은 시간에 일어나고있는 다른 요청의 볼륨을 생각 괜찮지 만 엔터프라이즈보고 용도로는 충분하지 않습니다. 당신은 더 필요합니다.

귀하의 호스팅 제공 업체가 모니터링을 수행하지 않고도 서버의 상태 및 가용성에 대한 정확한 통계를 제공 할 수있는 위치가 더 좋습니다. 그들과 계약을 확인하십시오.

+0

내 사이트에 액세스 할 수없는 순간을 알려주는 서비스를 제공하려고합니다. 호스팅 제공 업체는 일반적으로 가동 중지 시간을 통보 받으면 더 빨리 대응합니다. 보다 효율적인 방법으로 구현하려는 아이디어가 있습니까? 아니면 이것이 괜찮을 것이라고 생각하십니까? 관련 사이트는 높은로드를 경험할 수도 있습니다. 그 이유는이 방법으로 가난한 사이트에 추가 부담을주지 않도록하려는 이유입니다. D – Nischal

+0

"> 호스팅 제공 업체는 일반적으로 가동 중지 시간, 그러므로이 이니셔티브 ".. 이상 하네! 호스팅 제공 업체 중 하나는 포트 및 서버 프로세스 (웹 및 앱 서버 프로세스)를 지속적으로 모니터링합니다. 포트 모니터링은 앱을 실행하는 컴퓨터에서 방화벽 및 프런트 엔드 (4-7 계층) 콘텐츠 스위치로 확장됩니다. 다시 말하지만 솔루션은 작동하지만 호스팅 제공 업체와 함께라면 이러한 유형의 작업에 필요한 책임감의 레이어를 추가 할 수 있습니다 –

0

요청으로 인해 요청이 서버에서 많은 과중한 작업을 수행하지 않는 한 무시해도됩니다. css 파일과 같은 정적 애셋을 요청하여 컨테이너가 응답하는지 간단히 확인할 수도 있습니다.

네트워크 대역폭을 마지막으로 절약하려는 경우 "GET"대신 요청 방법 "HEAD"를 만들 수 있습니다.

+0

어 .. 아! 그래서 "HEAD"요청은 "GET"에 비해 덜 까다로운 요청이라고 할 수 있습니까? 여전히 사이트의 가용성을 확인할 수 있습니까? – Nischal

+0

글쎄, 요청하는 내용에 따라 동적 페이지에 대한 HEAD 요청은 여전히 ​​페이지 렌더링을 유발할 수 있습니다. 결과가 유선을 통해 다시 전송되지 않는다는 것입니다. –

0

직접 해보고 살아야하는 회사 중 하나에 의존하지 않는 이유가 있습니까? 일반적으로 전세계 서버가 있으며 메일과 SMS로 매우 유연한 설정으로 알려줍니다.

내가 아는 회사 중 일부는 host-tracker, monitis, watchourmon.itor.us입니다. 나는 그들과 제휴하지 않고, 단지 고객이다. 다른 것들도 있다고 생각합니다.

+0

그리고 나는 그들과 경쟁하고 싶습니다. 나는 사이트가 다운되는 순간 즉시 알려주는 간단하고 비용 효과적인 서비스를 시작할 생각입니다. 나 같은 단순한 사람이 그걸 할 수있을 것이라고 생각합니까? :) – Nischal

+0

이 서비스에 등록하고 기능 목록을 확인하는 것이 좋습니다. 60 초마다 한 페이지 씩 누르는 것이 항상 필요한 것은 아닙니다. –

+0

예를 들어, 신체가 특정 문구를 포함하고 어떤 종류의 인증을 수행하는 등의 테스트가있을 수 있습니다. –

0

HEAD 요청을 사용하면 GET과 비슷한 응답이 생성되지만 HTTP 헤더 만 포함됩니다.

모니터링하는 서버를 제어 할 수있는 경우 모니터링 목적으로 만 URL을 설정하고 적절한 응답 코드로 간단한 텍스트 응답을 반환하고 리소스에 대한 추가 요구를하지 않는 것이 좋습니다.

HTTP 응답뿐만 아니라 기본 서비스 (예 : 데이터베이스 등)의 상태를 모니터링하고 싶을 수 있습니다. 모니터링 URL은 요청하는 동안이를 확인하고 HTTP 응답 코드를 적절하게 수정합니다 (예 : 500- 서버 오류 또는 그와 비슷한 것을 반환).

+0

서버를 제어 할 수 없기 때문에 URL 만 가져올 수 있습니다. – Nischal

+0

그렇다면 불행히도 웹 서버를 테스트하는 중이고 파생 될 수 있습니다 조심스럽게 URL을 선택하지 않는 한 기본 시스템의 상태에 대해 약간의 설명이 있습니다. –

+0

URL이 상태 코드 "200"을 반환하더라도 여전히 사이트가 다운 될 가능성이 있습니까? – Nischal

관련 문제