[AWS] CloudWatch Agent 구성 파일 생성 및 편집(Linux)

HYEOB KIM·2022년 6월 14일
1

aws

목록 보기
31/62

이전 내용: [AWS] ssm을 이용해 CloudWatch Agent 설치

개요

  • CloudWatch Agent서버에 설치했다면, CloudWatch Agent 구성 파일을 생성해야 에이전트를 시작할 수 있습니다.

수동으로 구성 파일 생성

CloudWatch Agent를 설치한 서버로 접근합니다.

CloudWatch Agent 구성 파일은 /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json으로 저장하겠습니다.

$ vim /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json

내용은 AWS 공식 문서를 참고하여 아래와 같이 작성하였습니다.

{
  "agent": {
    "metrics_collection_interval": 10,
    "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log"
  },
  "metrics": {
    "namespace": "MyCustomNamespace",
    "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
  }
}

구성 파일 내용 설명

CloudWatch Agent 구성 파일agent, metrics, logs 세 섹션으로 나뉘어져 있는 JSON 파일입니다.

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

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

  • logs: CloudWatch Logs에 게시되는 로그 파일을 지정합니다.

각 섹션의 항목에 대한 자세한 설명은 AWS 공식 문서를 참고하세요.

CloudWatch Agent가 수집하는 지표

  • CloudWatch Agent가 수집하는 지표에 대한 세부 사항은 AWS 공식 문서를 참고하세요.
profile
Devops Engineer

0개의 댓글