Amazon CloudWatch
사용 설명서

CloudWatch 에이전트 구성 파일을 수동으로 생성 또는 편집

CloudWatch 에이전트 구성 파일은 agent, metricslogs의 3개 섹션으로 구성된 JSON 파일입니다.

  • agent 섹션에는 에이전트의 전체 구성에 대한 필드가 포함되어 있습니다. 마법사를 사용하는 경우 agent 섹션이 생성되지 않습니다.

  • metrics 섹션은 수집하여 CloudWatch에 게시할 사용자 지정 지표를 지정합니다. 에이전트를 사용하여 로그만 수집하는 경우 파일에서 metrics 섹션을 생략할 수 있습니다.

  • logs 섹션은 CloudWatch Logs에 게시되는 로그 파일을 지정합니다. 서버에서 Windows Server가 실행되는 경우 Windows 이벤트 로그에 따른 이벤트가 포함될 수 있습니다.

다음 섹션에서는 이 JSON 파일의 구조 및 필드에 대해 설명합니다. 이 구성 파일에 대한 스키마 정의도 볼 수 있습니다. 스키마 정의는 Linux 서버의 installation-directory/doc/amazon-cloudwatch-agent-schema.json, Windows Server를 실행하는 서버의 installation-directory/amazon-cloudwatch-agent-schema.json에 있습니다.

에이전트 구성 파일을 수동으로 생성하거나 편집할 경우 이름을 지정할 수 있습니다. 문제를 간단하게 해결할 수 있도록 이름을 Linux 서버에서는 /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json로 지정하고, Windows 서버를 실행하는 서버에서는 $Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json로 지정하는 것이 좋습니다. 파일을 생성한 후에는 해당 파일을 에이전트를 설치하려고 하는 다른 서버에 복사할 수 있습니다.

CloudWatch 에이전트 구성 파일: 에이전트 섹션

agent 섹션은 다음 필드를 포함할 수 있습니다. 마법사는 agent 섹션을 생성하지 않습니다. 대신, 이를 생략하고 이 섹션의 모든 필드에 대해 기본값을 사용합니다.

  • metrics_collection_interval – 선택 사항. 이 구성 파일에 지정되어 있는 모든 지표가 수집될 빈도를 지정합니다. 특정 유형의 지표에 대해 이 값을 재정의할 수 있습니다.

    이 값은 초 단위로 지정됩니다. 예를 들어, 10을 지정하면 10초마다 지표가 수집되도록 설정되며, 300으로 설정하면 5분마다 지표가 수집되도록 지정됩니다.

    이 값을 60초 미만으로 설정하면 각 지표가 고분해능 지표로 수집됩니다. 고분해능 지표에 대한 자세한 내용은 고분해능 지표 단원을 참조하십시오.

    기본값은 60입니다.

  • region – Amazon EC2 인스턴스를 모니터링할 때 CloudWatch 엔드포인트에 대해 사용할 리전을 지정합니다. 수집되는 지표는 이 리전(예: us-west-1)에 전송됩니다. 이 필드를 생략하면 에이전트가 지표를 Amazon EC2 인스턴스가 있는 리전으로 전송합니다.

    온프레미스 서버를 모니터링하는 경우 이 필드가 사용되지 않으며, 에이전트는 AWS 구성 파일의 AmazonCloudWatchAgent 프로필에서 리전을 읽습니다.

  • credentials – 지표 및 로그를 다른 AWS 계정에 보낼 때 사용할 IAM 역할을 지정합니다. 지정된 경우 이 필드는 1개의 파라미터 role_arn를 포함합니다.

    • role_arn – 지표 및 로그를 다른 AWS 계정에 보낼 때 인증에 사용할 IAM 역할의 Amazon 리소스 이름(ARN)을 지정합니다. 자세한 내용은 다른 계정에 지표 및 로그 전송 단원을 참조하십시오.

  • debug – 선택 사항. 디버그 로그 메시지와 함께 CloudWatch 에이전트를 실행하도록 지정합니다. 기본값은 false입니다.

  • logfile – CloudWatch 에이전트가 로그 메시지를 쓸 위치를 지정합니다. 비어 있는 문자열을 지정하면 로그가 stderr에 저장됩니다. 이 옵션을 지정하지 않으면 다음과 같이 기본 위치가 사용됩니다.

    • Linux: /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log

    • Windows Server: c:\\ProgramData\\Amazon\\CloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log

    CloudWatch 에이전트는 생성한 로그 파일을 자동으로 교체합니다. 로그 파일의 크기가 100MB에 도달하면 교체됩니다. 에이전트는 교체된 로그 파일을 최대 7일 동안 보존하며 교체된 백업 로그 파일을 최대 5개까지 보존합니다. 백업 로그 파일의 파일 이름에는 타임스탬프가 추가됩니다. 이 타임스탬프는 파일이 교체된 날짜와 시간을 표시합니다(예: amazon-cloudwatch-agent-2018-06-08T21-01-50.247.log.gz).

  • omit_hostname – 선택 사항. 기본적으로 호스트 이름은 에이전트에서 수집한 지표의 차원으로 게시됩니다. 호스트 이름이 차원으로 게시되지 않도록 하려면 이 값을 true로 설정합니다. 기본값은 false입니다.

  • run_as_user – 선택 사항. CloudWatch 에이전트를 실행하는 데 사용할 사용자를 지정합니다. 이 파라미터를 지정하지 않으면 루트 사용자가 사용됩니다. 이 옵션은 Linux 서버에서만 유효합니다.

    이 옵션을 지정하면 CloudWatch 에이전트를 시작하기 전에 사용자가 존재해야 합니다. 자세한 내용은 다른 사용자로 CloudWatch 에이전트 실행 단원을 참조하십시오.

다음은 agent 섹션의 예입니다.

"agent": { "metrics_collection_interval": 60, "region": "us-west-1", "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log", "debug": false, "run_as_user": "cwagent" }

CloudWatch 에이전트 구성 파일: 지표 섹션

Linux 또는 Windows Server가 실행되는 서버의 경우 metrics 섹션에 다음 필드가 있습니다.

  • namespace – 선택 사항. 에이전트에 의해 수집되는 지표에 대해 사용할 네임스페이스입니다. 기본값은 CWAgent입니다. 최대 길이는 255자입니다.

  • append_dimensions – 선택 사항. 에이전트에 의해 수집되는 모든 지표에 Amazon EC2 지표 차원을 추가합니다. 다음 목록은 지원되는 키-값 페어만 보여줍니다. 다른 키-값 페어는 무시됩니다.

    • "ImageID":"${aws:ImageId}"는 인스턴스의 AMI ID를 ImageID 차원의 값으로 설정합니다.

    • "InstanceId":"${aws:InstanceId}"는 인스턴스의 인스턴스 ID를 InstanceID 차원의 값으로 설정합니다.

    • "InstanceType":"${aws:InstanceType}"는 인스턴스의 인스턴스 유형을 InstanceType 차원의 값으로 설정합니다.

    • "AutoScalingGroupName":"${aws:AutoScalingGroupName}"는 인스턴스의 Auto Scaling 그룹 이름을 AutoScalingGroupName 차원의 값으로 설정합니다.

    임의 키-값 페어를 사용하여 지표에 차원을 추가하려면 특정 지표 유형에 대해 필드의 append_dimensions 파라미터를 사용해야 합니다.

    Amazon EC2 메타데이터에 따라 좌우되는 값을 지정하고 프록시를 사용할 경우 서버에서 Amazon EC2의 엔드포인트에 액세스할 수 있어야 합니다. 이러한 엔드포인트에 대한 자세한 내용은 Amazon Web Services 일반 참조Amazon Elastic Compute Cloud(Amazon EC2)를 참조하십시오.

  • aggregation_dimensions – 선택 사항. 수집된 지표가 집계될 차원을 지정합니다. 예를 들어, AutoScalingGroupName 차원에서 지표를 롤업하는 경우, 각 Auto Scaling 그룹의 모든 인스턴스의 지표가 집계되고 전체로 표시될 수 있습니다.

    하나 또는 여러 차원에 따라 지표를 롤업할 수 있습니다. 예를 들어, [["InstanceId"], ["InstanceType"], ["InstanceId","InstanceType"]]을 지정하면 인스턴스 ID 단일, 인스턴스 유형 단일 및 두 차원의 조합에 대해 지표를 집계할 수 있습니다.

    []를 지정하면 모든 차원을 무시하고 모든 지표를 하나의 모음에 롤업할 수도 있습니다.

  • endpoint_override – 에이전트가 지표를 보내는 엔드포인트로 사용할 FIPS 엔드포인트 또는 프라이빗 링크를 지정합니다. 이 옵션을 지정하고 프라이빗 연결을 설정하면 Amazon VPC 엔드포인트로 지표를 전송할 수 있습니다. 자세한 내용은 Amazon VPC이란 무엇입니까?단원을 참조하십시오.

    endpoint_override의 값은 URL인 문자열이어야 합니다.

  • metrics_collected – 필수 사항. StatsD 또는 collectd를 통해 수집된 사용자 지정 지표를 포함하여 수집할 지표를 지정합니다. 이 단원에는 여러 하위 섹션이 포함되어 있습니다.

    metrics_collected 섹션의 내용은 이 구성 파일이 Linux를 실행하는 서버용인지 아니면 Windows Server를 실행하는 서버용인지에 따라 달라집니다.

  • force_flush_interval – 서버로 전송되기 전에 지표가 메모리 버퍼에 남아 있을 최대 시간(초)을 지정합니다. 이 설정과 상관없이 버퍼 내 지표의 크기가 40KB에 도달하거나 지표 개수가 20개가 되면 지표가 즉시 서버로 전송됩니다.

    기본값은 60입니다.

  • credentials – 지표를 다른 계정에 보낼 때 사용할 IAM 역할을 지정합니다. 지정된 경우 이 필드는 1개의 파라미터 role_arn를 포함합니다.

    • role_arn – 지표를 다른 계정에 보낼 때 인증에 사용할 IAM 역할의 ARN을 지정합니다. 자세한 내용은 다른 계정에 지표 및 로그 전송 단원을 참조하십시오. 여기에 지정한 경우 이 값은 구성 파일의 agent 섹션에 지정되어 있는 role_arn을 재정의합니다(있는 경우).

Linux

Linux가 실행되는 서버에서는 구성 파일의 metrics_collected 섹션에 다음 필드도 포함될 수 있습니다.

이러한 필드 중 다수에는 해당 리소스에 대해 수집하고 싶은 지표나 나열된 measurement 섹션이 포함되어 있습니다. 이러한 measurement 섹션은 swap_used 같이 완전한 척도 이름을 지정하거나, 리소스 유형에 추가되는 척도 이름의 일부만 지정할 수 있습니다. 예를 들어 diskio 섹션의 measurement 섹션에 reads를 지정하면 diskio_reads 지표가 수집될 수 있습니다.

  • collectd – 선택 사항. collectd 프로토콜을 사용하여 사용자 지정 지표를 검색하려 한다는 것을 지정합니다. collectd 소프트웨어를 사용하여 CloudWatch 에이전트에 지표를 보냅니다. 자세한 내용은 collectd로 사용자 지정 지표 검색 단원을 참조하십시오.

  • cpu – 선택 사항. CPU 지표가 수집되도록 지정합니다. 이 단원은 리눅스 인스턴스에만 유효합니다. 수집할 CPU 지표에 대해 resourcestotalcpu 필드 중 하나 이상을 포함해야 합니다. 이 섹션은 다음 필드를 포함할 수 있습니다.

    • resources – 선택 사항. CPU당 지표가 수집되도록 하려면 이 필드의 값을 *로 지정해야 합니다. 허용되는 유일한 값은 *입니다.

    • totalcpu – 선택 사항. 모든 CPU 코어에서 집계되는 CPU 지표를 보고할지 여부를 지정합니다. 기본값은 true입니다.

    • measurement – 수집될 CPU 지표의 어레이를 지정합니다. 가능한 값은 time_active, time_guest, time_guest_nice, time_idle, time_iowait, time_irq, time_nice, time_softirq, time_steal, time_system, time_user, usage_active, usage_guest, usage_guest_nice, usage_idle, usage_iowait, usage_irq, usage_nice, usage_softirq, usage_steal, usage_system, usage_user입니다. cpu를 포함하는 경우 이 필드는 필수입니다.

      기본적으로 cpu_usage_* 지표의 단위는 Percent이며, cpu_time_* 지표에는 단위가 없습니다.

      각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.

      • rename – 이 지표에 대해 다른 이름을 지정합니다.

      • unit – 이 지표에 대해 사용할 단위를 지정하여 해당 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatumUnit 설명에 나와 있는 유효한 CloudWatch 지표 단위여야 합니다.

    • metrics_collection_interval – 선택 사항. CPU 지표를 수집하여 구성 파일의 agent 섹션에 지정되어 있는 글로벌 metrics_collection_interval 값을 재정의할 빈도를 지정합니다.

      이 값은 초 단위로 지정됩니다. 예를 들어, 10을 지정하면 10초마다 지표가 수집되도록 설정되며, 300으로 설정하면 5분마다 지표가 수집되도록 지정됩니다.

      이 값을 60초 미만으로 설정하면 각 지표가 고분해능 지표로 수집됩니다. 고분해능 지표에 대한 자세한 내용은 고분해능 지표 단원을 참조하십시오.

    • append_dimensions – 선택 사항. CPU 지표에만 사용할 수 있는 추가 차원입니다. 이 필드를 지정하면 에이전트가 수집하는 모든 유형의 지표에 대해 사용되는 글로벌 append_dimensions 필드에 지정되어 있는 차원 외에 이 차원도 사용됩니다.

  • disk – 선택 사항. 디스크 지표가 수집됨을 나타냅니다. 이 단원은 리눅스 인스턴스에만 유효합니다. 이 섹션에는 다음의 2개 필드만큼만 포함할 수 있습니다.

    • resources – 선택 사항. 디스크 탑재 지점에 대한 배열을 지정합니다. 이 필드는 CloudWatch가 나열된 탑재 지점에서만 지표를 수집하도록 제한합니다. 값으로 *를 지정하면 모든 탑재 지점에서 지표를 수집할 수 있습니다. 기본값은 모든 탑재 지점에서 지표를 수집하는 것입니다.

    • measurement – 수집될 디스크 지표의 어레이를 지정합니다. 가능한 값은 free, total, used, used_percent, inodes_free, inodes_used, inodes_total입니다. disk를 포함하는 경우 이 필드는 필수입니다.

      참고

      disk 지표에는 Partition의 차원이 있는데, 이는 생성된 사용자 지정 지표의 수가 인스턴스와 연결된 파티션의 수에 따라 달라짐을 뜻합니다. 디스크 파티션의 수는 사용 중인 AMI와 서버에 연결하는 Amazon EBS 볼륨의 수에 따라 달라집니다.

      disk 지표에 대한 기본 단위를 보려면 Linux 인스턴스에서 CloudWatch 에이전트가 수집하는 지표 섹션을 참조하십시오.

      각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.

      • rename – 이 지표에 대해 다른 이름을 지정합니다.

      • unit – 이 지표에 대해 사용할 단위를 지정하여 해당 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatumUnit 설명에 나와 있는 유효한 CloudWatch 지표 단위여야 합니다.

    • ignore_file_system_types – 디스크 지표를 수집할 때 제외할 파일 시스템 유형을 지정합니다. 유효한 값으로는 sysfs, devtmpfs 등이 있습니다.

    • drop_device – 이 값을 true로 설정하면 Device가 디스크 지표의 차원으로 포함되지 않습니다.

      Device가 차원으로 사용되지 않도록 하면 Nitro 시스템을 사용하는 인스턴스에서 인스턴스가 재부팅될 때 각 디스크 마운트마다 디바이스 이름이 변경되기 때문에 유용합니다. 이 경우 지표의 데이터가 일관되지 않으므로 이러한 지표를 기반으로 하는 경보가 INSUFFICIENT DATA 상태가 될 수 있습니다.

      기본값은 false입니다.

    • metrics_collection_interval – 선택 사항. 디스크 지표를 수집하여 구성 파일의 agent 섹션에 지정되어 있는 글로벌 metrics_collection_interval 값을 재정의할 빈도를 지정합니다.

      이 값은 초 단위로 지정됩니다.

      이 값을 60초 미만으로 설정하면 각 지표가 고분해능 지표로 수집됩니다. 자세한 내용은 고분해능 지표 단원을 참조하십시오.

    • append_dimensions – 선택 사항. 디스크 지표에만 사용할 수 있는 추가 차원입니다. 이 필드를 지정하면 에이전트에 의해 수집되는 모든 유형의 지표에 대해 사용되는 append_dimensions 필드에 지정되어 있는 차원 외에 지정한 차원도 사용됩니다.

  • diskio – 선택 사항. 디스크 I/O 지표가 수집되도록 지정합니다. 이 단원은 리눅스 인스턴스에만 유효합니다. 이 섹션에는 다음의 2개 필드만큼만 포함할 수 있습니다.

    • resources – 선택 사항. 디바이스 어레이를 지정하는 경우, CloudWatch가 해당 디바이스에서만 지표를 수집합니다. 그렇지 않으면, 모든 디바이스의 지표가 수집됩니다. 값으로 *를 지정하여 모든 디바이스에서 지표를 수집할 수도 있습니다.

    • measurement – 수집될 diskio 지표의 어레이를 지정합니다. 가능한 값은 reads, writes, read_bytes, write_bytes, read_time, write_time, io_time, iops_in_progress입니다. diskio를 포함하는 경우 이 필드는 필수입니다.

      각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.

      • rename – 이 지표에 대해 다른 이름을 지정합니다.

      • unit – 이 지표에 대해 사용할 단위를 지정하여 해당 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatumUnit 설명에 나와 있는 유효한 CloudWatch 지표 단위여야 합니다.

    • metrics_collection_interval – 선택 사항. diskio 지표를 수집하여 구성 파일의 agent 섹션에 지정되어 있는 글로벌 metrics_collection_interval 값을 재정의할 빈도를 지정합니다.

      이 값은 초 단위로 지정됩니다.

      이 값을 60초 미만으로 설정하면 각 지표가 고분해능 지표로 수집됩니다. 고분해능 지표에 대한 자세한 내용은 고분해능 지표 단원을 참조하십시오.

    • append_dimensions – 선택 사항. diskio 지표에만 사용할 수 있는 추가 차원입니다. 이 필드를 지정하면 에이전트에 의해 수집되는 모든 유형의 지표에 대해 사용되는 append_dimensions 필드에 지정되어 있는 차원 외에 지정한 차원도 사용됩니다.

  • swap – 선택 사항. 스왑 메모리 지표가 수집됨을 나타냅니다. 이 단원은 리눅스 인스턴스에만 유효합니다. 이 섹션에는 다음의 3개 필드만큼만 포함할 수 있습니다.

    • measurement – 수집될 스왑 지표의 어레이를 지정합니다. 가능한 값은 free, used, used_percent입니다. swap를 포함하는 경우 이 필드는 필수입니다.

      swap 지표에 대한 기본 단위를 보려면 Linux 인스턴스에서 CloudWatch 에이전트가 수집하는 지표 섹션을 참조하십시오.

      각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.

      • rename – 이 지표에 대해 다른 이름을 지정합니다.

      • unit – 이 지표에 대해 사용할 단위를 지정하여 해당 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatumUnit 설명에 나와 있는 유효한 CloudWatch 지표 단위여야 합니다.

    • metrics_collection_interval – 선택 사항. 스왑 지표를 수집하여 구성 파일의 agent 섹션에 지정되어 있는 글로벌 metrics_collection_interval 값을 재정의할 빈도를 지정합니다.

      이 값은 초 단위로 지정됩니다.

      이 값을 60초 미만으로 설정하면 각 지표가 고분해능 지표로 수집됩니다. 고분해능 지표에 대한 자세한 내용은 고분해능 지표 단원을 참조하십시오.

    • append_dimensions – 선택 사항. 스왑 지표에만 사용할 수 있는 추가 차원입니다. 이 필드를 지정하면 에이전트에 의해 수집되는 모든 유형의 지표에 대해 사용되는 글로벌 append_dimensions 필드에 지정되어 있는 차원 외에 지정한 차원도 사용됩니다. 고해상도 지표로 수집됩니다.

  • mem – 선택 사항. 메모리 지표가 수집됨을 나타냅니다. 이 단원은 리눅스 인스턴스에만 유효합니다. 이 섹션에는 다음의 3개 필드만큼만 포함할 수 있습니다.

    • measurement – 수집될 메모리 지표의 어레이를 지정합니다. 가능한 값은 active, available, available_percent, buffered, cached, free, inactive, total, used, used_percent입니다. mem를 포함하는 경우 이 필드는 필수입니다.

      mem 지표에 대한 기본 단위를 보려면 Linux 인스턴스에서 CloudWatch 에이전트가 수집하는 지표 섹션을 참조하십시오.

      각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.

      • rename – 이 지표에 대해 다른 이름을 지정합니다.

      • unit – 이 지표에 대해 사용할 단위를 지정하여 해당 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatumUnit 설명에 나와 있는 유효한 CloudWatch 지표 단위여야 합니다.

    • metrics_collection_interval – 선택 사항. mem 지표를 수집하여 구성 파일의 agent 섹션에 지정되어 있는 글로벌 metrics_collection_interval 값을 재정의할 빈도를 지정합니다.

      이 값은 초 단위로 지정됩니다.

      이 값을 60초 미만으로 설정하면 각 지표가 고분해능 지표로 수집됩니다. 고분해능 지표에 대한 자세한 내용은 고분해능 지표 단원을 참조하십시오.

    • append_dimensions – 선택 사항. mem 지표에만 사용할 수 있는 추가 차원입니다. 이 필드를 지정하면 에이전트가 수집하는 모든 유형의 지표에 대해 사용되는 append_dimensions 필드에 지정되어 있는 차원 외에 이 차원도 사용됩니다.

  • net – 선택 사항. 네트워킹 지표가 수집됨을 나타냅니다. 이 단원은 리눅스 인스턴스에만 유효합니다. 이 섹션에는 다음과 같이 최대 4개의 필드가 포함될 수 있습니다.

    • resources – 선택 사항. 네트워크 인터페이스 어레이를 지정하는 경우, CloudWatch가 해당 인터페이스에서만 지표를 수집합니다. 그렇지 않으면, 모든 디바이스의 지표가 수집됩니다. 또한 값으로 *를 지정하면 모든 인터페이스에서 지표를 수집할 수 있습니다.

    • measurement – 수집될 네트워킹 지표의 어레이를 지정합니다. 가능한 값은 bytes_sent, bytes_recv, drop_in, drop_out, err_in, err_out, packets_sent, packets_recv입니다. net를 포함하는 경우 이 필드는 필수입니다.

      net 지표에 대한 기본 단위를 보려면 Linux 인스턴스에서 CloudWatch 에이전트가 수집하는 지표 섹션을 참조하십시오.

      각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.

      • rename – 이 지표에 대해 다른 이름을 지정합니다.

      • unit – 이 지표에 대해 사용할 단위를 지정하여 해당 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatumUnit 설명에 나와 있는 유효한 CloudWatch 지표 단위여야 합니다.

    • metrics_collection_interval – 선택 사항. net 지표를 수집하여 구성 파일의 agent 섹션에 지정되어 있는 글로벌 metrics_collection_interval 값을 재정의할 빈도를 지정합니다.

      이 값은 초 단위로 지정됩니다. 예를 들어, 10을 지정하면 10초마다 지표가 수집되도록 설정되며, 300으로 설정하면 5분마다 지표가 수집되도록 지정됩니다.

      이 값을 60초 미만으로 설정하면 각 지표가 고분해능 지표로 수집됩니다. 고분해능 지표에 대한 자세한 내용은 고분해능 지표 단원을 참조하십시오.

    • append_dimensions – 선택 사항. net 지표에만 사용할 수 있는 추가 차원입니다. 이 필드를 지정하면 에이전트에 의해 수집되는 모든 유형의 지표에 대해 사용되는 append_dimensions 필드에 지정되어 있는 차원 외에 이 차원도 사용됩니다.

  • netstat – 선택 사항. TCP 연결 상태 및 UDP 연결 지표가 수집됨을 나타냅니다. 이 단원은 리눅스 인스턴스에만 유효합니다. 이 섹션에는 다음의 3개 필드만큼만 포함할 수 있습니다.

    • measurement – 수집될 netstat 지표의 어레이를 지정합니다. 가능한 값은 tcp_close, tcp_close_wait, tcp_closing, tcp_established, tcp_fin_wait1, tcp_fin_wait2, tcp_last_ack, tcp_listen, tcp_none, tcp_syn_sent, tcp_syn_recv, tcp_time_waitudp_socket입니다. netstat를 포함하는 경우 이 필드는 필수입니다.

      netstat 지표에 대한 기본 단위를 보려면 Linux 인스턴스에서 CloudWatch 에이전트가 수집하는 지표 섹션을 참조하십시오.

      각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.

      • rename – 이 지표에 대해 다른 이름을 지정합니다.

      • unit – 이 지표에 대해 사용할 단위를 지정하여 해당 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatumUnit 설명에 나와 있는 유효한 CloudWatch 지표 단위여야 합니다.

    • metrics_collection_interval – 선택 사항. netstat 지표를 수집하여 구성 파일의 agent 섹션에 지정되어 있는 글로벌 metrics_collection_interval 값을 재정의할 빈도를 지정합니다.

      이 값은 초 단위로 지정됩니다.

      이 값을 60초 미만으로 설정하면 각 지표가 고분해능 지표로 수집됩니다. 고분해능 지표에 대한 자세한 내용은 고분해능 지표 단원을 참조하십시오.

    • append_dimensions – 선택 사항. netstat 지표에만 사용할 수 있는 추가 차원입니다. 이 필드를 지정하면 에이전트에 의해 수집되는 모든 유형의 지표에 대해 사용되는 append_dimensions 필드에 지정되어 있는 차원 외에 이 차원도 사용됩니다.

  • processes – 선택 사항. 프로세스 지표가 수집됨을 나타냅니다. 이 단원은 리눅스 인스턴스에만 유효합니다. 이 섹션에는 다음의 3개 필드만큼만 포함할 수 있습니다.

    • measurement – 수집될 프로세스 지표의 어레이를 지정합니다. 가능한 값은 blocked, dead, idle, paging, running, sleeping, stopped, total, total_threads, wait, zombies입니다. processes를 포함하는 경우 이 필드는 필수입니다.

      모든 processes 지표에 대해 기본 단위는 Count입니다.

      각 개별 지표의 항목 내에서 다음 중 하나 또는 둘 다를 선택적으로 지정할 수 있습니다.

      • rename – 이 지표에 대해 다른 이름을 지정합니다.

      • unit – 이 지표에 대해 사용할 단위를 지정하여 해당 지표의 기본 단위를 재정의합니다. 지정하는 단위는 MetricDatumUnit 설명에 나와 있는 유효한 CloudWatch 지표 단위여야 합니다.

    • metrics_collection_interval – 선택 사항. 프로세스 지표를 수집하여 구성 파일의 agent 섹션에 지정되어 있는 글로벌 metrics_collection_interval 값을 재정의할 빈도를 지정합니다.

      이 값은 초 단위로 지정됩니다. 예를 들어, 10을 지정하면 10초마다 지표가 수집되도록 설정되며, 300으로 설정하면 5분마다 지표가 수집되도록 지정됩니다.

      이 값을 60초 미만으로 설정하면 각 지표가 고분해능 지표로 수집됩니다. 자세한 내용은 고분해능 지표 단원을 참조하십시오.

    • append_dimensions – 선택 사항. 프로세스 지표에만 사용할 수 있는 추가 차원입니다. 이 필드를 지정하면 에이전트에 의해 수집되는 모든 유형의 지표에 대해 사용되는 append_dimensions 필드에 지정되어 있는 차원 외에 이 차원도 사용됩니다.

  • procstat – 선택 사항. 개별 프로세스에서 지표를 검색하려 한다고 지정합니다. 자세한 내용은 procstat 플러그인을 사용하여 프로세스 지표 수집 단원을 참조하십시오.

  • statsd – 선택 사항. StatsD 프로토콜을 사용하여 사용자 지정 지표를 검색하려 한다는 것을 지정합니다. CloudWatch 에이전트는 프로토콜용 데몬으로 작용합니다. 표준 StatsD 클라이언트를 사용하여 CloudWatch 에이전트에 지표를 보냅니다. 자세한 내용은 StatsD로 시작하는 사용자 지정 지표 검색 단원을 참조하십시오.

다음은 Linux 서버용 metrics 섹션의 예입니다. 이 예에서는 3개의 CPU 지표, 3개의 netstat 지표, 3개의 프로세스 지표 및 1개의 디스크 지표가 수집되며, 에이전트는 collectd 클라이언트로부터 추가 지표를 받도록 설정됩니다.

"metrics": { "metrics_collected": { "collectd": {}, "cpu": { "resources": [ "*" ], "measurement": [ {"name": "cpu_usage_idle", "rename": "CPU_USAGE_IDLE", "unit": "Percent"}, {"name": "cpu_usage_nice", "unit": "Percent"}, "cpu_usage_guest" ], "totalcpu": false, "metrics_collection_interval": 10, "append_dimensions": { "test": "test1", "date": "2017-10-01" } }, "netstat": { "measurement": [ "tcp_established", "tcp_syn_sent", "tcp_close" ], "metrics_collection_interval": 60 }, "disk": { "measurement": [ "used_percent" ], "resources": [ "*" ], "drop_device": true }, "processes": { "measurement": [ "running", "sleeping", "dead" ] } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "aggregation_dimensions" : [["AutoScalingGroupName"], ["InstanceId", "InstanceType"],[]] }

Windows Server

Windows Server의 metrics_collected 섹션에서는 Memory, ProcessorLogicalDisk와 같은 각 Windows 성능 객체에 대한 하위 섹션을 생성할 수 있습니다. 사용 가능한 객체 및 카운터에 대한 자세한 내용은 Microsoft Windows 설명서를 참조하십시오.

각 객체의 하위 섹션 내에서 수집할 카운터의 measurement 어레이를 지정합니다. measurement 어레이는 구성 파일에서 지정하는 객체마다 있어야 합니다. 또한 resources 필드를 지정하여 지표를 수집할 인스턴스의 이름을 지정할 수 있습니다. 또한 resources에 대해 *를 지정하면 모든 인스턴스에 대해 별도의 지표를 수집할 수 있습니다. resources를 생략하면 모든 인스턴스의 데이터가 하나의 집합으로 집계됩니다. 인스턴스가 없는 객체의 경우 resources를 생략합니다.

각 객체 섹션 내에서 다음 선택 필드를 지정할 수도 있습니다.

  • metrics_collection_interval – 선택 사항. 이 객체에 대해 지표를 수집하여 구성 파일의 agent 섹션에 지정되어 있는 글로벌 metrics_collection_interval 값을 재정의할 빈도를 지정합니다.

    이 값은 초 단위로 지정됩니다. 예를 들어, 10을 지정하면 10초마다 지표가 수집되도록 설정되며, 300으로 설정하면 5분마다 지표가 수집되도록 지정됩니다.

    이 값을 60초 미만으로 설정하면 각 지표가 고분해능 지표로 수집됩니다. 자세한 내용은 고분해능 지표 단원을 참조하십시오.

  • append_dimensions – 선택 사항. 이 객체의 지표에만 사용할 추가 차원을 지정합니다. 이 필드를 지정하면 에이전트에 의해 수집되는 모든 유형의 지표에 대해 사용되는 글로벌 append_dimensions 필드에 지정되어 있는 차원 외에 이 차원도 사용됩니다.

각 카운터 섹션 내에서 다음 선택 필드를 지정할 수도 있습니다.

  • rename – 이 지표에 대해 CloudWatch에서 사용될 다른 이름을 지정합니다.

  • unit – 이 지표에 대해 사용할 단위를 지정합니다. 지정하는 단위는 MetricDatumUnit 설명에 나와 있는 유효한 CloudWatch 지표 단위여야 합니다.

metrics_collected에는 다음과 같이 두 가지 다른 선택적 섹션을 포함할 수 있습니다.

다음은 Windows Server에서 사용하기 위한 metrics 섹션의 예입니다. 이 예에서는 다양한 Windows 지표가 수집되며, 컴퓨터가 StatsD 클라이언트로부터 추가 지표를 받도록 설정되기도 합니다.

"metrics": { "metrics_collected": { "statsd": {}, "Processor": { "measurement": [ {"name": "% Idle Time", "rename": "CPU_IDLE", "unit": "Percent"}, "% Interrupt Time", "% User Time", "% Processor Time" ], "resources": [ "*" ], "append_dimensions": { "d1": "win_foo", "d2": "win_bar" } }, "LogicalDisk": { "measurement": [ {"name": "% Idle Time", "unit": "Percent"}, {"name": "% Disk Read Time", "rename": "DISK_READ"}, "% Disk Write Time" ], "resources": [ "*" ] }, "Memory": { "metrics_collection_interval": 5, "measurement": [ "Available Bytes", "Cache Faults/sec", "Page Faults/sec", "Pages/sec" ], "append_dimensions": { "d3": "win_bo" } }, "Network Interface": { "metrics_collection_interval": 5, "measurement": [ "Bytes Received/sec", "Bytes Sent/sec", "Packets Received/sec", "Packets Sent/sec" ], "resources": [ "*" ], "append_dimensions": { "d3": "win_bo" } }, "System": { "measurement": [ "Context Switches/sec", "System Calls/sec", "Processor Queue Length" ], "append_dimensions": { "d1": "win_foo", "d2": "win_bar" } } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]] } }

CloudWatch 에이전트 구성 파일: 로그 섹션

logs 섹션에 포함되는 필드는 다음과 같습니다.

  • logs_collectedlogs 섹션이 포함되어 있는 경우 필수입니다. 서버로부터 수집될 로그 파일 및 Windows 서버 로그를 지정합니다. 두 필드인 fileswindows_events를 포함할 수 있습니다.

    • files – CloudWatch 에이전트가 수집할 일반 로그 파일을 지정합니다. 여기에는 collect_list라는 필드 하나가 포함되는데, 이 필드는 이러한 파일을 추가로 정의합니다.

      • collect_listfiles가 포함되어 있는 경우 필수입니다. 항목 어레이를 포함하며, 항목 각각이 수집될 하나의 로그 파일을 지정합니다. 이러한 항목 각각에는 다음 필드를 포함할 수 있습니다.

        • file_path – CloudWatch Logs에 업로드할 로그 파일의 경로를 지정합니다. 수퍼 별표**를 추가한, 규칙과 일치하는 표준 Unix glob는 허용됩니다. 예를 들어 /var/log/**.log를 지정하면 /var/log 디렉터리 트리의 모든 .log 파일이 수집됩니다. 보다 자세한 예는 Glob Library를 참조하십시오.

          표준 별표를 표준 와일드카드로 사용할 수도 있습니다. 예를 들어, /var/log/system.log*/var/log에서 system.log_1111, system.log_2222 등의 파일과 일치합니다.

          파일 수정 시간에 따라 최신 파일만 CloudWatch Logs로 푸시됩니다. 와일드카드는 여러 종류의 파일(예: access_log_80access_log_443)이 아니라 종류가 같은 일련의 파일(예: access_log.2018-06-01-01access_log.2018-06-01-02)을 지정할 때 사용하는 것이 좋습니다. 여러 종류의 파일을 지정하려면 로그 파일이 종류별로 서로 다른 로그 스트림에 들어가도록 에이전트 구성 파일에 다른 로그 스트림 항목 하나를 추가합니다.

        • auto_removal – 선택 사항. true인 경우 CloudWatch 에이전트는 CloudWatch Logs에 이전 로그 파일을 업로드한 후 자동으로 해당 파일을 제거합니다. 에이전트는 각 날짜에 대해 별도의 파일을 만드는 로그와 같이 여러 파일을 생성하는 로그에서만 전체 파일을 제거합니다. 로그가 단일 파일에 연속적으로 기록되는 경우에는 제거되지 않습니다.

          로그 파일 순환 또는 제거 방법이 이미 있는 경우 이 필드를 생략하거나 false로 설정하는 것이 좋습니다.

          이 필드를 생략하면 기본값인 false가 사용됩니다.

        • log_group_name – 선택 사항. CloudWatch Logs에서 로그 그룹 이름으로 사용할 항목을 지정합니다. 이름의 일부로 {instance_id}, {hostname}, {local_hostname}, {ip_address}를 이름 안의 변수로 사용할 수 있습니다. {hostname}은 EC2 메타데이터에서 호스트 이름을 가져오고, {local_hostname}은 네트워크 구성 파일에 있는 호스트 이름을 사용합니다.

          이러한 변수를 사용하여 많은 로그 그룹을 생성하는 경우 리전별 계정당 5,000개 로그 그룹이 한도라는 점에 유의하십시오.

          허용되는 문자에는 a–z, A–Z, 0–9, '_'(밑줄), '- (하이픈), '/'(슬래시) 및 '.'(마침표)가 포함됩니다.

          혼동하지 않도록 이 필드를 지정하는 것이 좋습니다. 이 필드를 생략할 경우 로그 그룹 이름으로 마지막 점까지의 파일 경로가 사용됩니다. 예를 들어 파일 경로가 /tmp/TestLogFile.log.2017-07-11-14이면 로그 그룹 이름은 /tmp/TestLogFile.log입니다.

        • log_stream_name – 선택 사항. CloudWatch Logs에서 로그 스트림 이름으로 사용할 항목을 지정합니다. 이름의 일부로 {instance_id}, {hostname}, {local_hostname}, {ip_address}를 이름 안의 변수로 사용할 수 있습니다. {hostname}은 EC2 메타데이터에서 호스트 이름을 가져오고, {local_hostname}은 네트워크 구성 파일에 있는 호스트 이름을 사용합니다.

          이 필드를 생략하면 기본값인 {instance_id}가 사용됩니다. 로그 스트림이 아직 없는 경우 로그 스트림이 자동으로 생성됩니다.

        • timezone – 선택 사항. 로그 이벤트에 타임스탬프를 표시할 때 사용할 시간대를 지정합니다. 유효 값은 UTCLocal입니다. 기본값은 Local입니다.

          timestamp_format에 값을 지정하지 않으면 이 파라미터는 무시됩니다.

        • timestamp_format – 선택 사항. 일반 텍스트와 %로 시작하는 특수 기호를 사용하여 타임스탬프 형식을 지정합니다. 이 필드를 생략한 경우 현재 시간이 사용됩니다. 이 필드를 사용하면 다음 목록에 있는 기호를 형식의 일부로 사용할 수 있습니다.

          단일 로그 항목에 형식과 일치하는 두 개의 타임스탬프가 포함된 경우 첫 번째 타임스탬프가 사용됩니다.

          이 기호 목록은 이전 CloudWatch Logs 에이전트에서 사용되는 목록과 다릅니다. 이러한 차이점에 대한 요약은 통합 CloudWatch 에이전트와 이전 CloudWatch Logs 에이전트 간 타임스탬프 차이 단원을 참조하십시오.

          %y

          제로 패딩된 10진수 형태의 세기를 제외한 연도

          %Y

          10진수 형태로 세기가 포함된 연도

          %b

          로캘 약어 형태의 월

          %B

          로캘 전체 이름 형태의 월

          %m

          제로 패딩된 10진수 형태의 월

          %-m

          10진수 형태의 월(제로 패딩되지 않음)

          %d

          제로 패딩된 10진수 형태의 월 날짜

          %-d

          10진수 형태의 월 날짜(제로 패딩되지 않음)

          %A

          평일의 전체 이름(예: Monday)

          %a

          평일의 약어(예: Mon)

          %H

          제로 패딩된 10진수 형태의 시간(24시간 방식)

          %I

          제로 패딩된 10진수 형태의 시간(12시간 방식)

          %-I

          10진수 형태의 시간(12시간 방식, 제로 패딩되지 않음)

          %p

          AM 또는 PM

          %M

          제로 패딩된 10진수 형태의 분

          %-M

          10진수 형태의 분(제로 패딩되지 않음)

          %S

          제로 패딩된 10진수 형태의 초

          %-S

          10진수 형태의 초(제로 패딩되지 않음)

          %f

          10진수 형태(1-9의 숫자)의 소수부 초(왼쪽에 제로 패딩됨)

          %Z

          시간대(예: PST)

          %z

          현지 시간대와 UTC 간의 오프셋으로 표시되는 시간대입니다. 예, -0700. 이 형식만 지원됩니다. 예를 들어, -07:00은 유효한 형식이 아닙니다.

        • multi_line_start_pattern – 로그 메시지의 시작을 식별하기 위한 패턴을 지정합니다. 로그 메시지는 패턴과 일치하는 하나의 줄 및 패턴과 일치하지 않는 후속 줄로 이루어져 있습니다.

          이 필드를 생략할 경우, 여러 줄 모드가 비활성화되고 기본적으로 공백이 아닌 문자로 시작되는 줄에서 이전의 로그 메시지가 종료되고 새로운 로그 메시지가 시작됩니다.

          이 필드를 포함하는 경우, 타임스탬프 형식과 동일한 정규식을 사용하도록 {timestamp_format}을 지정할 수 있습니다. 그렇지 않으면, CloudWatch Logs에 다른 정규식을 지정하여 여러 줄 항목의 시작 줄을 결정하는 데 사용할 수 있습니다.

        • encoding – 로그 파일을 정확하게 읽을 수 있도록 로그 파일의 인코딩을 지정합니다. 코딩을 잘못 지정하면 디코딩할 수 없는 문자를 다른 문자가 대체하기 때문에 데이터가 손실될 수 있습니다.

          기본값은 utf-8입니다. 가능한 모든 값은 다음과 같습니다.

          ascii, big5, euc-jp, euc-kr, gbk, gb18030, ibm866, iso2022-jp, iso8859-2, iso8859-3, iso8859-4, iso8859-5, iso8859-6, iso8859-7, iso8859-8, iso8859-8-i, iso8859-10, iso8859-13, iso8859-14, iso8859-15, iso8859-16, koi8-r, koi8-u, macintosh, shift_jis, utf-8, utf-16, windows-874, windows-1250, windows-1251, windows-1252, windows-1253, windows-1254, windows-1255, windows-1256, windows-1257, windows-1258, x-mac-cyrillic

    • windows_events 섹션은 Windows Server가 실행되는 서버로부터 수집할 Windows 이벤트 유형을 지정합니다. 여기에는 다음 필드가 포함됩니다.

      • collect_listwindows_events가 포함되어 있는 경우 필수입니다. 수집될 Windows 이벤트의 유형 및 수준을 지정합니다. 수집될 각 로그에는 이 섹션에 있는 항목이 있으며, 여기에는 다음 필드를 포함할 수 있습니다.

        • event_name – 기록할 Windows 이벤트 유형을 지정합니다. 이 유형은 Windows 이벤트 로그 채널 이름과 동일합니다(예: System, Security, Application 등). 이 필드는 기록할 Windows 이벤트 유형마다 있어야 합니다.

        • event_levels – 기록할 이벤트 레벨을 지정합니다. 기록할 각 수준을 지정해야 합니다. 가능한 값은 INFORMATION, WARNING, ERROR, CRITICALVERBOSE입니다. 이 필드는 기록할 Windows 이벤트 유형마다 있어야 합니다.

        • log_group_name – 필수 사항. CloudWatch Logs에서 로그 그룹 이름으로 사용할 항목을 지정합니다.

        • log_stream_name – 선택 사항. CloudWatch Logs에서 로그 스트림 이름으로 사용할 항목을 지정합니다. 이름의 일부로 {instance_id}, {hostname}, {local_hostname}, {ip_address}를 이름 안의 변수로 사용할 수 있습니다. {hostname}은 EC2 메타데이터에서 호스트 이름을 가져오고, {local_hostname}은 네트워크 구성 파일에 있는 호스트 이름을 사용합니다.

          이 필드를 생략하면 기본값인 {instance_id}가 사용됩니다. 로그 스트림이 아직 없는 경우 로그 스트림이 자동으로 생성됩니다.

        • event_format – 선택 사항. CloudWatch Logs에 Windows 이벤트를 저장할 때 사용할 형식을 지정합니다. xml은 Windows 이벤트 뷰어에서처럼 XML 형식을 사용합니다. text는 기존의 CloudWatch Logs 에이전트 형식을 사용합니다.

  • log_stream_name – 필수 사항. collect_list의 항목에 개별 로그 스트림 이름이 정의되어 있지 않은 Windows 이벤트나 로그에 사용될 기본 로그 스트림 이름을 지정합니다.

  • endpoint_override – 에이전트가 로그를 보내는 엔드포인트로 사용할 FIPS 엔드포인트 또는 프라이빗 링크를 지정합니다. 이 필드를 지정하고 프라이빗 링크를 설정하면 로그를 Amazon VPC 엔드포인트로 보낼 수 있습니다. 자세한 내용은 Amazon VPC이란 무엇입니까?단원을 참조하십시오.

    endpoint_override의 값은 URL인 문자열이어야 합니다.

  • force_flush_interval – 로그가 서버로 전송되기 전에 메모리 버퍼에 남아 있을 최대 시간(초)을 지정합니다. 이 필드에 대한 설정과 상관없이 버퍼 내 로그의 크기가 1MB에 도달하면 로그가 즉시 서버로 전송됩니다. 기본값은 5입니다.

  • credentials – 로그를 다른 AWS 계정에 보낼 때 사용할 IAM 역할을 지정합니다. 지정된 경우 이 필드는 1개의 파라미터 role_arn를 포함합니다.

    • role_arn – 로그를 다른 AWS 계정에 보낼 때 인증에 사용할 IAM 역할의 ARN을 지정합니다. 자세한 내용은 다른 계정에 지표 및 로그 전송 단원을 참조하십시오. 여기에 지정한 경우 이를 통해 구성 파일(해당 시)의 agent 섹션에 지정되어 있는 role_arn을 재정의합니다.

다음은 logs 섹션의 예입니다.

"logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log", "log_stream_name": "my_log_stream_name_1", "timestamp_format": "%H: %M: %S%y%b%-d" }, { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\test.log", "log_group_name": "test.log", "log_stream_name": "my_log_stream_name_2" } ] }, "windows_events": { "collect_list": [ { "event_name": "System", "event_levels": [ "INFORMATION", "ERROR" ], "log_group_name": "System", "log_stream_name": "System" }, { "event_name": "CustomizedName", "event_levels": [ "INFORMATION", "ERROR" ], "log_group_name": "CustomizedLogGroup", "log_stream_name": "CustomizedLogStream" } ] } }, "log_stream_name": "my_log_stream_name" }

CloudWatch 에이전트 구성 파일: 전체 예

다음은 Linux 서버에 대한 전체 CloudWatch 에이전트 구성 파일의 예입니다.

수집하려는 척도에 대해 measurement 섹션에 나열된 항목들은 완전한 척도 이름을 지정하거나, 리소스 유형에 추가되는 척도 이름의 일부만 지정할 수 있습니다. 예를 들어 diskio 섹션의 measurement 섹션에 reads 또는 diskio_reads을 지정하면 diskio_reads 지표가 수집될 수 있습니다.

이 예에는 measurement 섹션에서 지표를 지정하는 두 가지 방법이 모두 포함되어 있습니다.

{ "agent": { "metrics_collection_interval": 10, "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log" }, "metrics": { "metrics_collected": { "cpu": { "resources": [ "*" ], "measurement": [ {"name": "cpu_usage_idle", "rename": "CPU_USAGE_IDLE", "unit": "Percent"}, {"name": "cpu_usage_nice", "unit": "Percent"}, "cpu_usage_guest" ], "totalcpu": false, "metrics_collection_interval": 10, "append_dimensions": { "customized_dimension_key_1": "customized_dimension_value_1", "customized_dimension_key_2": "customized_dimension_value_2" } }, "disk": { "resources": [ "/", "/tmp" ], "measurement": [ {"name": "free", "rename": "DISK_FREE", "unit": "Gigabytes"}, "total", "used" ], "ignore_file_system_types": [ "sysfs", "devtmpfs" ], "metrics_collection_interval": 60, "append_dimensions": { "customized_dimension_key_3": "customized_dimension_value_3", "customized_dimension_key_4": "customized_dimension_value_4" } }, "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_cached", "mem_total" ], "metrics_collection_interval": 1 }, "net": { "resources": [ "eth0" ], "measurement": [ "bytes_sent", "bytes_recv", "drop_in", "drop_out" ] }, "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 } }

다음은 Windows Server가 실행되는 서버에 대한 전체 CloudWatch 에이전트 구성 파일의 예입니다.

{ "agent": { "metrics_collection_interval": 60, "logfile": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log" }, "metrics": { "metrics_collected": { "Processor": { "measurement": [ {"name": "% Idle Time", "rename": "CPU_IDLE", "unit": "Percent"}, "% Interrupt Time", "% User Time", "% Processor Time" ], "resources": [ "*" ], "append_dimensions": { "customized_dimension_key_1": "customized_dimension_value_1", "customized_dimension_key_2": "customized_dimension_value_2" } }, "LogicalDisk": { "measurement": [ {"name": "% Idle Time", "unit": "Percent"}, {"name": "% Disk Read Time", "rename": "DISK_READ"}, "% Disk Write Time" ], "resources": [ "*" ] }, "customizedObjectName": { "metrics_collection_interval": 60, "customizedCounterName": [ "metric1", "metric2" ], "resources": [ "customizedInstaces" ] }, "Memory": { "metrics_collection_interval": 5, "measurement": [ "Available Bytes", "Cache Faults/sec", "Page Faults/sec", "Pages/sec" ] }, "Network Interface": { "metrics_collection_interval": 5, "measurement": [ "Bytes Received/sec", "Bytes Sent/sec", "Packets Received/sec", "Packets Sent/sec" ], "resources": [ "*" ], "append_dimensions": { "customized_dimension_key_3": "customized_dimension_value_3" } }, "System": { "measurement": [ "Context Switches/sec", "System Calls/sec", "Processor Queue Length" ] } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]] }, "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log", "timezone": "UTC" }, { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\test.log", "log_group_name": "test.log", "timezone": "Local" } ] }, "windows_events": { "collect_list": [ { "event_name": "System", "event_levels": [ "INFORMATION", "ERROR" ], "log_group_name": "System", "log_stream_name": "System", "event_format": "xml" }, { "event_name": "CustomizedName", "event_levels": [ "WARNING", "ERROR" ], "log_group_name": "CustomizedLogGroup", "log_stream_name": "CustomizedLogStream", "event_format": "xml" } ] } }, "log_stream_name": "example_log_stream_name" } }

수동으로 CloudWatch 에이전트 구성 파일 저장

CloudWatch 에이전트 구성 파일을 수동으로 생성하거나 편집할 경우 이름을 지정할 수 있습니다. 문제를 간단하게 해결할 수 있도록 이름을 Linux 서버에서는 /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json로 지정하고, Windows 서버를 실행하는 서버에서는 $Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json로 지정하는 것이 좋습니다. 파일을 생성한 후에는 해당 파일을 에이전트를 실행하려고 하는 다른 서버에 복사할 수 있습니다.

CloudWatch 에이전트 구성 파일을 시스템 관리자 Parameter Store에 업로드

SSM Agent를 사용하여 서버에 CloudWatch 에이전트를 설치하려는 경우 CloudWatch 에이전트 구성 파일을 수동으로 편집한 후 시스템 관리자 Parameter Store에 업로드할 수 있습니다. 이렇게 하려면 시스템 관리자 put-parameter 명령을 사용합니다.

파일을 Parameter Store에 저장할 수 있도록 하려면 충분한 권한이 있는 IAM 역할을 사용해야 합니다. 자세한 내용은 CloudWatch 에이전트와 함께 사용하기 위한 IAM 역할 및 사용자 생성 단원을 참조하십시오.

다음 명령을 사용합니다. 여기서 parameter name은 Parameter Store의 이 파일에 대해 사용될 이름이며, configuration_file_pathname은 편집한 구성 파일의 경로 및 파일 이름입니다.

aws ssm put-parameter --name "parameter name" --type "String" --value file://configuration_file_pathname