CloudWatch 솔루션: Amazon EC2의 Tomcat 워크로드
이 솔루션을 사용하면 EC2 인스턴스에서 실행되는 Tomcat 서버용 CloudWatch 에이전트를 사용하여 즉시 사용 가능한 메트릭 컬렉션을 구성할 수 있습니다. 또한, 미리 구성된 CloudWatch 대시보드를 설정하는 데 도움이 됩니다. CloudWatch 관찰성 솔루션에서 모든 CloudWatch 관찰성 솔루션에 대한 일반 정보를 참조하세요.
요구 사항
이 솔루션 관련 조건은 다음과 같습니다.
지원되는 버전: Tomcat 버전 9, 10.1 및 11(베타)
컴퓨팅: Amazon EC2
지정된 AWS 리전의 모든 Tomcat 워크로드에서 최대 500개의 EC2 인스턴스 지원
CloudWatch 에이전트의 최신 버전
-
EC2 인스턴스에 SSM Agent 설치
참고
AWS Systems Manager(SSM Agent)는 AWS 및 신뢰할 수 있는 타사에서 제공하는 일부 Amazon Machine Images (AMI)에 사전 설치되어 있습니다. 에이전트가 설치되지 않은 경우 다음 운영 체제 유형에 대한 절차를 사용하여 수동으로 설치할 수 있습니다.
이점
이 솔루션은 Tomcat 서버 모니터링을 제공함으로써 다음 사용 사례에 관한 유용한 인사이트를 제공합니다.
-
Tomcat 서버 오류 및 성능 문제를 감지합니다.
-
네트워크 트래픽에서 데이터 전송 문제를 모니터링합니다.
-
스레드 사용량 및 활성 사용자 세션을 추적합니다.
-
Tomcat 서버의 기본 JVM 성능을 분석합니다.
솔루션의 가장 중요한 장점으로는 다음과 같은 것들이 있습니다.
-
CloudWatch 에이전트 구성을 사용하여 Apache Tomcat 및 기본 JVM의 메트릭 수집을 자동화함으로써 수동 계측 소요를 없앱니다.
-
Apache Tomcat 및 JVM 메트릭에 대해 미리 구성된 통합 CloudWatch 대시보드를 제공합니다. 대시보드는 솔루션을 사용하여 구성된 새 Tomcat EC2 인스턴스의 메트릭을 자동으로 처리하며, 이는 해당 대시보드를 처음 생성할 때 해당 메트릭이 존재하지 않더라도 마찬가지입니다. 또한 메트릭을 논리적 애플리케이션으로 그룹화하여 더 쉽게 초점을 맞추고 관리할 수 있습니다.
다음 이미지는 해당 솔루션의 대시보드 예시입니다.

비용
이 솔루션은 사용자 계정에 리소스를 생성하여 사용합니다. 표준 사용에 대한 요금이 부과되며, 다음 항목들이 포함됩니다.
CloudWatch 에이전트가 수집한 메트릭은 사용자 지정 메트릭으로 청구됩니다. 이 솔루션에서 사용하는 메트릭 수는 EC2 호스트 수에 따라 달라집니다.
-
솔루션에 구성된 각각의 Tomcat 호스트는 총 27개의 메트릭과 함께, 메트릭 수가 해당 호스트의 디스크 경로 수에 따라 달라지는 메트릭(
disk_used_percent
) 하나를 더해 게시합니다.
-
사용자 지정 단일 대시보드
메트릭을 게시하기 위해 CloudWatch 에이전트가 요청한 API 작업입니다. 이 솔루션의 기본 구성을 사용하면 CloudWatch 에이전트가 PutMetricData를 1분에 한 번씩 호출합니다. 즉, 각각의 EC2 호스트에 대해 30일 이내에 PutMetricData API
30*24*60=43,200
가 호출됩니다.
CloudWatch 요금에 대한 자세한 내용은 Amazon CloudWatch 요금
요금 계산기는 이 솔루션 사용에 대한 대략적인 월별 비용을 추정하는 데 도움이 될 수 있습니다.
요금 계산기를 사용하여 솔루션 월별 비용을 추정하려면
-
Amazon CloudWatch 요금 계산기
를 엽니다. -
메트릭 섹션의 메트릭 수에
(27 + average number of disk paths per EC2 host) * number of EC2 instances configured for this solution
을(를) 입력합니다. -
API 섹션의 API 요청 수에
43200 * number of EC2 instances configured for this solution
을(를) 입력합니다.기본적으로 솔루션에서는 각각의 EC2 호스트마다 PutMetricData 작업을 1분당 하나씩 수행합니다.
대시보드 및 경보 섹션의 대시보드 수에
1
을(를) 입력합니다.-
요금 계산기 하단에서 월별 예상 비용을 확인할 수 있습니다.
이 솔루션에 대한 CloudWatch 에이전트 구성
CloudWatch 에이전트는 서버와 컨테이너화된 환경에서 지속적이고 자율적으로 실행되는 소프트웨어입니다. 인프라와 애플리케이션에서 메트릭, 로그, 트레이스를 수집하여 CloudWatch와 X-Ray로 전송합니다.
CloudWatch에 대한 자세한 내용은 CloudWatch 에이전트를 사용하여 지표, 로그, 추적 수집을(를) 참조하세요.
이 솔루션의 에이전트 구성에서는 Tomcat, JVM, EC2의 기본 메트릭을 수집합니다. CloudWatch 에이전트는 대시보드가 기본적으로 표시하는 것보다 더 많은 JVM 메트릭을 수집하도록 구성할 수 있습니다. 수집할 수 있는 모든 Tomcat 지표 목록은 Tomcat 지표 수집 섹션을 참조하세요. 수집할 수 있는 모든 JVM 지표 목록은 JVM 지표 수집 섹션을 참조하세요. Amazon EC2 메트릭 목록은 Linux 및 macOS 인스턴스의 CloudWatch 에이전트가 수집하는 지표을(를) 참조하세요.
Tomcat 서버의 JMX 포트 노출
CloudWatch 에이전트는 JMX를 사용하여 Tomcat 서버와 JVM 프로세스 관련 메트릭을 수집합니다. 이 작업을 수행하려면 서버에서 JMX 포트를 노출해야 합니다. 모니터링 및 관리를 위해 JMX 포트를 활성화하려면 Tomcat 서버의 시스템 속성을 설정합니다. 환경 변수를 CATALINA_OPTS
을(를) 사용하여 Tomcat에 필요한 시스템 속성을 설정할 수 있습니다. 환경 변수를 설정하기에 가장 적합한 위치에서 Tomcat 서버의 시작 스크립트와 구성 파일을 검토합니다. 반드시 사용하지 않는 포트 번호를 지정해야 합니다. 변경 후에는 서버를 다시 시작해야 합니다.
export CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=<<port-number>> -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
이 예제에서는 인증되지 않은 JMX를 설정합니다. 보안 정책/요건에 따라 암호 인증으로 JMX를 활성화하거나 원격 액세스용 SSL을 활성화해야 하는 경우 JMX 설명서
JMX 포트를 확인하려면 ps aux | grep jmxremote.port
을(를) 실행합니다. 실행 결과를 통해 JMX 포트가 JVM 프로세스에 설정되었다고 표시되어야 합니다.
Tomcat 솔루션의 에이전트 구성
에이전트가 수집한 메트릭은 에이전트 구성에 정의되어 있습니다. 이 솔루션은 솔루션 대시보드에 적합한 차원에 권장 메트릭을 수집하는 에이전트 구성을 제공합니다.
솔루션 배포 단계는 뒷부분의 솔루션 에이전트 배포에 설명되어 있습니다. 다음 정보는 환경에 맞게 에이전트 구성을 사용자 지정하는 방법을 이해하는 데 도움이 됩니다.
환경에 맞게 다음 에이전트 구성의 일부를 사용자 지정해야 합니다.
-
JMX 포트 번호는 이 설명서의 이전 섹션에서 구성한 포트 번호입니다. 포트 번호는 구성의
endpoint
줄에 있습니다. -
AppName
- 수집된 Tomcat 애플리케이션 메트릭의 차원으로 사용됩니다. Tomcat 애플리케이션을 실행하는 인스턴스의 그룹화를 알 수 있는 이름을 입력합니다. -
ProcessGroupName
- Tomcat 호스트와 관련하여 수집된 JVM 메트릭의 차원으로 사용됩니다. 위의AppName
과(와) 동일한 값을 제공합니다. 이렇게 하는 이유는 솔루션 대시보드에서 서버 메트릭과 동일한 Tomcat 앱 그룹의 JVM 메트릭을 볼 수 있도록 하기 위해서입니다.
예를 들어, 동일 AWS 계정에 Tomcat 애플리케이션이 두 개(하나는 billing-system
애플리케이션용, 나머지는 order-system
애플리케이션용) 실행 중인 경우라면 개별 인스턴스의 에이전트 구성에서 이에 따라 AppName
차원과 ProcessGroupName
차원을 설정할 수 있습니다.
-
billing-system
애플리케이션 인스턴스에는AppName=billing-system
과(와)ProcessGroupName=billing-system
(으)로 설정합니다. -
order-system
애플리케이션 인스턴스에는AppName=order-system
과(와)ProcessGroupName=order-system
(으)로 설정합니다.
이러한 지침을 따르면 솔루션이 AppName
차원과 ProcessGroupName
차원에 따라 메트릭을 자동으로 그룹화합니다. 대시보드에는 특정 Tomcat 애플리케이션의 메트릭을 선택하고 볼 수 있는 드롭다운 옵션이 포함되어 있으므로 개별 애플리케이션의 성능을 각각 모니터링할 수 있습니다.
Tomcat 호스트의 에이전트 구성
Tomcat 애플리케이션이 배포된 EC2 인스턴스에 다음 CloudWatch 에이전트 구성을 사용합니다. 구성은 뒷부분의 2단계: Systems Manager Parameter Store에 권장 에이전트 구성 파일을 저장에 설명된 대로 SSM의 Parameter Store에 파라미터로 저장됩니다.
AppName
을 인스턴스가 속한 Tomcat 애플리케이션임을 알 수 있는 이름으로 바꿉니다. 포트 번호
를 Tomcat 서버의 JMX 포트 번호로 바꾸세요. JMX가 암호 인증 또는 원격 액세스용 SSL을 통해 활성화된 경우, 필요에 따라 에이전트 구성에서 TLS 또는 권한 부여를 설정하는 방법에 대한 자세한 내용을 보려면 Java Management Extensions(JMX) 지표 수집 섹션을 참조하세요.
이 구성(JMX 블록 외부에 표시된 구성)에 표시된 EC2 메트릭은는 Linux 및 macOS 인스턴스에서만 작동합니다. Windows 인스턴스를 사용하는 경우 구성에서 이러한 메트릭을 생략하도록 선택할 수 있습니다. Windows 인스턴스에서 수집한 메트릭에 관해서는 Windows Server 인스턴스의 CloudWatch 에이전트가 수집하는 지표에서 자세한 내용을 참조하세요.
{ "metrics": { "namespace": "CWAgent", "append_dimensions": { "InstanceId": "${aws:InstanceId}" }, "metrics_collected": { "jmx": [ { "endpoint": "localhost:
port-number
", "tomcat": { "measurement": [ "tomcat.sessions", "tomcat.errors", "tomcat.processing_time", "tomcat.traffic", "tomcat.max_time", "tomcat.request_count", "tomcat.threads" ] }, "append_dimensions": { "AppName": "AppName
" } }, { "endpoint": "localhost:port-number
", "jvm": { "measurement": [ "jvm.classes.loaded", "jvm.gc.collections.count", "jvm.gc.collections.elapsed", "jvm.memory.heap.committed", "jvm.memory.heap.max", "jvm.memory.heap.used", "jvm.memory.nonheap.committed", "jvm.memory.nonheap.max", "jvm.memory.nonheap.used", "jvm.threads.count" ] }, "append_dimensions": { "ProcessGroupName": "AppName
" } } ], "disk": { "measurement": [ "used_percent" ] }, "mem": { "measurement": [ "used_percent" ] }, "swap": { "measurement": [ "used_percent" ] }, "netstat": { "measurement": [ "tcp_established", "tcp_time_wait" ] } } } }
솔루션 에이전트 배포
사용 사례에 따라 CloudWatch 에이전트를 설치하는 방법에는 여러 가지가 있습니다. 이 솔루션에는 Systems Manager를 사용하는 것이 좋습니다. Systems Manager는 콘솔 환경을 제공하며 단일 AWS 계정 내에 관리형 서버 플릿을 더 쉽게 관리할 수 있습니다. 이 섹션의 내용은 Systems Manager를 사용하며, 기존 구성으로 CloudWatch 에이전트를 실행하지 않는 경우에 적용할 수 있습니다. CloudWatch 에이전트가 실행 중인지 확인에 나열된 단계에 따라 CloudWatch 에이전트가 실행 중인지 확인할 수 있습니다.
JVM 애플리케이션이 배포된 EC2 호스트에서 이미 CloudWatch 에이전트를 실행 중이며 에이전트 구성을 관리 중이라면 이 섹션의 내용을 건너뛰어 기존 배포 메커니즘에 따라 구성을 업데이트할 수 있습니다. JVM의 에이전트 구성을 기존 에이전트 구성과 병합한 다음에 병합된 구성을 배포해야 합니다. Systems Manager를 사용하여 CloudWatch 에이전트의 구성을 저장하고 관리하는 경우, 해당 구성을 기존 파라미터 값에 병합할 수 있습니다. 자세한 내용은 CloudWatch 에이전트 구성 파일 관리를 참조하세요.
참고
Systems Manager를 사용하여 다음 CloudWatch 에이전트 구성을 배포하면 EC2 인스턴스의 기존 CloudWatch 에이전트 구성을 대체하거나 덮어씁니다. 이 구성은 고유한 환경 또는 사용 사례에 맞춰 수정할 수 있습니다. 이 솔루션에 정의된 메트릭은 권장 대시보드에 필요한 최소 항목입니다.
이 배포 프로세스는 다음 단계를 통해 이루어집니다.
1단계: 대상 EC2 인스턴스에 필요한 IAM 권한이 있는지 확인합니다.
2단계: Systems Manager Parameter Store에 권장 에이전트 구성 파일을 저장합니다.
3단계: AWS CloudFormation 스택을 사용하여 하나 이상의 EC2 인스턴스에 CloudWatch 에이전트를 설치합니다.
4단계: 에이전트 설정이 올바르게 구성되었는지 확인합니다.
1단계: 대상 EC2 인스턴스에 필요한 IAM 권한이 있는지 확인
Systems Manager가 CloudWatch 에이전트를 설치하고 구성할 수 있도록 권한을 부여해야 합니다. 또한, CloudWatch 에이전트가 EC2 인스턴스에서 CloudWatch로 원격 측정을 게시할 수 있는 권한을 부여해야 합니다. 인스턴스에 연결된 IAM 역할에 CloudWatchAgentServerPolicy와 AmazonSSMManagedInstanceCore IAM 정책이 연결되어 있는지 확인합니다.
-
역할을 생성하려면 Amazon EC2 인스턴스에서 CloudWatch 에이전트와 함께 사용할 IAM 역할 생성 섹션을 참조하세요.
-
역할이 생성된 후에는 해당 역할을 EC2 인스턴스에 연결합니다. IAM 역할로 인스턴스 시작의 단계에 따라 새 EC2 인스턴스를 시작하는 동안 역할을 연결합니다. 기존 EC2 인스턴스에 역할을 연결하려면 인스턴스에 IAM 역할 연결의 단계를 따릅니다.
2단계: Systems Manager Parameter Store에 권장 에이전트 구성 파일을 저장
Parameter Store는 구성 파라미터를 안전하게 저장하고 관리하여 EC2 인스턴스에 CloudWatch 에이전트 설치하는 작업을 간소화하므로 하드 코딩 값이 필요 없습니다. 이를 통해 보다 안전하고 유연한 배포 프로세스를 보장하며 중앙 집중식 관리를 가능하게 하는 동시에 다양한 인스턴스에서 구성을 더 쉽게 업데이트할 수 있습니다.
다음 단계에 따라 권장 CloudWatch 에이전트 구성 파일을 Parameter Store에 파라미터로 저장합니다.
CloudWatch 에이전트 구성 파일을 파라미터로 생성하려면
AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/
)을 엽니다. 탐색 창에서 애플리케이션 관리와 Parameter Store를 선택합니다.
-
다음 단계에 따라 새 구성 파라미터를 생성합니다.
-
파라미터 생성(Create parameter)을 선택합니다.
-
이름 상자에 이후 단계에서 CloudWatch 에이전트 구성 파일을 참조하는 데 사용할 이름을 입력합니다. 예:
AmazonCloudWatch-Tomcat-Configuration
. -
(선택 사항) Description 상자에 파라미터 설명을 입력합니다.
-
파라미터 계층에서 표준을 선택합니다.
-
Type(유형)에서 문자열을 선택합니다.
데이터 유형에는 텍스트를 선택합니다.
-
값 상자에 Tomcat 호스트의 에이전트 구성에 목록으로 표시된 해당 JSON 블록을 붙여넣습니다. 설명에 따라 그룹화 차원 값과 포트 번호를 사용자 지정해야 합니다.
-
파라미터 생성(Create parameter)을 선택합니다.
-
3단계: CloudWatch 에이전트를 설치하고 AWS CloudFormation 템플릿을 사용하여 구성을 적용
AWS CloudFormation을(를) 사용하여 에이전트를 설치하고 이를 이전 단계에서 생성한 CloudWatch 에이전트 구성을 사용하도록 구성할 수 있습니다.
이 솔루션의 CloudWatch 에이전트를 설치하고 구성하려면
-
https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions.s3.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json
링크를 사용하여 AWS CloudFormation 빠른 스택 생성 마법사를 엽니다. -
콘솔에서 선택한 리전이 Tomcat 워크로드가 실행 중인 리전인지 확인합니다.
-
스택 이름에 스택의 이름을
CWAgentInstallationStack
등과 같이 입력합니다. -
파라미터 섹션에는 다음과 같이 지정합니다.
-
CloudWatchAgentConfigSSM에는 이전에 생성한 에이전트 구성의 Systems Manager 파라미터 이름을
AmazonCloudWatch-Tomcat-Configuration
등과 같이 입력합니다. -
대상 인스턴스를 선택할 때 사용할 수 있는 두 가지 옵션이 있습니다.
-
InstanceIds에는 이 구성으로 CloudWatch 에이전트를 설치하려는 인스턴스 ID에서 쉼표로 구분된 인스턴스 ID 목록을 지정합니다. 단일 인스턴스나 여러 인스턴스를 목록 지정할 수 있습니다.
-
대규모 배포 시에는 TagKey와 해당 TagValue를 지정하여 해당 태그와 값을 사용하는 모든 EC2 인스턴스를 대상으로 지정할 수 있습니다. TagKey를 지정하는 경우 관련된 TagValue를 지정해야 합니다. (Auto Scaling 그룹에서는 TagKey를
aws:autoscaling:groupName
처럼 지정하고 Auto Scaling 그룹 내의 모든 인스턴스에 배포할 TagValue의 Auto Scaling 그룹 이름을 지정합니다.)InstanceIds와 TagKeys 파라미터를 모두 지정하면 InstanceIds가 우선시되어 태그는 무시됩니다.
-
-
-
설정을 검토한 다음 스택 생성을 선택합니다.
템플릿 파일을 먼저 편집하여 사용자 지정하려면 스택 생성 마법사에서 템플릿 파일 업로드 옵션을 선택하여 편집된 템플릿을 업로드합니다. 자세한 내용은 AWS CloudFormation 콘솔에서 스택 생성 단원을 참조하세요. https://aws-observability-solutions.s3.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json
참고
이 단계가 완료되면 이 Systems Manager 파라미터는 대상 인스턴스에서 실행되는 CloudWatch 에이전트와 연결됩니다. 이는 다음을 의미합니다.
-
Systems Manager 파라미터가 삭제되면 에이전트가 중지됩니다.
-
Systems Manager 파라미터를 편집하면 기본값인 30일로 예약된 빈도로 에이전트에 구성 변경 사항이 자동으로 적용됩니다.
-
이 Systems Manager 파라미터에 변경 사항을 즉시 적용하려면 이 단계를 다시 실행해야 합니다. 자세한 내용은 Systems Manager에서 연결 작업을 참조하세요.
4단계: 에이전트 설정이 올바르게 구성되었는지 확인
CloudWatch 에이전트가 실행 중인지 확인에 나열된 단계에 따라 CloudWatch 에이전트가 설치되었는지 확인할 수 있습니다. CloudWatch 에이전트가 설치되어 실행되지 않는 경우 모든 항목을 올바르게 설정했는지 확인합니다.
-
1단계: 대상 EC2 인스턴스에 필요한 IAM 권한이 있는지 확인에서 설명한 대로 EC2 인스턴스에 올바른 권한이 있는 역할을 연결했는지 확인합니다.
-
Systems Manager 파라미터의 JSON을 올바르게 구성했는지 확인합니다. AWS CloudFormation을 사용한 CloudWatch 에이전트 설치 문제 해결 단원의 단계를 따르세요.
모든 것이 올바르게 설정된 경우 CloudWatch에 게시되는 Tomcat 메트릭이 표시됩니다. CloudWatch 콘솔을 확인하여 게시되고 있는지 확인할 수 있습니다.
Tomcat 메트릭이 CloudWatch에 게시되고 있는지 확인하려면
https://console.aws.amazon.com/cloudwatch/
에서 CloudWatch 콘솔을 엽니다. 메트릭, 전체 메트릭을 선택합니다.
솔루션을 배포한 리전을 선택하고 사용자 지정 네임스페이스, CWAgent를 선택합니다.
이 문서의 에이전트 구성 섹션에서
tomcat.errors
과(와) 같이 언급된 메트릭을 검색합니다. 해당 메트릭에 대한 결과가 표시되면 메트릭은 CloudWatch에 게시 중입니다.
Tomcat 솔루션 대시보드 생성
이 대시보드에는 새로 생성된 메트릭이 표시되며 Tomcat 애플리케이션 서버와 기본 JVM을 모두 보여줍니다. 이 대시보드는 Tomcat 워크로드의 상태에 대한 상위 기여자 보기를 제공합니다. 상위 기여자 보기에는 메트릭당 상위 10개의 위젯이 표시됩니다. 이를 통해 이상치를 한눈에 식별할 수 있습니다. 또한 대시보드에는 모든 인스턴스에서 메트릭을 집계하고 제시하여 클러스터의 개요를 포함하여 클러스터의 전반적인 상태 및 운영 상태에 대한 개략적인 요약을 제공합니다.
솔루션 대시보드에는 EC2 메트릭이 표시되지 않습니다. EC2 메트릭을 보려면 EC2 자동 대시보드를 사용하여 EC2 벤딩 메트릭을 확인하고 EC2 콘솔 대시보드를 사용하여 CloudWatch 에이전트에서 수집한 EC2 메트릭을 확인해야 합니다. AWS 서비스의 자동 대시보드에 대한 자세한 내용은 단일 AWS 서비스에 대한 CloudWatch 대시보드 보기을(를) 참조하세요.
대시보드를 생성하기 위해 사용할 수 있는 옵션은 다음과 같습니다.
CloudWatch 콘솔을 사용하여 대시보드를 생성합니다.
AWS CloudFormation 콘솔을 사용하여 대시보드를 배포합니다.
AWS CloudFormation 인프라를 코드로 다운로드하여 지속적 통합(CI) 자동화에 통합합니다.
CloudWatch 콘솔을 사용하여 대시보드를 생성하면 실제 생성 및 청구 전에 대시보드를 미리 볼 수 있습니다.
참고
이 솔루션에서 AWS CloudFormation(으)로 생성된 대시보드에는 솔루션이 배포된 리전의 메트릭이 표시됩니다. Tomcat 메트릭이 게시되는 리전에서 AWS CloudFormation 스택을 생성해야 합니다.
사용자 지정 네임스페이스를 CloudWatch 에이전트 구성의 CWAgent
이외의 네임스페이스로 지정하는 경우 대시보드의 AWS CloudFormation 템플릿을 변경하여 사용 중인 사용자 지정 네임스페이스로 CWAgent
를 바꿔야 합니다.
CloudWatch 콘솔을 통해 대시보드를 생성하려면
참고
현재 솔루션 대시보드는 최신 Java 버전의 기본 수집기인 G1 Garbage Collector에 대해서만 폐영역 회수 관련 지표를 표시합니다. 다른 폐영역 회수 알고리즘을 사용할 경우, 폐영역 회수와 관련된 위젯이 비어 있습니다. 그러나 대시보드 CloudFormation 템플릿을 변경하고, 적절한 폐영역 회수 유형을 폐영역 회수 관련 지표의 이름 차원에 적용하면 이러한 위젯을 사용자 지정할 수 있습니다. 예를 들어 병렬 폐영역 회수를 사용할 경우, name=\"G1 Young Generation\"
을 폐영역 회수 수 지표 jvm.gc.collections.count
의 name=\"Parallel GC\"
로 변경합니다.
-
https://console.aws.amazon.com/cloudwatch/home?#dashboards?dashboardTemplate=ApacheTomcatOnEc2&referrer=os-catalog
링크를 사용하여 CloudWatch 클라우드의 대시보드 생성을 엽니다. -
콘솔에서 선택한 리전이 Tomcat 워크로드가 실행 중인 리전인지 확인합니다.
-
대시보드의 이름을 입력하고 대시보드 생성을 선택합니다.
이 대시보드를 다른 리전의 비슷한 대시보드와 쉽게 구분하려면
TomcatDashboard-us-east-1
처럼 대시보드 이름에 리전 이름을 포함하는 것이 좋습니다. -
대시보드를 미리 보고 저장을 선택하여 대시보드를 생성합니다.
AWS CloudFormation을(를) 통해 대시보드를 생성하려면
-
https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions.s3.amazonaws.com/Tomcat_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json
링크를 사용하여 AWS CloudFormation 빠른 스택 생성 마법사를 엽니다. -
콘솔에서 선택한 리전이 Tomcat 워크로드가 실행 중인 리전인지 확인합니다.
-
스택 이름에 스택의 이름을
TomcatDashboard-us-east-1
등과 같이 입력합니다. -
파라미터 섹션에서 DashboardName 파라미터 아래에 대시보드 이름을 지정합니다.
-
이 대시보드를 다른 리전의 비슷한 대시보드와 쉽게 구분하려면
TomcatDashboard-us-east-1
처럼 대시보드 이름에 리전 이름을 포함하는 것이 좋습니다. -
기능 및 변환에서 변환에 대한 액세스 기능을 확인합니다. CloudFormation은 IAM 리소스를 추가하지 않습니다.
-
설정을 검토한 다음 스택 생성을 선택합니다.
-
스택 상태가 CREATE_COMPLETE가 되면, 생성된 스택에서 리소스 탭을 선택한 다음 물리적 ID의 링크를 선택하여 대시보드로 이동합니다. 콘솔의 왼쪽 탐색 창에서 대시보드를 선택하고 사용자 지정 대시보드에서 대시보드 이름을 찾아 CloudWatch 콘솔의 대시보드에 액세스할 수도 있습니다.
템플릿 파일을 편집하여 범용으로 사용자 지정하려면 스택 생성 마법사의 템플릿 파일 업로드 옵션을 사용하여 편집된 템플릿을 업로드하면 됩니다. 자세한 내용은 AWS CloudFormation 콘솔에서 스택 생성 단원을 참조하세요. https://aws-observability-solutions.s3.amazonaws.com/Tomcat_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json
참고
현재 솔루션 대시보드는 최신 Java 버전의 기본 수집기인 G1 Garbage Collector에 대해서만 폐영역 회수 관련 지표를 표시합니다. 다른 폐영역 회수 알고리즘을 사용할 경우, 폐영역 회수와 관련된 위젯이 비어 있습니다. 그러나 대시보드 CloudFormation 템플릿을 변경하고, 적절한 폐영역 회수 유형을 폐영역 회수 관련 지표의 이름 차원에 적용하면 이러한 위젯을 사용자 지정할 수 있습니다. 예를 들어 병렬 폐영역 회수를 사용할 경우, name=\"G1 Young Generation\"
을 폐영역 회수 수 지표 jvm.gc.collections.count
의 name=\"Parallel GC\"
로 변경합니다.
Tomcat 모니터링 대시보드 시작하기
새 Tomcat 대시보드로 시도해 볼 수 있는 작업들 가운데는 다음과 같은 것이 있습니다. 이들 작업을 통해 대시보드가 올바르게 작동하는지 확인하고 이를 사용하여 Tomcat 애플리케이션 모니터링과 관련된 몇 가지 실습 경험을 제공할 수 있습니다. 이들 작업을 직접 실행해 보면 대시보드 탐색 및 시각화된 메트릭 해석에 익숙해질 수 있습니다.
드롭다운 목록 사용
대시보드는 모니터링할 특정 Tomcat 애플리케이션을 필터링하고 선택하는 데 사용할 수 있는 드롭다운 목록을 상단에 제공합니다. 특정 Tomcat 애플리케이션에 대한 메트릭을 표시하려면 Tomcat 앱 드롭다운 목록에서 해당 애플리케이션 이름을 선택합니다.
애플리케이션 상태 확인
앱 개요 섹션에서 요청 위젯, 오류 위젯, 오류율 위젯을 찾습니다. 이들 위젯에서는 애플리케이션의 요청 처리 성능에 대한 상위 수준 요약을 제공합니다. 조사가 필요한 문제임을 나타낼 수 있는 비정상적으로 오류 수나 비율이 높은 부분을 찾습니다.
요청 처리 모니터링
요청 처리 시간 섹션에서 최대 시간 위젯과 전체 요청 처리 총시간 위젯을 찾습니다. 이들 메트릭에서는 요청 처리 시 잠재적인 성능 병목 현상을 식별하는 데 도움을 줍니다. 다른 서버에 비해 최대 처리 시간이 훨씬 더 긴 서버를 찾습니다.
네트워크 트래픽 분석
네트워크 트래픽 섹션에서 전송된 트래픽 위젯과 수신된 트래픽 위젯을 찾습니다. 이들 위젯에서는 네트워크를 통해 애플리케이션에서 송수신하는 데이터의 양을 보여줍니다. 트래픽 수준이 예상 밖으로 높으면 네트워크 포화가 있거나 비효율적인 데이터 전송과 관련된 문제가 있다는 의미일 수 있습니다.
스레드 사용량 조사
세션 및 스레드 섹션에서 사용 중인 스레드 수 위젯, 스레드 수 위젯, 세션 위젯을 찾습니다. 이들 메트릭에서는 애플리케이션의 스레드 관리 및 활성 사용자 세션에 대한 인사이트를 제공합니다. 사용 중인 스레드 수나 세션 수가 비정상적으로 많아 잠재적으로 리소스 제약이 있을 수 있는 서버를 찾습니다.