Amazon ECS의 Docker 컨테이너에서 실행되고 지원되는 서비스가 있는 경우 ECS 통합을 통해 해당 통합을 활성화할 수 있습니다. 이것은 모니터링되는 서비스, 호스트 및 컨테이너의 데이터를 보고합니다.
요구 사항
ECS에서 실행되는 서비스를 모니터링하려면 다음 요구 사항을 충족해야 합니다.
요구 사항을 충족하는 ECS에서 실행되는 지원 서비스입니다. 지원되는 서비스는 다음과 같습니다.
인프라 에이전트 호환성 및 요구 사항을 충족하는 Amazon Linux, CentOS 또는 RHEL을 실행하는 자동 확장 ECS 클러스터.
ECS 작업에는 네트워크 모드 가
none
또는bridge
로 설정되어 있어야 합니다(awsvpc
및host
는 지원되지 않음).
제한 사항:
- 이 설치 방법의 경우 RabbitMQ 및 Apache 통합은 인벤토리 데이터를 보고하지 않습니다.
- AWS Fargate는 지원되지 않습니다.
활성화 방법
ECS에서 실행되는 서비스 모니터링을 활성화하는 방법을 설명하기 전에 다음은 프로세스에 대한 개요입니다.
- Amazon EC2를 활성화 하여 ECS 클러스터에 인프라 에이전트를 설치합니다.
- 서비스별 구성 파일을 사용하여 서비스 모니터링을 활성화 합니다.
1단계: EC2를 활성화하여 인프라 에이전트 설치
먼저 Amazon EC2를 활성화하여 ECS 클러스터에 인프라 에이전트를 설치해야 합니다. 이렇게 하려면 먼저 사용자 데이터를 업데이트하여 시작 시 인프라 에이전트를 설치해야 합니다.
다음은 EC2 시작 구성 변경에 대한 지침입니다( Amazon EC2 설명서 에서 가져옴).
Amazon EC2 콘솔 을 엽니다.
탐색 창의 Auto scaling 아래에서 Launch configurations 선택합니다.
다음 페이지에서 업데이트할 시작 구성을 선택합니다.
마우스 오른쪽 버튼을 클릭하고 Copy launch configuration 선택합니다.
Launch configuration details 탭에서 Edit details 클릭합니다.
사용자 데이터를 다음 스니펫 중 하나로 바꿉니다.
Skip to review 선택합니다.
Create launch configuration 선택합니다.
다음으로 Auto Scaling 그룹을 업데이트합니다.
- Amazon EC2 콘솔 을 엽니다.
- 탐색 창의 Auto scaling 아래에서 Auto scaling groups 선택합니다.
- 업데이트하려는 Auto Scaling 그룹을 선택합니다.
- Actions 메뉴에서 Edit 선택합니다.
- Launch configuration 드롭다운 메뉴에서 생성된 새로운 복귀 설정을 선택하세요.
- Save 을(를) 클릭합니다.
에이전트가 자동으로 인스턴스를 감지하는지 테스트하려면 Auto Scaling 그룹에서 EC2 인스턴스를 종료합니다 . 이제 대체 인스턴스가 새 사용자 데이터로 시작됩니다. 5분 후에 호스트 페이지 에 새 호스트의 데이터가 표시되어야 합니다.
다음으로 서비스 모니터링 활성화로 이동합니다.
2단계: 서비스 모니터링 활성화
EC2에서 인프라 에이전트를 실행하도록 설정 하면 에이전트는 해당 호스트에서 실행되는 컨테이너 모니터링을 시작합니다.
다음으로 ECS에 배포된 서비스를 모니터링하는 방법을 설명합니다. 예를 들어 애플리케이션 서버 앞에 있는 NGINX 인스턴스가 포함된 ECS 작업을 모니터링할 수 있습니다.
다음은 ECS에 배포된 지원 서비스 를 모니터링하는 방법에 대한 간략한 개요입니다.
- 모니터링하려는 서비스에 대한 YAML 구성 파일을 만듭니다. 이는 결국 AWS 콘솔을 통해 EC2 사용자 데이터 섹션에 배치됩니다. 하지만 그 전에 EC2의 인프라 에이전트 폴더(
etc/newrelic-infra/integrations.d
)에 해당 파일을 배치하여 구성이 작동하는지 테스트할 수 있습니다. 해당 구성 파일은 컨테이너를 자동으로 찾을 수 있는 컨테이너 자동 검색 형식을 사용해야 합니다. 정확한 구성 옵션은 특정 통합 에 따라 다릅니다. - 서비스의 데이터가 New Relic에 보고되고 있는지 확인하십시오.
- 표시되는 데이터에 만족하면 EC2 콘솔을 사용하여 해당 구성을
write_files
섹션의 적절한 시작 구성에 추가한 다음 Auto Scaling 그룹을 업데이트할 수 있습니다. runcmd
섹션에서yum
명령어를 추가하여 적절한 시작 구성에 통합을 설치합니다.
NGINX에 대해 위의 절차를 수행하는 자세한 예는 다음과 같습니다.
서버에 대한 SSH 액세스 권한 또는 AWS Systems Manager Session Manager 액세스 권한이 있는지 확인하십시오. 인프라 에이전트를 실행하는 호스트에 로그인합니다.
명령줄을 통해 디렉터리를 통합 구성 폴더로 변경합니다.
bash$cd /etc/newrelic-infra/integrations.dnginx-config.yml
이라는 파일을 만들고 다음 스니펫을 추가합니다.---discovery:docker:match:image: /nginx/integrations:- name: nri-nginxenv:STATUS_URL: http://${discovery.ip}:${discovery.port}/statusREMOTE_MONITORING: trueMETRICS: 1이 구성으로 인해 인프라 에이전트는 ECS에서
nginx
이(가) 포함된 컨테이너를 찾습니다. 컨테이너가 일치하면 NGINX 상태 페이지에 연결됩니다.discovery.ip
스니펫 작동 방식에 대한 자세한 내용은 자동 검색 을 참조하세요. 일반 NGINX 구성에 대한 자세한 내용은 NGINX 통합 을 참조하십시오.NGINX 상태 페이지가 포트 80에서
STATUS_URL
의 요청을 처리하도록 설정된 경우 인프라 에이전트가 이를 모니터링하기 시작합니다. 5분 후에 NGINX 데이터가 인프라 UI( one.newrelic.com > All capabilities > Infrastructure > Third party services 또는 one.newrelic.com > All capabilities > Infrastructure > Third-party services)에 표시되는지 확인합니다.구성이 작동하면 EC2 시작 구성에 배치합니다.
Amazon EC2 콘솔 을 엽니다.
탐색 창의 Auto scaling 아래에서 Launch configurations 선택합니다.
다음 페이지에서 업데이트할 시작 구성을 선택합니다.
마우스 오른쪽 버튼을 클릭하고 Copy launch configuration 선택합니다.
Launch configuration details 탭에서 Edit details 클릭합니다.
User data 섹션에서
write_files
섹션(text/cloud-config
표시된 부분)을 편집합니다.새 파일/콘텐츠 항목 추가:
- content: |---discovery:docker:match:image: /nginx/integrations:- name: nri-nginxenv:STATUS_URL: http://${discovery.ip}:${discovery.port}/statusREMOTE_MONITORING: trueMETRICS: 1path: /etc/newrelic-infra/integrations.d/nginx-config.yml또한
nri-nginx
를 설치하기 위한yum
명령을 포함하도록runcmd
섹션을 편집합니다.runcmd:- [ yum, install, newrelic-infra, -y ]- [ yum, install, nri-nginx, -y ]- [ systemctl, daemon-reload ]- [ systemctl, enable, newrelic-infra.service ]- [ systemctl, start, --no-block, newrelic-infra.service ]
Skip to review 선택합니다.
Create launch configuration 선택합니다.
다음으로 Auto Scaling 그룹을 업데이트합니다.
- Amazon EC2 콘솔 을 엽니다.
- 탐색 창의 Auto scaling 아래에서 Auto scaling groups 선택합니다.
- 업데이트하려는 Auto Scaling 그룹을 선택합니다.
- Actions 메뉴에서 Edit 선택합니다.
- Launch configuration 드롭다운 메뉴에서 생성된 새로운 기능 설정을 선택하세요.
- Save 을(를) 클릭합니다.
EC2 인스턴스가 종료되면 새 NGINX 컨테이너를 자동으로 찾는 새 인스턴스로 교체됩니다.