CloudWatch 에이전트 구성 파일 생성
서버에서 CloudWatch 에이전트를 실행하기 전에 하나 이상의 CloudWatch 에이전트 구성 파일을 생성해야 합니다.
에이전트 구성 파일은 사용자 지정 지표를 포함하여 에이전트가 수집할 지표, 로그, 추적을 지정하는 JSON 파일입니다. 마법사를 사용하거나 Scratch에서 직접 생성하여 이 구성 파일을 생성할 수 있습니다. 또한 마법사를 사용하여 구성 파일을 처음으로 만든 다음, 수동으로 수정할 수 있습니다. 수동으로 파일을 생성하거나 수정하는 경우 프로세스는 더 복잡하지만, 수집된 지표를 더 잘 제어할 수 있으며 마법사를 통해 사용할 수 없는 지표를 지정할 수 있습니다.
에이전트 구성 파일을 변경할 때마다 에이전트를 다시 시작하여 변경 사항이 적용되도록 해야 합니다. 에이전트를 다시 시작하려면 (선택 사항) CloudWatch 에이전트에 대한 일반 구성 및 명명된 프로파일 수정 섹션의 지침을 따르세요.
구성 파일을 만든 후 수동으로 JSON 파일로 저장하여 서버에 에이전트를 설치할 때 이 파일을 사용할 수 있습니다. 또는 서버에 에이전트를 설치할 때 Systems Manager를 사용하려는 경우 해당 파일을 Systems Manager 파라미터 스토어에 저장할 수 있습니다.
CloudWatch 에이전트는 여러 개의 구성 파일을 사용하는 것을 지원합니다. 자세한 내용은 여러 CloudWatch 에이전트 구성 파일 생성 섹션을 참조하세요.
CloudWatch 에이전트가 수집한 지표, 로그, 추적 사용 시 요금이 발생합니다. 요금에 대한 자세한 정보는 Amazon CloudWatch 요금
여러 CloudWatch 에이전트 구성 파일 생성
Linux 서버와 Windows 서버 모두에서, 여러 개의 구성 파일을 사용하도록 CloudWatch 에이전트를 설정할 수 있습니다. 예를 들어 인프라의 모든 서버에서 항상 수집하려는 일련의 지표, 로그, 추적을 수집하는 공통 구성 파일을 사용할 수 있습니다. 그런 다음 특정 애플리케이션이나 특정 상황에서 지표를 수집하는 추가 구성 파일을 사용할 수 있습니다.
이렇게 설정하려면 먼저 사용하려는 구성 파일을 생성합니다. 동일한 서버에서 함께 사용할 구성 파일은 파일 이름이 서로 달라야 합니다. 구성 파일을 서버 또는 파라미터 스토어에 저장할 수 있습니다.
fetch-config
옵션을 사용하여 CloudWatch 에이전트를 시작하고 첫 번째 구성 파일을 지정합니다. 실행 중인 에이전트에 두 번째 구성 파일을 추가하려면, 동일한 명령에 append-config
옵션을 사용합니다. 구성 파일에 나열된 모든 지표, 로그, 추적이 수집됩니다. 다음 명령 예제는 파일로 저장된 구성을 사용하는 이 시나리오를 보여줍니다. 첫 행은 infrastructure.json
구성 파일을 사용하여 에이전트를 시작하고, 둘째 행은 app.json
구성 파일을 추가합니다.
다음은 Linux용 명령 예제입니다.
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/tmp/infrastructure.json
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -s -c file:/tmp/app.json
다음은 Windows Server용 명령 예제입니다.
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:"C:\Program Files\Amazon\AmazonCloudWatchAgent\infrastructure.json"
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a append-config -m ec2 -s -c file:"C:\Program Files\Amazon\AmazonCloudWatchAgent\app.json"
다음 예제 구성 파일은 이 기능의 사용을 보여줍니다. 첫 번째 구성 파일은 인프라의 모든 서버에 사용되며, 두 번째 구성 파일은 특정 애플리케이션의 로그만 수집하며, 해당 애플리케이션을 실행하는 서버에 추가됩니다.
infrastructure.json
{ "metrics": { "metrics_collected": { "cpu": { "resources": [ "*" ], "measurement": [ "usage_active" ], "totalcpu": true }, "mem": { "measurement": [ "used_percent" ] } } }, "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log" }, { "file_path": "/var/log/messages", "log_group_name": "/var/log/messages" } ] } } } }
app.json
{ "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/app/app.log*", "log_group_name": "/app/app.log" } ] } } } }
구성에 추가된 모든 구성 파일은 파일 이름이 서로 달라야 하며 초기 구성 파일의 이름과도 달라야 합니다. 파일 이름이 동일한 구성 파일이 있는 append-config
를 에이전트에서 이미 사용 중인 구성 파일로 사용할 경우 추가 명령은 첫 번째 구성 파일에 추가되는 것이 아니라 해당 파일의 정보를 덮어씁니다. 파일 이름이 동일한 두 개의 구성 파일이 서로 다른 파일 경로에 있는 경우에도 마찬가지입니다.
앞의 예는 두 개의 구성 파일을 사용하는 것을 보여주지만, 에이전트 구성에 추가할 수 있는 구성 파일의 수는 제한되지 않습니다. 서버에 있는 구성 파일과 파라미터 스토어에 있는 구성을 함께 사용할 수도 있습니다.