반응형
AWS EC2 - cloudwatch agent 설치 스크립트
■ 설치 스크립트
#! /bin/bash
agent_path="/opt/aws/amazon-cloudwatch-agent"
region=ap-northeast-2
if [ "$(ps aux | grep -c '[a]mazon-cloudwatch-agent')" -eq "0" ]; then
echo "Cloudwatch agent is not running. so, Checking is cloudwatch agent installed.."
if [ -d "$agent_path" ]; then
echo "Cloudwatch agent is already installed"
echo -e "Do you want to replace config file and restart agent? (yes/no): "
read answer
if [ $answer == yes ]; then
sudo rm -rf /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/*
sed -i "s/projectregion/$region/g" ./amazon-cloudwatch-agent.json
sudo mv ./amazon-cloudwatch-agent.json /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/amazon-cloudwatch-agent.json
echo "Config file replace completed!"
sudo systemctl restart amazon-cloudwatch-agent
echo "Cloudwatch agent is restarted successfully"
else
echo "Exit"
fi
else
echo "Cloudwatch agent is not installed"
echo "Install cloudwatch agent"
sudo yum install amazon-cloudwatch-agent
sed -i "s/projectregion/$region/g" ./amazon-cloudwatch-agent.json
sudo mv ./amazon-cloudwatch-agent.json /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/amazon-cloudwatch-agent.json
echo "Config file moved successfully!!"
sudo systemctl enable amazon-cloudwatch-agent
sudo systemctl start amazon-cloudwatch-agent
echo "Cloudwatch agent is started successfully!!"
fi
#sudo service php-fpm start
else
echo "Cloudwatch Agent is already running"
fi
■ agent config 파일 (amazon-cloudwatch-agent.json)
{
"agent": {
"metrics_collection_interval": 60,
"region": "projectregion",
"logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log"
},
"metrics": {
"namespace": "CWAgent",
"metrics_collected": {
"disk": {
"resources": ["/"],
"measurement": ["used_percent", "total", "free", "used"],
"ignore_file_system_types": ["sysfs", "devtmpfs"],
"metrics_collection_interval": 60
},
"diskio": {
"resources": ["*"],
"measurement": [
"reads",
"writes",
"read_time",
"write_time",
"io_time"
],
"metrics_collection_interval": 60
},
"swap": {
"measurement": ["swap_used", "swap_free", "swap_used_percent"]
},
"mem": {
"measurement": [
"mem_used",
"mem_used_percent",
"mem_cached",
"mem_total",
"mem_available",
"mem_free"
],
"metrics_collection_interval": 1
},
"netstat": {
"measurement": ["tcp_established", "tcp_syn_sent", "tcp_close"],
"metrics_collection_interval": 60
},
"processes": {
"measurement": ["running", "sleeping", "dead"]
}
},
"append_dimensions": {
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}",
"AutoScalingGroupName": "${aws:AutoScalingGroupName}"
},
"aggregation_dimensions": [
["ImageId"],
["InstanceId", "InstanceType"],
["d1"],
[]
],
"force_flush_interval": 30
},
"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",
"log_stream_name": "amazon-cloudwatch-agent.log",
"timezone": "UTC"
},
{
"file_path": "/opt/aws/amazon-cloudwatch-agent/logs/test.log",
"log_group_name": "test.log",
"log_stream_name": "test.log",
"timezone": "Local"
}
]
}
},
"log_stream_name": "my_log_stream_name",
"force_flush_interval": 15
}
}
by mkdir-chandler
728x90
반응형
'Ops > AWS' 카테고리의 다른 글
AWS EC2 - cloudwatch agent 설치 (perl) (0) | 2023.05.13 |
---|---|
AWS EC2 - cloudwatch agent 설치 명령어 (linux, win) (0) | 2023.05.12 |
AWS EC2 - aws cli 업그레이드 방법 (0) | 2023.05.10 |
AWS EC2 - 정보 확인 명령어 (information output) (0) | 2023.05.09 |
AWS EC2 - EBS 자동 백업 (수명 주기 관리자) (0) | 2023.05.08 |