

# 마법사로 CloudWatch 에이전트 구성 파일 생성
<a name="create-cloudwatch-agent-configuration-file-wizard"></a>

 에이전트 구성 파일 마법사 `amazon-cloudwatch-agent-config-wizard`는 필요에 맞게 CloudWatch 에이전트를 구성하는 데 도움이 되는 일련의 질문을 합니다. 이 섹션에서는 구성 파일에 필요한 자격 증명을 설명합니다. CloudWatch 에이전트 구성 마법사를 실행하는 방법을 설명합니다. 마법사에 미리 정의된 지표도 설명합니다.

## 필수 자격 증명
<a name="create-cloudwatch-agent-wizard-credentials"></a>

마법사를 시작하기 전에 AWS 자격 증명 및 구성 파일이 제자리에 있는 경우, 마법사가 사용할 자격 증명 및 AWS 리전을 자동 검색할 수 있습니다. 이러한 파일에 대한 자세한 내용은 *AWS Systems Manager 사용 설명서*의 [구성 및 자격 증명 파일](https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html) 단원을 참조하세요.

AWS 자격 증명 파일에서 마법사는 기본 자격 증명을 확인하고 다음과 같은 `AmazonCloudWatchAgent` 섹션도 찾습니다.

```
[AmazonCloudWatchAgent]
aws_access_key_id = my_access_key
aws_secret_access_key = my_secret_key
```

마법사는 기본 자격 증명, `AmazonCloudWatchAgent`의 자격 증명 및 `Others` 옵션을 표시합니다. 사용할 자격 증명을 선택할 수 있습니다. `Others`를 선택할 경우 자격 증명을 입력할 수 있습니다.

*my\$1access\$1key* 및 *my\$1secret\$1key*의 경우 Systems Manager 파라미터 스토어에 대한 쓰기 권한이 있는 IAM 사용자의 키를 사용합니다.

AWS 구성 파일에서 에이전트가 지표를 보낼 리전을 지정할 수 있습니다(해당 리전이 `[default]` 섹션의 리전과 다른 경우). 기본값은 Amazon EC2 인스턴스가 있는 리전에 지표를 게시하는 것입니다. 지표를 다른 리전에 게시해야 하는 여기에서 리전을 지정합니다. 다음 예에서는 지표가 `us-west-1` 리전에 게시되어 있습니다.

```
[AmazonCloudWatchAgent]
region = us-west-1
```

## CloudWatch 에이전트 구성 마법사 실행
<a name="cloudwatch-agent-running-wizard"></a>

**CloudWatch 에이전트 구성 파일을 생성하려면**

1. 다음을 입력하여 CloudWatch 에이전트 구성 마법사를 시작합니다.

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

   Windows Server를 실행하는 서버에서 다음 명령을 실행하여 마법사를 시작합니다.

   ```
   cd "C:\Program Files\Amazon\AmazonCloudWatchAgent"
   ```

   ```
   .\amazon-cloudwatch-agent-config-wizard.exe
   ```

1. 질문에 답하여 서버의 구성 파일을 사용자 지정합니다.

1. 구성 파일을 로컬에 저장하는 경우 구성 파일 `config.json`은 Linux 서버에서는 `/opt/aws/amazon-cloudwatch-agent/bin/`에, Windows 서버에서는 `C:\Program Files\Amazon\AmazonCloudWatchAgent`에 저장됩니다. 그러면 이 파일을 에이전트를 설치하려고 하는 다른 서버에 복사할 수 있습니다.

   Systems Manager를 사용하여 에이전트를 설치하고 구성하려는 경우 Systems Manager 파라미터 스토어에 파일을 저장할지 여부를 묻는 메시지가 표시되면 [**예(Yes)**]라고 대답해야 합니다. 또한 CloudWatch 에이전트를 설치하는 데 SSM Agent를 사용하지 않는 경우에도 파라미터 스토어에 파일을 저장하도록 선택할 수 있습니다. 파일을 파라미터 스토어에 저장할 수 있으려면 충분한 권한이 있는 IAM 역할을 사용해야 합니다.

## CloudWatch 에이전트의 미리 정의된 지표 세트
<a name="cloudwatch-agent-preset-metrics"></a>

마법사는 상세 레벨이 다양한 사전 정의된 지표 집합을 사용하여 구성되어 있습니다. 이러한 지표 집합은 다음 표에 표시되어 있습니다. 지표에 대한 자세한 내용은 [CloudWatch 에이전트가 수집하는 지표](metrics-collected-by-CloudWatch-agent.md) 섹션을 참조하세요.

**참고**  
파라미터 스토어는 표준 및 고급 티어의 파라미터를 지원합니다. 이러한 파라미터 계층은 다음 표에 설명된 기본, 표준 및 고급 지표 상세 수준과 관련이 없습니다.

**Linux를 실행하는 Amazon EC2 인스턴스**


| 세부 정보 수준 | 포함된 지표 | 
| --- | --- | 
|  **기본** |  **Mem:** mem\$1used\$1percent **Disk:** disk\$1used\$1percent `disk`와 같은 `disk_used_percent` 지표에는 `Partition`의 측정기준이 있는데, 이는 생성된 사용자 지정 지표의 수가 인스턴스와 연결된 파티션의 수에 따라 달라짐을 뜻합니다. 보유한 디스크 파티션의 수는 사용 중인 AMI 및 서버에 연결하는 Amazon EBS 볼륨의 수에 따라 달라집니다.  | 
|  **표준** |  **CPU:** `cpu_usage_idle`, `cpu_usage_iowait`, `cpu_usage_user`, `cpu_usage_system`  **Disk:** `disk_used_percent`, `disk_inodes_free`  **Diskio:** `diskio_io_time` **Mem:** `mem_used_percent` **Swap:** `swap_used_percent`  | 
|  **고급** |  **CPU:** `cpu_usage_idle`, `cpu_usage_iowait`, `cpu_usage_user`, `cpu_usage_system`  **Disk:** `disk_used_percent`, `disk_inodes_free`  **Diskio:** `diskio_io_time`, `diskio_write_bytes`, `diskio_read_bytes`, `diskio_writes`, `diskio_reads`  **Mem:** `mem_used_percent` **Netstat:** `netstat_tcp_established`, `netstat_tcp_time_wait`  **Swap:** `swap_used_percent`  | 

**Linux를 실행하는 온프레미스 서버**


| 세부 정보 수준 | 포함된 지표 | 
| --- | --- | 
|  **기본** |  **Disk:** `disk_used_percent` **Diskio:** `diskio_write_bytes`, `diskio_read_bytes`, `diskio_writes`, `diskio_reads`  **Mem:** `mem_used_percent` **Net:** `net_bytes_sent`, `net_bytes_recv`, `net_packets_sent`, `net_packets_recv`  **Swap:** `swap_used_percent`  | 
|  **표준** |  **CPU:** `cpu_usage_idle`, `cpu_usage_iowait`  **Disk:** `disk_used_percent`, `disk_inodes_free`  **Diskio:** `diskio_io_time`, `diskio_write_bytes`, `diskio_read_bytes`, `diskio_writes`, `diskio_reads`  **Mem:** `mem_used_percent` **Net:** `net_bytes_sent`, `net_bytes_recv`, `net_packets_sent`, `net_packets_recv`  **Swap:** `swap_used_percent`  | 
|  **고급** |  **CPU:** `cpu_usage_guest`, `cpu_usage_idle`, `cpu_usage_iowait`, `cpu_usage_steal`, `cpu_usage_user`, `cpu_usage_system`  **Disk:** `disk_used_percent`, `disk_inodes_free`  **Diskio:** `diskio_io_time`, `diskio_write_bytes`, `diskio_read_bytes`, `diskio_writes`, `diskio_reads`   **Mem:** `mem_used_percent`  **Net:** `net_bytes_sent`, `net_bytes_recv`, `net_packets_sent`, `net_packets_recv`  **Netstat:** `netstat_tcp_established`, `netstat_tcp_time_wait`  **Swap:** `swap_used_percent`  | 

**Windows Server를 실행하는 Amazon EC2 인스턴스**

**참고**  
이 테이블에 나열된 지표 이름은 콘솔에서 볼 때 지표가 어떻게 표시되는지를 보여줍니다. 실제 지표 이름에는 첫 단어가 포함되지 않을 수 있습니다. 예를 들어 `LogicalDisk % Free Space`의 실제 지표 이름은 `% Free Space`입니다.


| 세부 정보 수준 | 포함된 지표 | 
| --- | --- | 
|  **기본** |  **Memory:** `Memory % Committed Bytes In Use` **LogicalDisk:** `LogicalDisk % Free Space`  | 
|  **표준** |  **Memory:** `Memory % Committed Bytes In Use` **Paging:** `Paging File % Usage` **프로세서:** `Processor % Idle Time`, `Processor % Interrupt Time`, `Processor % User Time`  **PhysicalDisk:** `PhysicalDisk % Disk Time` **LogicalDisk:** `LogicalDisk % Free Space`  | 
|  **고급** |  **Memory:** `Memory % Committed Bytes In Use` **Paging:** `Paging File % Usage` **프로세서:** `Processor % Idle Time`, `Processor % Interrupt Time`, `Processor % User Time`  **LogicalDisk:** `LogicalDisk % Free Space` **PhysicalDisk:** `PhysicalDisk % Disk Time`, `PhysicalDisk Disk Write Bytes/sec`, `PhysicalDisk Disk Read Bytes/sec`, `PhysicalDisk Disk Writes/sec`, `PhysicalDisk Disk Reads/sec`  **TCP:** `TCPv4 Connections Established`, `TCPv6 Connections Established`   | 

**Windows Server를 실행하는 온프레미스 서버**

**참고**  
이 테이블에 나열된 지표 이름은 콘솔에서 볼 때 지표가 어떻게 표시되는지를 보여줍니다. 실제 지표 이름에는 첫 단어가 포함되지 않을 수 있습니다. 예를 들어 `LogicalDisk % Free Space`의 실제 지표 이름은 `% Free Space`입니다.


| 세부 정보 수준 | 포함된 지표 | 
| --- | --- | 
|  **기본** |  **페이징: **`Paging File % Usage` **프로세서:** `Processor % Processor Time` **LogicalDisk:**`LogicalDisk % Free Space`  **PhysicalDisk:** `PhysicalDisk Disk Write Bytes/sec`, `PhysicalDisk Disk Read Bytes/sec`, `PhysicalDisk Disk Writes/sec`, `PhysicalDisk Disk Reads/sec`  **Memory:** `Memory % Committed Bytes In Use` **네트워크 인터페이스:** `Network Interface Bytes Sent/sec`, `Network Interface Bytes Received/sec`, `Network Interface Packets Sent/sec`, `Network Interface Packets Received/sec`   | 
|  **표준** |  **Paging:** `Paging File % Usage` **프로세서:** `Processor % Processor Time`, `Processor % Idle Time`, `Processor % Interrupt Time`  **LogicalDisk:** `LogicalDisk % Free Space` **PhysicalDisk:** `PhysicalDisk % Disk Time`, `PhysicalDisk Disk Write Bytes/sec`, `PhysicalDisk Disk Read Bytes/sec`, `PhysicalDisk Disk Writes/sec`, `PhysicalDisk Disk Reads/sec`  **Memory:** `Memory % Committed Bytes In Use` **네트워크 인터페이스:** `Network Interface Bytes Sent/sec`, `Network Interface Bytes Received/sec`, `Network Interface Packets Sent/sec`, `Network Interface Packets Received/sec`   | 
|  **고급** |  **페이징:**`Paging File % Usage` **프로세서:** `Processor % Processor Time`, `Processor % Idle Time`, `Processor % Interrupt Time`, `Processor % User Time`  **LogicalDisk:** `LogicalDisk % Free Space` **PhysicalDisk:** `PhysicalDisk % Disk Time`, `PhysicalDisk Disk Write Bytes/sec`, `PhysicalDisk Disk Read Bytes/sec`, `PhysicalDisk Disk Writes/sec`, `PhysicalDisk Disk Reads/sec`  **Memory:** `Memory % Committed Bytes In Use` **네트워크 인터페이스:** `Network Interface Bytes Sent/sec`, `Network Interface Bytes Received/sec`, `Network Interface Packets Sent/sec`, `Network Interface Packets Received/sec`  **TCP:** `TCPv4 Connections Established`, `TCPv6 Connections Established`   | 

# 구성 파일 예제
<a name="create-cloudwatch-agent-configuration-file-examples"></a>

**기본 시스템 ㅈ표 구성** 

```
{
  "agent": {
    "metrics_collection_interval": 60,
    "region": "us-east-1"
  },
  "metrics": {
    "namespace": "MySystem",
    "metrics_collected": {
      "cpu": {
        "resources": ["*"],
        "measurement": ["usage_active", "usage_system", "usage_user"]
      },
      "mem": {
        "measurement": ["used_percent"]
      },
      "disk": {
        "resources": ["/"],
        "measurement": ["used_percent"]
      }
    },
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    }
  }
}
```

**웹 서버 모니터링 구성 ** 

```
{
  "agent": {
    "metrics_collection_interval": 60,
    "region": "us-east-1"
  },
  "metrics": {
    "namespace": "WebServer",
    "metrics_collected": {
      "cpu": {
        "resources": ["*"],
        "measurement": ["usage_active"]
      },
      "mem": {
        "measurement": ["used_percent"]
      },
      "net": {
        "resources": ["eth0"],
        "measurement": ["bytes_sent", "bytes_recv"]
      }
    }
  },
  "logs": {
    "logs_collected": {
      "files": {
        "collect_list": [
          {
            "file_path": "/var/log/apache2/access.log",
            "log_group_name": "apache-access-logs",
            "log_stream_name": "{instance_id}-access"
          },
          {
            "file_path": "/var/log/apache2/error.log",
            "log_group_name": "apache-error-logs",
            "log_stream_name": "{instance_id}-error"
          }
        ]
      }
    }
  }
}
```

**데이터베이스 서버 구성 **

```
{
  "agent": {
    "metrics_collection_interval": 30,
    "region": "us-east-1"
  },
  "metrics": {
    "namespace": "DatabaseServer",
    "metrics_collected": {
      "cpu": {
        "resources": ["*"],
        "measurement": ["usage_active", "usage_iowait"]
      },
      "mem": {
        "measurement": ["used_percent", "available_percent"]
      },
      "disk": {
        "resources": ["/", "/data"],
        "measurement": ["used_percent", "inodes_free"]
      },
      "diskio": {
        "resources": ["*"],
        "measurement": ["read_bytes", "write_bytes", "io_time"]
      }
    },
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}",
      "InstanceType": "${aws:InstanceType}",
      "AutoScalingGroupName": "${aws:AutoScalingGroupName}"
    }
  }
}
```