2017-03-02 1 views
-4

우리는 데비안에서 작동하는 여러 톰캣 서버 (AWS에서)를 가지고 있으며 전체 성능 (메모리, CPU 및 기타)에 대한 Cloudwatch 메트릭을 사용합니다. 우리 중 일부는 CPU 또는 메모리 사용량이 급격히 증가한 것을 발견했으며 실제로 이러한 리소스를 막히는 요소를 감지하고 싶습니다. 모든 서버 실행은 Tomcat 컨테이너 내부의 Java 기반이므로 논리적 인 것은 JVM 프로파일 러를 연결하고 스레드를 시각적으로 모니터링하는 것이지만 특정 임계 값 (예 : CPU)을 초과 할 때 Cloudwatch 경고를 사용하도록 설정할 수 있습니다 90 % 이상), 자동화 된 통계 수집을 실행하여 실제 Java 스레드/코드가 이러한 소비의 근본 원인인지 확인합니다.톰캣 모니터링 CPU 스파이크

특정 스파이크를 진단하고 실제로 실행중인 프로세스에 대한 통계를 수집 할 필요가없는 모니터링 에이전트 및/또는 성능 수집 도구가 있습니까?

우리는 이미 New Relic, DataDog 및 Dynatrace의 시험 버전을 시험해 보았습니다. (중소기업에 적합하지 않은 비즈니스 모델로 인해 가장 유용하고 비용이 많이 드는 최신 제품이었습니다.)하지만이 솔루션은 모든 것을 수집합니다. 위의 질문과 같이 필요한 타이밍 윈도우는 ... 작동 할 수 있지만 프로덕션 서버에서 100 % 시간이 사용되는 경우 문제가 발생하고 사전 프로덕션 서버에서는 사용되지 않으면 서버에 상당한 오버 헤드가 발생합니다.

+0

이 질문에 대한 가능한 개선 사항은 메타에 설명되어 있습니다. https://meta.stackoverflow.com/questions/358401/making-my-questions-better/358407 –

+0

main stackoverflow 섹션은 코드 관련 쿼리 용입니다. 질문에 코드가 없습니다. 다른 섹션에서 다시 게시하고 여기에서 삭제해야합니다. –

답변

0

서버 측 모니터링과 함께 사전 프로덕션 환경을 설정하고로드 테스트 (JMeter과 같은 도구 사용)를 실행하는 것이 좋습니다.

Tomcat 백엔드는 JMX 프로토콜을 사용하여 모니터링 할 수 있습니다. CPU, 메모리를 모니터링하는 Perfmon Agent와 JMeter를 및 사용자 정의 JMX 콩,

  • 프리미엄 (Freemium)가 (일명> 50 명의 동시 사용자를 위해 유료) :

    • 무료 :

      당신은이 개 솔루션을 OctoPerf을 Apache Tomcat monitoring을 지원하며 사내 모니터링 에이전트로 aws 서버를 모니터링 할 수 있습니다.

    자유 소프트웨어는 항상 그렇듯이 시간과 비용이 많이 들지 않으며, 유료 소프트웨어를 사용하면 몇 센트의 대가로 문제를 해결할 수 있습니다.

  • +0

    JMeter/Perfmon이 좋지만 (서버가 처리 할 수있는 것처럼) 프로덕션 환경에이를 설치할 예정이며 불행하게도 문제는 발생하지 않습니다. JMX Beans에 관해서는 제가 공부해야 할 것 같습니다 – gvasquez

    +0

    프로덕션 모니터링을 위해 Datadog 및/또는 New Relic과 같은 솔루션을 고려해야합니다. –

    +0

    현재 AWS의 CloudWatch를 사용하고 있습니다. 새로운 유물로 인해 서버가 막히고 지원 팀이 문제를 해결할 수 있었고 Datadog에서 어떤 일이 일어 났는지 기억하지 못합니다. – gvasquez

    관련 문제