CloudWatch 에이전트와 함께 사용하기 위한 IAM 역할 및 사용자 생성
EC2 인스턴스에서 CloudWatch 에이전트를 실행하는 데 필요한 IAM 역할을 생성
Role 추가
권한 추가
CloudWatchAgentServerPolicy
CloudWatchAgentServerRole
Agent Download and Install
공통
IAM Role 연결
- 위에서 생성한 Role을 EC2에 연결
Windows
Install
# Install CloudWatch Agent
<https://s3.amazonaws.com/amazoncloudwatch-agent/windows/amd64/latest/amazon-cloudwatch-agent.msi>
# PowerShell with Administrator
msiexec /i [경로]/amazon-cloudwatch-agent.msi
CloudWatch 에이전트 구성 마법사 실행
- 이때 생성한 file을 여러 EC2에서 사용 가능 (with SSM)
cd "C:\\Program Files\\Amazon\\AmazonCloudWatchAgent"
.\\amazon-cloudwatch-agent-config-wizard.exe
{
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "C:\\\\Users\\\\Administrator\\\\Desktop\\\\logs",
"log_group_name": "Security.evtx",
"log_stream_name": "{instance_id}",
"retention_in_days": 7
}
]
},
"windows_events": {
"collect_list": [
{
"event_format": "xml",
"event_levels": [
"VERBOSE",
"INFORMATION",
"WARNING",
"ERROR",
"CRITICAL"
],
"event_name": "Security",
"log_group_name": "Security",
"log_stream_name": "{instance_id}",
"retention_in_days": 7
}
]
}
}
},
"metrics": {
"aggregation_dimensions": [
[
"InstanceId"
]
],
"append_dimensions": {
"AutoScalingGroupName": "${aws:AutoScalingGroupName}",
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}"
},
"metrics_collected": {
"LogicalDisk": {
"measurement": [
"% Free Space"
],
"metrics_collection_interval": 60,
"resources": [
"*"
]
},
"Memory": {
"measurement": [
"% Committed Bytes In Use"
],
"metrics_collection_interval": 60
}
}
}
}
- 로그 모니터링의 경우 log files과 Windows event log 두 개로 나뉜다
Start Agent
& "C:\\Program Files\\Amazon\\AmazonCloudWatchAgent\\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:.\\config.json
CentOS
Install
# CentOS
wget <https://s3.amazonaws.com/amazoncloudwatch-agent/centos/amd64/latest/amazon-cloudwatch-agent.rpm>
sudo rpm -U ./amazon-cloudwatch-agent.rpm
# Amazon Linux 2
sudo yum install amazon-cloudwatch-agent
CloudWatch 에이전트 구성 마법사 실행
- 이때 생성한 file을 여러 EC2에서 사용 가능 (with SSM)
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
{
"agent": {
"metrics_collection_interval": 60,
"run_as_user": "cwagent"
},
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/var/log/secure",
"log_group_name": "secure",
"log_stream_name": "{instance_id}",
"retention_in_days": 7
}
]
}
}
},
"metrics": {
"aggregation_dimensions": [
[
"InstanceId"
]
],
"append_dimensions": {
"AutoScalingGroupName": "${aws:AutoScalingGroupName}",
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}"
},
"metrics_collected": {
"disk": {
"measurement": [
"used_percent"
],
"metrics_collection_interval": 60,
"resources": [
"*"
]
},
"mem": {
"measurement": [
"mem_used_percent"
],
"metrics_collection_interval": 60
}
}
}
}
Start Agent
# config 적용
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
# start
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a start
수집확인
대상 - CentOS 7
/var/log/secure
AWS 로그 그룹
실제 CentOS
대상 - Windows 2019
Windows Logs security
AWS 로그 그룹
실제 Windows Logs
비용
수집(데이터 수집) GB당 0.76 USD
스토어(아카이브) GB당 0.0314 USD
분석(Logs Insights 쿼리) 스캔한 데이터 GB당 0.0076 USD
S3 비용 참고
S3 Standard - 모든 데이터 유형에 적합한 범용 스토리지로, 대개 자주 액세스하는 데이터에 사용됨
처음 50TB/월 GB당 0.025 USD
다음 450TB/월 GB당 0.024 USD
500TB 초과/월 GB당 0.023 USD
특이사항
cwagent로 실행시 해당 로그 파일 권한 확인
usermod -G wheel cwagent
참고 문서
[1] https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html
[2] Agent 설치 https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-commandline-fleet.html
[3] Agent 설치 마법사 https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file-wizard.html
[4] 에이전트가 수집하는 지표 https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html
[5] CloudWatch Logs Insights를 사용한 로그 분석 https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/logs/AnalyzingLogData.html
'Cloud-computing > AWS' 카테고리의 다른 글
[AWS]Instance Scheduler on AWS (0) | 2022.12.04 |
---|---|
[AWS]Amazon SNS을 사용하여 CloudWatch Log Alerting (0) | 2022.09.25 |
[AWS]Amazon SNS - Lambda - Slack 알림 설정 방법 with KMS (0) | 2022.09.25 |
[AWS]AWS CLI 자동완성 설정(AWS CLI Enable Auto Completion) (0) | 2022.07.03 |
[AWS]Install AWS CLI in Ubuntu (0) | 2022.07.03 |