Ec2 cloudwatch Agent설정하기

문학적인유사성·2022년 8월 10일
0

AWS

목록 보기
15/64

처음에 설정할때 잘 설정했어야됬는데.. 이미 늦어버려서 이후에 설정하려고 함...

iam 롤 설정하기

[공식 문서0] https://aws.amazon.com/ko/blogs/korea/attach-aws-iam-role-to-an-existing-ec2-instance/

cloudwatch에 넣을 꺼니까 아래 두개 넣어서, IAM 역할 생성

  • CloudWatchAgentServerPolicy
  • AmazonSSMFullAccess
$ aws ec2 associate-iam-instance-profile --instance-id YourInstanceId --iam-instance-profile Name=YourNewRole-Instance-Profile
$ aws ec2 describe-iam-instance-profile-associations

cloudwatch-agent 설치

[공식 문서1] https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-commandline-fleet.html

$ wget https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
또는 
$ curl -O https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
$ sudo rpm -U ./amazon-cloudwatch-agent.rpm
create group cwagent, result: 0
create user cwagent, result:0
create group aoc, result:0
create user aoc, result:0 

경보 설정

[공식 문서2] https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html#CloudWatch-Agent-Configuration-File-Metricssection

$ cd /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/
$ vi config.json
  • json 파일 내용
    agent : 전체 구성 필드
    metrics : 사용자 지정 지표 (공식문서에 Linux 섹션 보면서 하나씩 넣어보면 됨)
    logs : CloudWatch Logs에 게시되는 로그 파일

ex) 메모리랑 디스크 확인 및 로그 접근

{
        "agent": {
                "run_as_user": "cwagent"
        },
        "logs": {
            "logs_collected": {
                    "files": {
                            "collect_list": [
                                    {
                                            "file_path": "/var/log/messages",
                                            "log_group_name": "/var/log/messages",
                                            "log_stream_name": "{instance_id}"
                                    }
                            ]
                    }
            }
    },"metrics": {
                "namespace": "cwagent",
                "metrics_collected": {
                        "mem": {
                                "measurement": [
                                        "used_percent"
                                ]
                        },
                        "disk": {
                                "measurement": [
                                        "used_percent"
                                ],
                                "resources": [
                                        "*"
                                ],
                                "ignore_file_system_types": [
                                        "sysfs",
                                        "devtmpfs",
                                        "tmpfs"
                                ],
                                "drop_device": true
                        }
                },
                "append_dimensions": {
                        "InstanceId": "${aws:InstanceId}"
                }
        }
}

실행오류나는 것 확인을 위해서 실행전에 파일 생성하기

$ sudo mkdir /usr/share/collectd
$ cd /usr/share/collectd
$ sudo touch types.db

클라우드 와치 서비스 실행

$ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/config.json


$ sudo systemctl start amazon-cloudwatch-agent

만약 로그가 보이지 않는다면...?
클라우드 워치 로그 파일 : /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log
여기서 확인
-> Permission Denied 인경우도 있음 (로그파일 접근시)
그럴때는 chmod로 권한을 주자!

참고: Wizard사용 -> 생성Cloudwatch agent 설정 파일 위치
/opt/aws/amazon-cloudwatch-agent/bin/config.json

참고 : 실제 Cloudwatch agent가 사용하는 설정 파일 위치
/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json

톡방이나 이메일에 연결

cloudwatch에 토픽 추가해서, 이메일이나 톡방 넣기

profile
유사 IT 항해

0개의 댓글