Skip to content

Package Request: Unified CloudWatch Agent #35

Description

@thimslugga

This is a request for the Unified CloudWatch Agent

x86_64

curl -sLO 'https://s3.amazonaws.com/amazoncloudwatch-agent/darwin/amd64/latest/amazon-cloudwatch-agent.pkg'
sudo installer -verbose -pkg amazon-cloudwatch-agent.pkg -target /

aarch64

curl -sL 'https://s3.amazonaws.com/amazoncloudwatch-agent/darwin/arm64/latest/amazon-cloudwatch-agent.pkg' -O
sudo installer -verbose -pkg amazon-cloudwatch-agent.pkg -target /
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

cat /opt/aws/amazon-cloudwatch-agent/bin/config.json

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

# To check the status
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a status

# To view the logs
tail -f /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log

Amazon Managed Roles:

CloudWatchAgentServerRole

OR

CloudWatchFullAccess

Creating a custom policy:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricData",
                "ec2:DescribeVolumes",
                "ec2:DescribeTags",
                "logs:PutLogEvents",
                "logs:DescribeLogStreams",
                "logs:DescribeLogGroups",
                "logs:CreateLogStream",
                "logs:CreateLogGroup"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameter"
            ],
            "Resource": "arn:aws:ssm:*:*:parameter/AmazonCloudWatch-*"
        }
    ]
}

Example configuration:

{
 "agent": {
  "metrics_collection_interval": 60,
  "run_as_user": "root"
 },
 "metrics": {
  "aggregation_dimensions": [
   [
    "InstanceId"
   ]
  ],
  "append_dimensions": {
   "AutoScalingGroupName": "${aws:AutoScalingGroupName}",
   "ImageId": "${aws:ImageId}",
   "InstanceId": "${aws:InstanceId}",
   "InstanceType": "${aws:InstanceType}"
  },
  "metrics_collected": {
   "collectd": {
    "metrics_aggregation_interval": 60
   },
   "cpu": {
    "measurement": [
     "cpu_usage_idle",
     "cpu_usage_iowait",
     "cpu_usage_user",
     "cpu_usage_system"
    ],
    "metrics_collection_interval": 60,
    "resources": [
     "*"
    ],
    "totalcpu": false
   },
   "disk": {
    "measurement": [
     "used_percent",
     "inodes_free"
    ],
    "metrics_collection_interval": 60,
    "resources": [
     "*"
    ]
   },
   "diskio": {
    "measurement": [
     "io_time",
     "write_bytes",
     "read_bytes",
     "writes",
     "reads"
    ],
    "metrics_collection_interval": 60,
    "resources": [
     "*"
    ]
   },
   "mem": {
    "measurement": [
     "mem_used_percent"
    ],
    "metrics_collection_interval": 60
   },
   "netstat": {
    "measurement": [
     "tcp_established",
     "tcp_time_wait"
    ],
    "metrics_collection_interval": 60
   },
   "statsd": {
    "metrics_aggregation_interval": 60,
    "metrics_collection_interval": 10,
    "service_address": ":8125"
   },
   "swap": {
    "measurement": [
     "swap_used_percent"
    ],
    "metrics_collection_interval": 60
   }
  }
 }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions