# add/remove metrics as needed
files:
"/opt/aws/amazon-cloudwatch-agent/bin/config.json":
mode: "00600"
owner: root
group: root
content: |
{
"metrics": {
"aggregation_dimensions": [
["InstanceId"],
["AutoScalingGroupName"],
["ImageId"],
["InstanceType"],
["PrivateIpAddress"]
],
"append_dimensions": {
"AutoScalingGroupName": "${aws:AutoScalingGroupName}",
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}",
},
"metrics_collected": {
"cpu": {
"measurement": [
"cpu_time_active",
"cpu_time_guest",
"cpu_time_guest_nice",
"cpu_time_idle",
"cpu_time_iowait",
"cpu_time_irq",
"cpu_time_nice",
"cpu_time_softirq",
"cpu_time_steal",
"cpu_time_system",
"cpu_time_user",
"cpu_usage_active",
"cpu_usage_guest",
"cpu_usage_guest_nice",
"cpu_usage_idle",
"cpu_usage_iowait",
"cpu_usage_irq",
"cpu_usage_nice",
"cpu_usage_softirq",
"cpu_usage_steal",
"cpu_usage_system",
"cpu_usage_user"
],
"metrics_collection_interval": 60,
"statistic": [
"Average",
"Minimum",
"Maximum",
"Sum",
"SampleCount"
]
},
"disk": {
"measurement": [
"disk_free",
"disk_inodes_free",
"disk_inodes_total",
"disk_inodes_used",
"disk_total",
"disk_used",
"disk_used_percent"
],
"metrics_collection_interval": 60,
"resources": [
"*"
],
"statistic": [
"Average",
"Minimum",
"Maximum",
"Sum",
"SampleCount"
]
},
"diskio": {
"measurement": [
"diskio_io_time",
"diskio_iops_in_progress",
"diskio_read_bytes",
"diskio_read_time",
"diskio_reads",
"diskio_write_bytes",
"diskio_write_time",
"diskio_writes"
],
"metrics_collection_interval": 60,
"resources": [
"*"
],
"statistic": [
"Average",
"Minimum",
"Maximum",
"Sum",
"SampleCount"
]
},
"mem": {
"measurement": [
"mem_active",
"mem_available",
"mem_available_percent",
"mem_buffered",
"mem_cached",
"mem_free",
"mem_inactive",
"mem_used",
"mem_used_percent"
],
"metrics_collection_interval": 60,
"statistic": [
"Average",
"Minimum",
"Maximum",
"Sum",
"SampleCount"
]
},
"net": {
"measurement": [
"bytes_in",
"bytes_out",
"drop_in",
"drop_out",
"err_in",
"err_out",
"packets_in",
"packets_out"
],
"metrics_collection_interval": 60,
"resources": [
"eth0"
],
"statistic": [
"Average",
"Minimum",
"Maximum",
"Sum",
"SampleCount"
]
},
"netstat": {
"measurement": [
"netstat_tcp_close",
"netstat_tcp_close_wait",
"netstat_tcp_closing",
"netstat_tcp_established",
"netstat_tcp_fin_wait1",
"netstat_tcp_fin_wait2",
"netstat_tcp_last_ack",
"netstat_tcp_listen",
"netstat_tcp_none",
"netstat_tcp_syn_recv",
"netstat_tcp_syn_sent",
"netstat_tcp_time_wait",
"netstat_udp_socket"
],
"metrics_collection_interval": 60,
"statistic": [
"Average",
"Minimum",
"Maximum",
"Sum",
"SampleCount"
]
},
"processes": {
"measurement": [
"processes_blocked",
"processes_dead",
"processes_idle",
"processes_paging",
"processes_running",
"processes_sleeping",
"processes_stopped",
"processes_total",
"processes_total_threads",
"processes_wait",
"processes_zombies"
],
"metrics_collection_interval": 60,
"statistic": [
"Average",
"Minimum",
"Maximum",
"Sum",
"SampleCount"
]
},
"swap": {
"measurement": [
"swap_free",
"swap_used",
"swap_used_percent"
],
"metrics_collection_interval": 60,
"statistic": [
"Average",
"Minimum",
"Maximum",
"Sum",
"SampleCount"
]
},
"ethtool": {
"interface_include": [
"eth0"
],
"metrics_include": [
"bw_in_allowance_exceeded",
"bw_out_allowance_exceeded",
"conntrack_allowance_exceeded",
"linklocal_allowance_exceeded",
"pps_allowance_exceeded",
"rx_packets",
"tx_packets"
],
"metrics_collection_interval": 60,
"statistic": [
"Average",
"Minimum",
"Maximum",
"Sum",
"SampleCount"
]
},
"collect_list": [
{
"name": "syslog",
"parameters": {
"file_path": "/var/log/messages",
"log_group_name": "${my_log_group}",
"log_stream_name": "${instance_id}-syslog",
"timezone": "UTC"
}
},
{
"name": "applog",
"parameters": {
"file_path": "/path/to/my/app.log",
"log_group_name": "${my_log_group}",
"log_stream_name": "${instance_id}-applog",
"timezone": "Local"
}
}
]
}
}
}
container_commands:
start_cloud_watch_agent:
command: /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s