본문 바로가기
[AWS-DR]/CloudWatch

[참고] 서버에 CloudWatch 에이전트 설치 및 실행

by METAVERSE STORY 2024. 6. 4.
반응형
728x170

 

 

 

https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-commandline-fleet.html

 

서버에 CloudWatch 에이전트 설치 및 실행 - Amazon CloudWatch

서버에 CloudWatch 에이전트 설치 및 실행 원하는 에이전트 구성 파일을 생성하고 IAM 역할 또는 IAM 사용자를 생성했으면 다음 단계에 따라 해당 구성을 사용하여 서버에 에이전트를 설치하고 실행

docs.aws.amazon.com

 

 

원하는 에이전트 구성 파일을 생성하고 IAM 역할 또는 IAM 사용자를 생성했으면 다음 단계에 따라 해당 구성을 사용하여 서버에 에이전트를 설치하고 실행합니다. 먼저, 에이전트를 실행할 서버에 IAM 역할 또는 IAM 사용자를 연결합니다. 그런 다음 해당 서버에 에이전트 패키지를 다운로드한 후 만든 에이전트 구성을 사용하여 시작합니다.

S3 다운로드 링크를 사용하여 CloudWatch 에이전트 패키지 다운로드

 
참고

CloudWatch 에이전트를 다운로드하려면 연결에서 TLS 1.2 이상을 사용해야 합니다.

에이전트를 실행할 각 서버에 에이전트를 설치해야 합니다.

Amazon Linux AMI

CloudWatch 에이전트는 Amazon Linux 2023 및 Amazon Linux 2에서 패키지로 사용할 수 있습니다. 이 운영 체제를 사용하는 경우 다음 명령을 입력하여 패키지를 설치할 수 있습니다. 또한 인스턴스에 연결된 IAM 역할에 CloudWatchAgentServerPolicy가 연결되어 있는지 확인해야 합니다. 자세한 내용은 Amazon EC2 인스턴스에서 CloudWatch 에이전트와 함께 사용할 IAM 역할 생성 단원을 참조하세요.

 
sudo yum install amazon-cloudwatch-agent

모든 운영 체제

지원되는 모든 운영 체제에서 다음 단계에 설명된 대로 Amazon S3 다운로드 링크와 함께 명령줄을 사용하여 CloudWatch 에이전트를 다운로드하고 설치할 수 있습니다.

각 다운로드 링크에는 전체 링크뿐 아니라 리전별 링크도 있습니다. 예를 들어 Amazon Linux 2023, Amazon Linux 2 및 x86-64 아키텍처의 경우 다음과 같은 유효한 다운로드 링크 세 개가 있습니다.

아키텍처플랫폼다운로드 링크서명 파일 링크
x86-64 Amazon Linux 2023 및 Amazon Linux 2 https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig
x86-64 Centos https://amazoncloudwatch-agent.s3.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm
https://amazoncloudwatch-agent.s3.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm.sig
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm.sig
x86-64 Redhat https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm
https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm.sig
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/redhat/amd64/latest/amazon-cloudwatch-agent.rpm.sig
x86-64 SUSE https://amazoncloudwatch-agent.s3.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm
https://amazoncloudwatch-agent.s3.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm.sig
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/suse/amd64/latest/amazon-cloudwatch-agent.rpm.sig
x86-64 Debian https://amazoncloudwatch-agent.s3.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb
https://amazoncloudwatch-agent.s3.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb.sig
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/debian/amd64/latest/amazon-cloudwatch-agent.deb.sig
x86-64 Ubuntu https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb
https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb.sig
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb.sig
x86-64 Oracle https://amazoncloudwatch-agent.s3.amazonaws.com/oracle_linux/amd64/latest/amazon-cloudwatch-agent.rpm
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/oracle_linux/amd64/latest/amazon-cloudwatch-agent.rpm
https://amazoncloudwatch-agent.s3.amazonaws.com/oracle_linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/oracle_linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig
x86-64 macOS https://amazoncloudwatch-agent.s3.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg
https://amazoncloudwatch-agent.s3.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg.sig
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/darwin/amd64/latest/amazon-cloudwatch-agent.pkg.sig
x86-64 Windows https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi
https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi.sig
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi.sig
ARM64 Amazon Linux 2023 및 Amazon Linux 2 https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/arm64/latest/amazon-cloudwatch-agent.rpm
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/amazon_linux/arm64/latest/amazon-cloudwatch-agent.rpm
https://amazoncloudwatch-agent.s3.amazonaws.com/amazon_linux/arm64/latest/amazon-cloudwatch-agent.rpm.sig
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/amazon_linux/arm64/latest/amazon-cloudwatch-agent.rpm.sig
ARM64 Redhat https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm
https://amazoncloudwatch-agent.s3.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm.sig
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/redhat/arm64/latest/amazon-cloudwatch-agent.rpm.sig
ARM64 Ubuntu https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb
https://amazoncloudwatch-agent.s3.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb.sig
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb.sig
ARM64 SUSE https://amazoncloudwatch-agent.s3.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm
https://amazoncloudwatch-agent.s3.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm.sig
https://amazoncloudwatch-agent-region.s3.region.amazonaws.com/suse/arm64/latest/amazon-cloudwatch-agent.rpm.sig
명령줄을 사용하여 Amazon EC2 인스턴스에 CloudWatch 에이전트를 설치하려면
  1. CloudWatch 에이전트를 다운로드합니다. Linux 서버의 경우 다음을 입력합니다. download-link에 이전 테이블의 해당 다운로드 링크를 사용합니다.Windows 서버를 실행하는 서버의 경우, 다음 파일을 다운로드합니다.

  2. https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi

  3. wget download-link
  4. 패키지를 다운로드했으면 선택 사항으로 패키지 서명을 확인할 수 있습니다. 자세한 내용은 CloudWatch 에이전트 패키지의 서명 확인 단원을 참조하세요.
  5. 패키지를 설치합니다. Linux 서버에서 RPM 패키지를 다운로드한 경우 패키지가 있는 디렉터리로 변경하고 다음을 입력합니다.Linux 서버에서 DEB 패키지를 다운로드한 경우 패키지가 있는 디렉터리로 변경하고 다음을 입력합니다.Windows Server가 실행되는 서버에서 MSI 패키지를 다운로드한 경우 패키지가 있는 디렉터리로 변경하고 다음을 입력합니다.또한 이 명령은 PowerShell 내에서도 작동합니다. MSI 명령 옵션에 대한 자세한 내용은 Microsoft Windows 문서의 명령줄 옵션 단원을 참조하세요.

  6. msiexec /i amazon-cloudwatch-agent.msi

  7. sudo dpkg -i -E ./amazon-cloudwatch-agent.deb

  8. sudo rpm -U ./amazon-cloudwatch-agent.rpm

(EC2 인스턴스에 설치) IAM 역할 연결

 

CloudWatch 에이전트가 인스턴스의 데이터를 보낼 수 있도록 하려면 IAM 역할을 인스턴스에 연결해야 합니다. 연결할 역할은 CloudWatchAgentServerRole입니다. 이 역할은 이전에 생성했어야 합니다. 자세한 정보는 CloudWatch 에이전트와 함께 사용하기 위한 IAM 역할 및 사용자 생성 섹션을 참조하세요.

IAM 역할을 인스턴스에 연결하는 방법에 대한 자세한 내용은 Windows 인스턴스용 Amazon EC2 사용 설명서의 인스턴스에 IAM 역할 연결 단원을 참조하세요.

(온프레미스 서버에 설치) IAM 자격 증명 및 AWS 리전 지정

 

CloudWatch 에이전트가 온프레미스 서버의 데이터를 보낼 수 있도록 하려면 이전에 생성한 IAM 사용자의 액세스 키 및 보안 키를 지정해야 합니다. 이 사용자 생성에 대한 자세한 내용은 CloudWatch 에이전트와 함께 사용하기 위한 IAM 역할 및 사용자 생성 단원을 참조하세요.

또한 다음 예에 표시된 대로 AWS 구성 파일의 [AmazonCloudWatchAgent] 섹션에 있는 region 필드를 사용하여 지표를 보낼 AWS 리전을 지정해야 합니다.

 
[profile AmazonCloudWatchAgent]
region = us-west-1

다음은 aws configure 명령을 사용하여 CloudWatch 에이전트에 대한 명명된 프로파일을 생성하는 예입니다. 이 예에서는 AmazonCloudWatchAgent의 기본 프로필 이름을 사용하는 것으로 가정합니다.

CloudWatch 에이전트에 대한 AmazonCloudWatchAgent 프로파일을 생성하려면
  1. 아직 설치하지 않았다면 서버에 AWS Command Line Interface를 설치합니다. 자세한 내용은 AWS CLI 설치 단원을 참조하세요.
  2. Linux 서버에서 다음 명령을 입력하고 표시되는 메시지를 따릅니다.Windows Server에서는 관리자 권한으로 PowerShell을 열고 다음 명령을 입력한 후 표시되는 메시지를 따릅니다.

  3. aws configure --profile AmazonCloudWatchAgent

  4. sudo aws configure --profile AmazonCloudWatchAgent

인터넷 액세스 확인

 

CloudWatch 또는 CloudWatch Logs에 데이터를 전송하려면 Amazon EC2 인스턴스에 아웃바운드 인터넷 액세스 권한이 있어야 합니다. 인터넷 액세스를 구성하는 방법에 대한 자세한 내용은 Amazon VPC 사용 설명서의 인터넷 게이트웨이 단원을 참조하세요.

프록시에서 구성할 엔드포인트와 포트는 다음과 같습니다.

  • 에이전트를 사용하여 지표를 수집하는 경우 적절한 리전의 CloudWatch 엔드포인트를 허용 목록에 추가해야 합니다. 이러한 엔드포인트는 Amazon CloudWatch endpoints and quotas에 나열되어 있습니다.
  • 에이전트를 사용하여 로그를 수집하는 경우 적절한 리전의 CloudWatch Logs 엔드포인트를 허용 목록에 추가해야 합니다. 이러한 엔드포인트는 Amazon CloudWatch Logs endpoints and quotas에 나열되어 있습니다.
  • Systems Manager를 사용하여 에이전트를 설치하거나 파라미터 스토어를 사용하여 구성 파일을 저장하는 경우 적절한 리전의 Systems Manager 엔드포인트를 허용 목록에 추가해야 합니다. 이러한 엔드포인트는 AWS Systems Manager endpoints and quotas에 나열되어 있습니다.

(선택 사항) 프록시 또는 리전 정보에 대한 일반 구성 수정

 

CloudWatch 에이전트에는 common-config.toml이라는 구성 파일이 포함되어 있습니다. 필요한 경우 이 파일을 사용하여 프록시 및 리전 정보를 지정할 수 있습니다.

Linux를 실행하는 서버에서는 이 파일이 /opt/aws/amazon-cloudwatch-agent/etc 디렉터리에 있습니다. Windows Server를 실행하는 서버에서는 이 파일이 C:\ProgramData\Amazon\AmazonCloudWatchAgent 디렉터리에 있습니다.

참고

CloudWatch 에이전트를 온프레미스 모드에서 실행할 때 common-config.toml 파일을 사용하여 공유 구성 및 자격 증명을 제공하는 것이 좋습니다. 또한 Amazon EC2에서 실행 중이고 기존의 공유 자격 증명 프로필 및 파일을 재사용하려는 경우에도 이 방법이 유용할 수 있습니다. common-config.toml을 통해 활성화하면 공유 자격 증명 파일이 만료된 후 갱신된 자격 증명으로 교체되는 경우 에이전트가 다시 시작할 필요 없이 새 자격 증명을 자동으로 가져올 수 있다는 추가적인 이점이 있습니다.

기본 common-config.toml은 다음과 같습니다.

 
# This common-config is used to configure items used for both ssm and cloudwatch access
 
 
## Configuration for shared credential.
## Default credential strategy will be used if it is absent here:
##            Instance role is used for EC2 case by default.
##            AmazonCloudWatchAgent profile is used for the on-premises case by default.
# [credentials]
#    shared_credential_profile = "{profile_name}"
#    shared_credential_file= "{file_name}"
 
## Configuration for proxy.
## System-wide environment-variable will be read if it is absent here.
## i.e. HTTP_PROXY/http_proxy; HTTPS_PROXY/https_proxy; NO_PROXY/no_proxy
## Note: system-wide environment-variable is not accessible when using ssm run-command.
## Absent in both here and environment-variable means no proxy will be used.
# [proxy]
#    http_proxy = "{http_url}"
#    https_proxy = "{https_url}"
#    no_proxy = "{domain}"

처음에는 모든 줄이 코멘트 아웃 처리되어 있습니다. 자격 증명 프로필이나 프록시 설정을 설정하려면 해당 줄에서 #을 제거하고 값을 지정하세요. 이 파일을 수동으로 편집하거나 다음과 같이 Systems Manager에서 RunShellScript Run Command를 사용하여 편집할 수 있습니다.

  • shared_credential_profile – 온프레미스 서버의 경우 이 줄은 CloudWatch에 데이터를 전송하는 데 사용할 IAM 사용자 자격 증명 프로파일을 지정합니다. 이 줄을 코멘트 아웃 처리된 상태로 유지할 경우 AmazonCloudWatchAgent가 사용됩니다. 이 프로필 생성에 대한 자세한 내용은 (온프레미스 서버에 설치) IAM 자격 증명 및 AWS 리전 지정 단원을 참조하세요.shared_credential_profile을 지정하는 경우 [credentials] 행의 시작 부분에서 #도 제거해야 합니다.
  • EC2 인스턴스에서 이 줄을 사용하여 CloudWatch 에이전트가 이 인스턴스의 데이터를 다른 AWS 리전의 CloudWatch에 전송하도록 할 수 있습니다. 이렇게 하려면 보낼 리전의 이름을 지정하는 region 필드가 있는 명명된 프로필을 지정합니다.
  • shared_credential_file – 에이전트가 기본 경로 이외의 다른 경로에 있는 파일에서 자격 증명을 찾도록 하려면 여기에 전체 경로 및 파일 이름을 지정합니다. 기본 경로는 Linux의 경우 /root/.aws이며 Windows Server의 경우 C:\\Users\\Administrator\\.aws입니다.
     
    shared_credential_file= "/usr/username/credentials"
     
    shared_credential_file= "C:\\Documents and Settings\\username\\.aws\\credentials"
    shared_credential_file을 지정하는 경우 [credentials] 행의 시작 부분에서 #도 제거해야 합니다.
  • 아래의 첫 번째 예는 Linux 서버의 유효한 shared_credential_file 행 구문이고 두 번째 예는 Windows Server에 유효한 행 구문입니다. Windows Server에서는 \ 문자를 이스케이프 처리해야 합니다.
  • 프록시 설정 - 서버가 HTTP 또는 HTTPS 프록시를 사용하여 AWS 서비스에 연결하는 경우 http_proxy  https_proxy 필드에 해당 프록시를 지정합니다. 프록시 설정에서 제외해야 하는 URL이 있다면 이를 쉼표로 구분하여 no_proxy 필드에 지정하세요.

명령줄을 사용하여 CloudWatch 에이전트 시작

 

다음 단계에 따라 명령줄을 사용하여 서버에서 CloudWatch 에이전트를 시작합니다.

명령줄을 사용하여 서버에서 CloudWatch 에이전트를 시작하려면
  1. 사용하려는 에이전트 구성 파일을 에이전트를 실행할 서버에 복사합니다. 해당 파일을 복사할 경로 이름을 기록해 둡니다.
  2. 이 명령에서 -a fetch-config는 에이전트가 최신 버전의 CloudWatch 에이전트 구성 파일을 로드하도록 하며 -s는 에이전트를 시작합니다.Linux가 실행되는 EC2 인스턴스의 경우 다음 명령을 입력합니다.Linux가 실행되는 온프레미스 서버의 경우 다음을 입력합니다.Windows Server가 실행되는 EC2 인스턴스의 경우 PowerShell 콘솔에서 다음을 입력합니다.Windows Server가 실행되는 온프레미스 서버의 경우 PowerShell 콘솔에서 다음을 입력합니다.

  3. & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m onPremise -s -c file:configuration-file-path

  4. & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:configuration-file-path

  5. sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m onPremise -s -c file:configuration-file-path

  6. sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:configuration-file-path
  7. 다음 명령 중 하나를 입력합니다. configuration-file-path를 에이전트 구성 파일의 경로로 바꿉니다. 이 파일을 마법사로 생성한 경우 config.json이라고 하며 수동으로 생성한 경우 amazon-cloudwatch-agent.json이라고 할 수 있습니다.

 

 

 

 

반응형
그리드형

댓글