반응형

 

AWS CloudWatch Logs 에이전트를 설치하고 구성하는 방법은 다음 단계에 따라 진행할 수 있습니다. 이 과정에서는 EC2 인스턴스에서 로그를 수집하고 CloudWatch Logs로 전송하는 방법을 설명합니다.

 

1. AWS CloudWatch Logs 에이전트 설치

 

단계 1: 에이전트 설치

 

1. EC2 인스턴스에 SSH로 접속합니다.

2. 다음 명령어를 실행하여 CloudWatch Logs 에이전트를 다운로드하고 설치합니다.

Amazon Linux 및 Amazon Linux 2:

wget https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
sudo rpm -U ./amazon-cloudwatch-agent.rpm

Ubuntu:

wget https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb
sudo dpkg -i -E ./amazon-cloudwatch-agent.deb

 

단계 2: CloudWatch Agent 구성

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

구성 마법사를 완료한 후, 생성된 구성 파일을 /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json에 저장합니다.

 

 

 

sudo vi /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json

{
    "logs": {
        "logs_collected": {
            "files": {
                "collect_list": [
                    {
                        "file_path": "/var/log/my-app/output.log",
                        "log_group_name": "/my-app/output",
                        "log_stream_name": "{instance_id}-output"
                    },
                    {
                        "file_path": "/var/log/my-app/error.log",
                        "log_group_name": "/my-app/error",
                        "log_stream_name": "{instance_id}-error"
                    }
                ]
            }
        }
    }
}

여기서

file_path 는 클라우드와치에 보내고 싶은 서버 로컬 파일 경로를 적어줍니다.

instance_id 는 EC2 대시보드에 id 가 적혀있습니다.

 

또 log_group_name 이라는 클라우드 와치 내 logs 그룹을 추가해줘야 합니다.

터미널에서 아래 코드를 실행해 줘야 하는데 아마 권한때문에 안될겁니다. IAM 을 계정을 추가하고 서버 로컬에서 로그인 해줘야 합니다.

aws logs create-log-group --log-group-name /my-app/output --region ap-northeast-2
aws logs create-log-group --log-group-name /my-app/error --region ap-northeast-2

 

 

IAM 콘솔 

IAM 권한 확인 및 설정

 

IAM 사용자 또는 역할에 필요한 권한이 있는지 확인합니다. IAM 콘솔에서 다음 정책을 추가하십시오.

1. AWS Management Console에 로그인합니다.

2. 상단 메뉴에서 **“Services”**를 클릭하고, **“IAM”**을 선택합니다.

3. 왼쪽 메뉴에서 **“Users”**를 클릭합니다.

4. ablelearn 사용자를 클릭합니다.

5. “Add permissions” 버튼을 클릭합니다.

6. **“Attach policies directly”**를 선택합니다.

7. 검색창에 CloudWatchLogsFullAccess를 입력하고, 해당 정책을 선택합니다.

8. **“Next: Review”**를 클릭한 후 **“Add permissions”**를 클릭합니다.


또한 user 에 role 을 부여하고 EC2 인스턴스에 역할을 부여해 주어야 합니다. 

1. AWS Management Console에 로그인합니다.

2. IAM 콘솔로 이동합니다.

3. 왼쪽 메뉴에서 Roles를 선택합니다.

4. Create role을 클릭합니다.

5. AWS 서비스를 선택하고, EC2를 선택한 후 Next: Permissions를 클릭합니다.

6. CloudWatchLogsFullAccess 정책을 선택하고 Next: Tags를 클릭합니다.

7. Next: Review를 클릭합니다.

8. 역할 이름을 입력하고 Create role을 클릭합니다.

 

 

 

EC2 인스턴스에 IAM 역할 부여

 

1. EC2 콘솔로 이동합니다.

2. 대상 인스턴스를 선택하고 Actions -> Security -> Modify IAM role을 클릭합니다.

3. 방금 생성한 IAM 역할을 선택하고 Update IAM role을 클릭합니다.

 

EC2 인스턴스에 IAM 역할 부여

 

1. EC2 콘솔로 이동합니다.

2. 대상 인스턴스를 선택하고 Actions -> Security -> Modify IAM role을 클릭합니다.

3. 방금 생성한 IAM 역할을 선택하고 Update IAM role을 클릭합니다.

 

 

AWS CLI 설정 (Optional)

 

로컬에서 AWS CLI를 통해 자격 증명을 설정할 수 있습니다.

aws configure
AWS Access Key ID [None]: YOUR_ACCESS_KEY_ID
AWS Secret Access Key [None]: YOUR_SECRET_ACCESS_KEY
Default region name [None]: ap-northeast-2
Default output format [None]: json

여기서 Access Id 와 key 는 IAM user 계정 생성시 발급 됩니다.

 

user 및 role 이 정상적으로 생성했다면 

 

아래 코드를 실행합니다. 

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.json -s

파일 실행 하면 

sudo vi /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json 
파일은 없어지므로 다시 재실행할때 다시 json 파일을 생성해주면 됩니다. 

 

에이전트가 오류가 있는지 디버깅을 하기위해서는 아래와 같이 로그를 확인할 수 있습니다.

sudo tail -f /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log

 

systemctl 에서 에이전트가 러닝인지 종료인지 알기 위해서는 아래 명령어로 확인 가능합니다.

sudo systemctl status amazon-cloudwatch-agent

 

보통 대부분의 이슈는 user 및 role 권한 설정이슈입니다. 


정상적으로 동작한다면

각 그룹에서 로그가 적재된걸 확인할 수 있습니다. 
서버 로컬에서 log group 을 생성을 하고 위 대시보드에서 확인바랍니다.

 

 

요약

 

amazon-cloudwatch-agent.json 파일을 편집하여 EC2 모드를 설정합니다.

구성 파일을 저장하고 CloudWatch Agent를 다시 시작합니다.

로그 그룹이 존재하는지 확인하고, 필요 시 생성합니다.

IAM 사용자 또는 역할에 필요한 권한을 확인합니다.

CloudWatch Agent 로그 파일을 확인하여 추가적인 디버깅 정보를 얻습니다.

CloudWatch 콘솔에서 로그 그룹을 확인합니다.

 
 
 


이전포스팅
https://juntcom.tistory.com/252

 

CloudWatch Logs 에이전트 설치 - Ec2 인스턴스

AWS CloudWatch Logs 에이전트를 설치하고 구성하는 방법은 다음 단계에 따라 진행할 수 있습니다. 이 과정에서는 EC2 인스턴스에서 로그를 수집하고 CloudWatch Logs로 전송하는 방법을 설명합니다. 1. AWS

juntcom.tistory.com

 

반응형
반응형

 

AWS CloudWatch는 보고서 작성 기능을 포함한 다양한 모니터링 및 관리 기능을 제공합니다. 구체적으로는 CloudWatch Logs Insights와 CloudWatch Dashboards를 사용하여 데이터를 시각화하고 보고서를 작성할 수 있습니다.


클라우드와치 구성 종류는 크게 두가지로 나눌 수 있습니다.

1. CloudWatch Logs Insights

CloudWatch Logs Insights는 로그 데이터를 쿼리하고 분석할 수 있는 강력한 도구입니다. 이를 통해 특정 기간 동안의 로그 데이터를 기반으로 다양한 보고서를 생성할 수 있습니다.

 

로그 쿼리 작성: SQL과 유사한 쿼리 언어를 사용하여 로그 데이터를 분석할 수 있습니다.

쿼리 결과 시각화: 쿼리 결과를 그래프로 시각화할 수 있으며, 이를 기반으로 대시보드를 구성할 수 있습니다.

저장 및 공유: 쿼리 결과를 저장하고 다른 사용자와 공유할 수 있습니다.

 

2. CloudWatch Dashboards

CloudWatch Dashboards를 사용하면 여러 지표와 로그 데이터를 한 곳에서 시각화하여 보고서를 생성할 수 있습니다.

 

대시보드 생성: 다양한 위젯을 사용하여 사용자 정의 대시보드를 만들 수 있습니다.

실시간 모니터링: 실시간으로 데이터를 시각화하여 시스템 상태를 모니터링할 수 있습니다.

공유 및 액세스 제어: 대시보드를 공유하고 액세스 권한을 설정할 수 있습니다.

 

 

CloudWatch 대시보드 생성

 

1. AWS Management Console에 로그인합니다.

2. CloudWatch 콘솔로 이동합니다.

3. 왼쪽 메뉴에서 **“Dashboards”**를 선택하고 **“Create dashboard”**를 클릭합니다.

4. 대시보드 이름을 입력하고 **“Create dashboard”**를 클릭합니다.

 

Automatic dashboards 로 대시보드를 생성한다면 각종 지표를 종합적으로 대시보드에 구성해 줍니다. 

 

Ec2 지표 대시보드 

 

5. 한개씩 지표 설정을 하고 싶다면  Custom Datshboard 를 통해 설정하고 싶은 위젯을 선택하여 대시보드에 추가합니다.


지표(Metrics) 설정

- 1. CloudWatch 콘솔에서 왼쪽 메뉴의 **“Metrics”**를 선택합니다.

- 2. 모니터링하려는 서비스(예: EC2, RDS 등)를 선택합니다.

- 3. 지표를 선택하여 그래프에 추가합니다.

- 4. 선택한 지표를 대시보드에 추가할 수도 있습니다.

 

알람(Alarms) 설정

 

- 1. CloudWatch 콘솔에서 왼쪽 메뉴의 **“Alarms”**를 선택합니다.

- 2. **“Create alarm”**을 클릭합니다.

- 3. 모니터링할 지표를 선택하고 Next를 클릭합니다.

- 4. 조건을 설정합니다 (예: CPU 사용률이 80% 이상일 때 알람 발생).

- 5. 알람 발생 시 수행할 작업(SNS 주제에 알림 전송 등)을 설정합니다.

- 6. 알람 이름을 입력하고 **“Create alarm”**을 클릭합니다.

 

이메일 알림 추가

이메일 작성 후 [create topic] 으로 알림 정보 저장해주면 됩니다.


저장하고 나면 Amazon SNS 에 저장된 것을 볼 수 있습니다. 

 

CloudWatch Logs Insights 는 다음 포스팅에서 하겠습니다.

 

https://juntcom.tistory.com/253

 

CloudWatch Logs 에이전트 설치 - Ec2 인스턴스

AWS CloudWatch Logs 에이전트를 설치하고 구성하는 방법은 다음 단계에 따라 진행할 수 있습니다. 이 과정에서는 EC2 인스턴스에서 로그를 수집하고 CloudWatch Logs로 전송하는 방법을 설명합니다. 1. AWS

juntcom.tistory.com

 

 
 
반응형

+ Recent posts