This monitor reads container stats from a ECS Task Metadata Endpoint version 2.
This currently does not support CPU share/quota metrics.
Monitor Type: ecs-metadata
Accepts Endpoints: No
Multiple Instances Allowed: Yes
Config option | Required | Type | Description |
---|---|---|---|
enableExtraBlockIOMetrics |
no | bool |
Whether it will send all extra block IO metrics as well. (default: false ) |
enableExtraCPUMetrics |
no | bool |
Whether it will send all extra CPU metrics as well. (default: false ) |
enableExtraMemoryMetrics |
no | bool |
Whether it will send all extra memory metrics as well. (default: false ) |
enableExtraNetworkMetrics |
no | bool |
Whether it will send all extra network metrics as well. (default: false ) |
metadataEndpoint |
no | string |
The URL of the ECS task metadata. Default is http://169.254.170.2/v2/metadata, which is hardcoded by AWS for version 2. (default: http://169.254.170.2/v2/metadata ) |
statsEndpoint |
no | string |
The URL of the ECS container stats. Default is http://169.254.170.2/v2/stats, which is hardcoded by AWS for version 2. (default: http://169.254.170.2/v2/stats ) |
timeoutSeconds |
no | integer |
The maximum amount of time to wait for API requests (default: 5 ) |
labelsToDimensions |
no | map of strings |
A mapping of container label names to dimension names. The corresponding label values will become the dimension value for the mapped name. E.g. io.kubernetes.container.name: container_spec_name would result in a dimension called container_spec_name that has the value of the io.kubernetes.container.name container label. |
excludedImages |
no | list of strings |
A list of filters of images to exclude. Supports literals, globs, and regex. |
The following table lists the metrics available for this monitor. Metrics that are marked as Included are standard metrics and are monitored by default.
Name | Type | Included | Description |
---|---|---|---|
blkio.io_service_bytes_recursive.async |
cumulative | Volume, in bytes, of asynchronous block I/O | |
blkio.io_service_bytes_recursive.read |
cumulative | ✔ | Volume, in bytes, of reads from block devices |
blkio.io_service_bytes_recursive.sync |
cumulative | Volume, in bytes, of synchronous block I/O | |
blkio.io_service_bytes_recursive.total |
cumulative | Total volume, in bytes, of all block I/O | |
blkio.io_service_bytes_recursive.write |
cumulative | ✔ | Volume, in bytes, of writes to block devices |
blkio.io_serviced_recursive.async |
cumulative | Number of asynchronous block I/O requests | |
blkio.io_serviced_recursive.read |
cumulative | Number of reads requests from block devices | |
blkio.io_serviced_recursive.sync |
cumulative | Number of synchronous block I/O requests | |
blkio.io_serviced_recursive.total |
cumulative | Total number of block I/O requests | |
blkio.io_serviced_recursive.write |
cumulative | Number of write requests to block devices | |
cpu.limit |
gauge | CPU usage limit of the container, in ECS vCPU units | |
cpu.percent |
gauge | Percentage of host CPU resources used by the container | |
cpu.percpu.usage |
cumulative | Jiffies of CPU time spent by the container, per CPU core | |
cpu.throttling_data.periods |
cumulative | Number of periods | |
cpu.throttling_data.throttled_periods |
cumulative | Number of periods throttled | |
cpu.throttling_data.throttled_time |
cumulative | Throttling time in nano seconds | |
cpu.usage.kernelmode |
cumulative | Jiffies of CPU time spent in kernel mode by the container | |
cpu.usage.system |
cumulative | ✔ | Jiffies of CPU time used by the system |
cpu.usage.total |
cumulative | ✔ | Jiffies of CPU time used by the container |
cpu.usage.usermode |
cumulative | Jiffies of CPU time spent in user mode by the container | |
memory.percent |
gauge | Percent of memory (0-100) used by the container relative to its limit (excludes page cache usage) | |
memory.stats.swap |
gauge | Bytes of swap memory used by container | |
memory.usage.limit |
gauge | ✔ | Memory usage limit of the container, in bytes |
memory.usage.max |
gauge | Maximum measured memory usage of the container, in bytes | |
memory.usage.total |
gauge | ✔ | Bytes of memory used by the container |
network.usage.rx_bytes |
cumulative | ✔ | Bytes received by the container via its network interface |
network.usage.rx_dropped |
cumulative | Number of inbound network packets dropped by the container | |
network.usage.rx_errors |
cumulative | Errors receiving network packets | |
network.usage.rx_packets |
cumulative | Network packets received by the container via its network interface | |
network.usage.tx_bytes |
cumulative | ✔ | Bytes sent by the container via its network interface |
network.usage.tx_dropped |
cumulative | Number of outbound network packets dropped by the container | |
network.usage.tx_errors |
cumulative | Errors sending network packets | |
network.usage.tx_packets |
cumulative | Network packets sent by the container via its network interface |
To specify custom metrics you want to monitor, add a metricsToInclude
filter
to the agent configuration, as shown in the code snippet below. The snippet
lists all available custom metrics. You can copy and paste the snippet into
your configuration file, then delete any custom metrics that you do not want
sent.
Note that some of the custom metrics require you to set a flag as well as add them to the list. Check the monitor configuration file to see if a flag is required for gathering additional metrics.
metricsToInclude:
- metricNames:
- blkio.io_service_bytes_recursive.async
- blkio.io_service_bytes_recursive.sync
- blkio.io_service_bytes_recursive.total
- blkio.io_serviced_recursive.async
- blkio.io_serviced_recursive.read
- blkio.io_serviced_recursive.sync
- blkio.io_serviced_recursive.total
- blkio.io_serviced_recursive.write
- cpu.limit
- cpu.percent
- cpu.percpu.usage
- cpu.throttling_data.periods
- cpu.throttling_data.throttled_periods
- cpu.throttling_data.throttled_time
- cpu.usage.kernelmode
- cpu.usage.usermode
- memory.percent
- memory.stats.swap
- memory.usage.max
- network.usage.rx_dropped
- network.usage.rx_errors
- network.usage.rx_packets
- network.usage.tx_dropped
- network.usage.tx_errors
- network.usage.tx_packets
monitorType: ecs-metadata