728x90
반응형
Amazon EC2 인스턴스에 CloudWatch Agent를 설치하는 방법
Agent를 사용하면 EC2 인스턴스에서 로그 및 메트릭 데이터를 수집하고 Amazon CloudWatch로 전송할 수 있습니다.
1. EC2 인스턴스에 로그인
EC2 인스턴스에 SSH 또는 RDP를 사용하여 로그인합니다.
2. Agent 다운로드 및 설치
CloudWatch Agent를 EC2 인스턴스에 다운로드 및 설치합니다.
sudo yum install -y amazon-cloudwatch-agent
더보기
wget https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
sudo rpm -U ./amazon-cloudwatch-agent.rpm
3. Agent 구성 파일 생성
CloudWatch Agent를 구성하기 위해 구성 파일을 생성해야 합니다. 아래 명령어를 사용하여 구성 파일을 생성합니다.
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
- 구성 옵션 설정: 대화형 인터페이스에서 아래와 같은 구성 옵션을 설정합니다.
- Are you using EC2 or On-Premises?: EC2를 선택합니다.
- Do you want to turn on StatsD daemon?: StatsD 데몬을 사용할지 여부를 선택합니다. (선택사항)
- Do you want to monitor metrics from CollectD?: CollectD 메트릭을 모니터링할지 여부를 선택합니다. (선택사항)
- Do you want to monitor any log files?: 로그 파일을 모니터링할지 여부를 선택합니다. (선택사항)
- Do you want to store the configuration file at the default location?: 구성 파일을 기본 위치에 저장할지 여부를 선택합니다. (일반적으로 기본 위치를 선택합니다.)
- Enter the path to the directory where you want to store the configuration file: 구성 파일을 저장할 디렉토리 경로를 입력합니다. (위에서 기본 위치를 선택한 경우 필요하지 않습니다.)
- Enter a name for the configuration file: 구성 파일의 이름을 입력합니다.
- 구성 파일 검토: 구성 옵션을 모두 설정한 후, 대화형 인터페이스는 구성 파일의 내용을 요약하여 보여줄 것입니다. 이 내용을 확인하고 필요한 경우 옵션을 수정합니다.
- 구성 파일 저장: 구성 옵션을 확인하고 저장합니다.
4. Agent 시작
구성이 완료되면 CloudWatch Agent를 시작합니다.
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json
5. Agent 상태 확인
아래 명령을 사용하여 CloudWatch Agent가 올바르게 실행되었는지 확인할 수 있습니다.
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status
systemctl --now enable amazon-cloudwatch-agent
systemctl status amazon-cloudwatch-agent
systemctl restart amazon-cloudwatch-agent
이제 CloudWatch Agent가 EC2 인스턴스에서 실행되며 선택한 메트릭 및 로그 데이터를 수집하여 Amazon CloudWatch로 전송할 것입니다. 필요에 따라 추가 구성 및 튜닝을 수행하여 데이터 수집 및 모니터링을 조정할 수 있습니다. CloudWatch Agent의 자세한 설정 및 사용법은 공식 문서를 참조하시기 바랍니다.
Amazon CloudWatch Agent의 설정 파일(amazon-cloudwatch-agent.json)을 작성하는 예시
CPU, 메모리, 디스크 메트릭을 수집하고 nginx와 php-fpm 로그 데이터를 수집하여 CloudWatch에 전송하는 구성
vim amazon-cloudwatch-agent.json
{
"agent": {
"run_as_user": "cwagent",
"metrics_collection_interval": 60
},
"metrics": {
"metrics_collected": {
"cpu": {
"measurement": [
"cpu_usage_idle",
"cpu_usage_iowait",
"cpu_usage_user",
"cpu_usage_system"
],
"metrics_collection_interval": 60,
"totalcpu": true
},
"disk": {
"measurement": [
"used_percent",
"inodes_free"
],
"metrics_collection_interval": 60,
"resources": [
"/"
]
},
"mem": {
"measurement": [
"mem_used_percent"
],
"metrics_collection_interval": 60
}
},
"append_dimensions": {
"InstanceId": "${aws:InstanceId}"
},
"aggregation_dimensions": [["InstanceId"]],
"metrics_collection_interval": 60
},
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/var/log/nginx/access.log",
"log_group_name": "nginx-access",
"log_stream_name": "{instance_id}/nginx-access"
},
{
"file_path": "/var/log/nginx/virtual_host_1_access.log",
"log_group_name": "virtual-host-1-access",
"log_stream_name": "{instance_id}/virtual-host-1-access"
},
{
"file_path": "/var/log/nginx/virtual_host_2_access.log",
"log_group_name": "virtual-host-2-access",
"log_stream_name": "{instance_id}/virtual-host-2-access"
},
{
"file_path": "/var/log/php-fpm/www.log",
"log_group_name": "php-fpm",
"log_stream_name": "{instance_id}/php-fpm"
}
]
}
},
"log_stream_name": "log_stream_name"
}
}
728x90
반응형
'Public Cloud' 카테고리의 다른 글
Amazon Linux 2 인스턴스에 Goofys를 설치하는 방법 (0) | 2024.05.01 |
---|---|
Amazon Linux 2에서 AWS CodeDeploy Agent를 설치하는 방법 (0) | 2024.04.17 |
AWS Snowball와 AWS Snowmobile간의 주요한 차이점 (0) | 2024.02.20 |
AWS Graviton 프로세서 (0) | 2024.02.20 |
AWS NAT Gateway와 NAT Instance 비교 (0) | 2024.02.17 |