5.0
2021-05-11T12:47:37Z
Templates/Applications
Template Docker New Zabbix Agent
Template Docker New Zabbix Agent
Get Docker engine metrics from plugin for the New Zabbix Agent (zabbix-agent2).
You can discuss this template or leave feedback on our forum
Template tooling version used: 0.35
Templates/Applications
Docker
Zabbix raw items
-
Docker: Cgroup driver
DEPENDENT
docker.cgroup_driver
0
7d
0
CHAR
Docker
JSONPATH
$.CgroupDriver
DISCARD_UNCHANGED_HEARTBEAT
1d
docker.info
-
Docker: Get containers
docker.containers
0
0
TEXT
Zabbix raw items
-
Docker: Containers paused
DEPENDENT
docker.containers.paused
0
7d
Total number of containers paused on this host
Docker
JSONPATH
$.ContainersPaused
docker.info
-
Docker: Containers running
DEPENDENT
docker.containers.running
0
7d
Total number of containers running on this host
Docker
JSONPATH
$.ContainersRunning
docker.info
-
Docker: Containers stopped
DEPENDENT
docker.containers.stopped
0
7d
Total number of containers stopped on this host
Docker
JSONPATH
$.ContainersStopped
docker.info
-
Docker: Containers total
DEPENDENT
docker.containers.total
0
7d
Total number of containers on this host
Docker
JSONPATH
$.Containers
docker.info
-
Docker: Containers size
DEPENDENT
docker.containers_size
0
7d
B
Docker
JSONPATH
$.Containers[*].SizeRw.sum()
docker.data_usage
-
Docker: CPU Set enabled
DEPENDENT
docker.cpu_set.enabled
0
7d
https://docs.docker.com/config/containers/resource_constraints/#configure-the-default-cfs-scheduler
Docker
Docker flag
JSONPATH
$.CPUSet
BOOL_TO_DECIMAL
DISCARD_UNCHANGED_HEARTBEAT
1d
docker.info
-
Docker: Get data_usage
docker.data_usage
0
0
TEXT
Zabbix raw items
-
Docker: Get images
docker.images
0
0
TEXT
Zabbix raw items
-
Docker: Images available
DEPENDENT
docker.images.top_level
0
7d
Number of top-level images
Docker
JSONPATH
$.length()
docker.images
-
Docker: Images total
DEPENDENT
docker.images.total
0
7d
Number of images with intermediate image layers
Docker
JSONPATH
$.Images
docker.info
-
Docker: Images size
DEPENDENT
docker.images_size
0
7d
B
Docker
JSONPATH
$.Images[*].Size.sum()
docker.data_usage
-
Docker: Get info
docker.info
0
0
TEXT
Zabbix raw items
-
Docker: Layers size
DEPENDENT
docker.layers_size
0
7d
B
Docker
JSONPATH
$.LayersSize
docker.data_usage
-
Docker: Live restore enabled
DEPENDENT
docker.live_restore.enabled
0
7d
Docker
Docker flag
JSONPATH
$.LiveRestoreEnabled
BOOL_TO_DECIMAL
DISCARD_UNCHANGED_HEARTBEAT
1d
docker.info
-
Docker: Memory total
DEPENDENT
docker.mem.total
0
7d
B
Docker
JSONPATH
$.MemTotal
docker.info
-
Docker: Memory limit enabled
DEPENDENT
docker.mem_limit.enabled
0
7d
Docker
Docker flag
JSONPATH
$.MemoryLimit
BOOL_TO_DECIMAL
DISCARD_UNCHANGED_HEARTBEAT
1d
docker.info
-
Docker: Name
DEPENDENT
docker.name
0
1h
0
CHAR
Docker
JSONPATH
$.Name
docker.info
{nodata(30m)}=1
Docker: Failed to fetch info data (or no data for 30m)
AVERAGE
Zabbix has not received data for items for the last 30 minutes
YES
Docker: Service is down
{Template Docker New Zabbix Agent:docker.ping.last()}=0
-
Docker: Ping
docker.ping
7h
Docker
Service state
DISCARD_UNCHANGED_HEARTBEAT
10m
{last()}=0
Docker: Service is down
HIGH
YES
-
Docker: Server version
DEPENDENT
docker.server_version
0
7d
0
CHAR
Docker
JSONPATH
$.ServerVersion
DISCARD_UNCHANGED_HEARTBEAT
1d
docker.info
{diff()}=1 and {strlen()}>0
Docker: Version has changed (new version: {ITEM.VALUE})
INFO
Docker version has changed. Ack to close.
YES
-
Docker: Swap limit enabled
DEPENDENT
docker.swap_limit.enabled
0
7d
Docker
Docker flag
JSONPATH
$.SwapLimit
BOOL_TO_DECIMAL
DISCARD_UNCHANGED_HEARTBEAT
1d
docker.info
-
Docker: Volumes size
DEPENDENT
docker.volumes_size
0
7d
B
Docker
JSONPATH
$.Volumes[*].UsageData.Size.sum()
docker.data_usage
Containers discovery
docker.containers.discovery[false]
15m
AND
{#NAME}
{$DOCKER.LLD.FILTER.CONTAINER.MATCHES}
A
{#NAME}
{$DOCKER.LLD.FILTER.CONTAINER.NOT_MATCHES}
NOT_MATCHES_REGEX
B
Discovery for containers metrics
Parameter:
true - Returns all containers
false - Returns only running containers
Container {#NAME}: CPU(pre) system usage per second
DEPENDENT
docker.container_prestats.cpu_usage.system.rate["{#NAME}"]
0
7d
FLOAT
s
Docker
Docker: Container {#NAME}
JSONPATH
$.precpu_stats.system_cpu_usage
CHANGE_PER_SECOND
MULTIPLIER
1.0E-9
docker.container_stats["{#NAME}"]
Container {#NAME}: CPU(pre) total usage per second
DEPENDENT
docker.container_prestats.cpu_usage.total.rate["{#NAME}"]
0
7d
FLOAT
s
Docker
Docker: Container {#NAME}
JSONPATH
$.precpu_stats.cpu_usage.total_usage
CHANGE_PER_SECOND
MULTIPLIER
1.0E-9
docker.container_stats["{#NAME}"]
Container {#NAME}: CPU(pre) usermode usage per second
DEPENDENT
docker.container_prestats.cpu_usage.user.rate["{#NAME}"]
0
7d
FLOAT
s
Docker: Container {#NAME}
JSONPATH
$.precpu_stats.cpu_usage.usage_in_usermode
CHANGE_PER_SECOND
MULTIPLIER
1.0E-9
docker.container_stats["{#NAME}"]
Container {#NAME}: Delta CPU system usage per second
CALCULATED
docker.container_stats.cpu_usage.delta.system.rate["{#NAME}"]
FLOAT
s
last(docker.container_stats.cpu_usage.system.rate["{#NAME}"])-last(docker.container_prestats.cpu_usage.system.rate["{#NAME}"])
Docker
Docker: Container {#NAME}
JAVASCRIPT
if (value < 0) {
value *= -1;
}
return value;
Container {#NAME}: Delta CPU total usage per second
CALCULATED
docker.container_stats.cpu_usage.delta.total.rate["{#NAME}"]
FLOAT
s
last(docker.container_stats.cpu_usage.total.rate["{#NAME}"])-last(docker.container_prestats.cpu_usage.total.rate["{#NAME}"])+1
Docker
Docker: Container {#NAME}
JAVASCRIPT
if (value < 0) {
value *= -1;
}
return value;
Container {#NAME}: CPU kernelmode usage per second
DEPENDENT
docker.container_stats.cpu_usage.kernel.rate["{#NAME}"]
0
7d
FLOAT
s
Docker: Container {#NAME}
JSONPATH
$.cpu_stats.cpu_usage.usage_in_kernelmode
CHANGE_PER_SECOND
MULTIPLIER
1.0E-9
docker.container_stats["{#NAME}"]
Container {#NAME}: CPU usage %
CALCULATED
docker.container_stats.cpu_usage.percentage["{#NAME}"]
FLOAT
%
(last(docker.container_stats.cpu_usage.delta.system.rate["{#NAME}"])/last(docker.container_stats.cpu_usage.delta.total.rate["{#NAME}"]))*last(docker.container_stats.online_cpus["{#NAME}"])*100
Docker
Docker: Container {#NAME}
{last()}>{$CONTAINER_CPU_USAGE_AVERAGE}
Container {#NAME}: CPU usage > {$CONTAINER_CPU_USAGE_AVERAGE}
AVERAGE
Container {#NAME}: CPU usage > {$CONTAINER_CPU_USAGE_HIGH}
{Template Docker New Zabbix Agent:docker.container_stats.cpu_usage.percentage["{#NAME}"].last()}>{$CONTAINER_CPU_USAGE_HIGH}
{last()}>{$CONTAINER_CPU_USAGE_DISASTER}
Container {#NAME}: CPU usage > {$CONTAINER_CPU_USAGE_DISASTER}
DISASTER
YES
{last()}>{$CONTAINER_CPU_USAGE_HIGH}
Container {#NAME}: CPU usage > {$CONTAINER_CPU_USAGE_HIGH}
HIGH
YES
Container {#NAME}: CPU usage > {$CONTAINER_CPU_USAGE_DISASTER}
{Template Docker New Zabbix Agent:docker.container_stats.cpu_usage.percentage["{#NAME}"].last()}>{$CONTAINER_CPU_USAGE_DISASTER}
Container {#NAME}: CPU system usage per second
DEPENDENT
docker.container_stats.cpu_usage.system.rate["{#NAME}"]
0
7d
FLOAT
s
Docker: Container {#NAME}
JSONPATH
$.cpu_stats.system_cpu_usage
CHANGE_PER_SECOND
MULTIPLIER
1.0E-9
docker.container_stats["{#NAME}"]
Container {#NAME}: CPU total usage per second
DEPENDENT
docker.container_stats.cpu_usage.total.rate["{#NAME}"]
0
7d
FLOAT
s
Docker
Docker: Container {#NAME}
JSONPATH
$.cpu_stats.cpu_usage.total_usage
CHANGE_PER_SECOND
MULTIPLIER
1.0E-9
docker.container_stats["{#NAME}"]
Container {#NAME}: CPU usermode usage per second
DEPENDENT
docker.container_stats.cpu_usage.user.rate["{#NAME}"]
0
7d
FLOAT
s
Docker: Container {#NAME}
JSONPATH
$.cpu_stats.cpu_usage.usage_in_usermode
CHANGE_PER_SECOND
MULTIPLIER
1.0E-9
docker.container_stats["{#NAME}"]
Container {#NAME}: Memory maximum usage
DEPENDENT
docker.container_stats.memory.max_usage["{#NAME}"]
0
7d
B
Docker: Container {#NAME}
JSONPATH
$.memory_stats.max_usage
docker.container_stats["{#NAME}"]
Container {#NAME}: Memory usage
DEPENDENT
docker.container_stats.memory.usage["{#NAME}"]
0
7d
B
Docker: Container {#NAME}
JSONPATH
$.memory_stats.usage
docker.container_stats["{#NAME}"]
Container {#NAME}: Online CPUs
DEPENDENT
docker.container_stats.online_cpus["{#NAME}"]
0
7d
Docker: Container {#NAME}
JSONPATH
$.cpu_stats.online_cpus
docker.container_stats["{#NAME}"]
Container {#NAME}: Get stats
docker.container_stats["{#NAME}"]
0
0
CHAR
Get container stats based on resource usage
Docker: Container {#NAME}
Container {#NAME}: Networks bytes received per second
DEPENDENT
docker.networks.rx_bytes["{#NAME}"]
0
7d
FLOAT
B
Docker: Container {#NAME}
JSONPATH
$.networks[*].rx_bytes.sum()
CUSTOM_VALUE
0
CHANGE_PER_SECOND
docker.container_stats["{#NAME}"]
Container {#NAME}: Networks incoming packets dropped per second
DEPENDENT
docker.networks.rx_dropped["{#NAME}"]
0
7d
FLOAT
Docker: Container {#NAME}
JSONPATH
$.networks[*].rx_dropped.sum()
CUSTOM_VALUE
0
CHANGE_PER_SECOND
docker.container_stats["{#NAME}"]
Container {#NAME}: Networks errors received per second
DEPENDENT
docker.networks.rx_errors["{#NAME}"]
0
7d
FLOAT
Docker: Container {#NAME}
JSONPATH
$.networks[*].rx_errors.sum()
CUSTOM_VALUE
0
CHANGE_PER_SECOND
docker.container_stats["{#NAME}"]
Container {#NAME}: Networks packets received per second
DEPENDENT
docker.networks.rx_packets["{#NAME}"]
0
7d
FLOAT
Docker: Container {#NAME}
JSONPATH
$.networks[*].rx_packets.sum()
CUSTOM_VALUE
0
CHANGE_PER_SECOND
docker.container_stats["{#NAME}"]
Container {#NAME}: Networks bytes sent per second
DEPENDENT
docker.networks.tx_bytes["{#NAME}"]
0
7d
FLOAT
B
Docker: Container {#NAME}
JSONPATH
$.networks[*].tx_bytes.sum()
CUSTOM_VALUE
0
CHANGE_PER_SECOND
docker.container_stats["{#NAME}"]
Container {#NAME}: Networks outgoing packets dropped per second
DEPENDENT
docker.networks.tx_dropped["{#NAME}"]
0
7d
FLOAT
Docker: Container {#NAME}
JSONPATH
$.networks[*].tx_dropped.sum()
CUSTOM_VALUE
0
CHANGE_PER_SECOND
docker.container_stats["{#NAME}"]
Container {#NAME}: Networks errors sent per second
DEPENDENT
docker.networks.tx_errors["{#NAME}"]
0
7d
FLOAT
Docker: Container {#NAME}
JSONPATH
$.networks[*].tx_errors.sum()
CUSTOM_VALUE
0
CHANGE_PER_SECOND
docker.container_stats["{#NAME}"]
Container {#NAME}: Networks packets sent per second
DEPENDENT
docker.networks.tx_packets["{#NAME}"]
0
7d
FLOAT
Docker: Container {#NAME}
JSONPATH
$.networks[*].tx_packets.sum()
CUSTOM_VALUE
0
CHANGE_PER_SECOND
docker.container_stats["{#NAME}"]
Container {#NAME}: CPU usage
STACKED
GRADIENT_LINE
1A7C11
-
Template Docker New Zabbix Agent
docker.container_stats.cpu_usage.kernel.rate["{#NAME}"]
1
GRADIENT_LINE
2774A4
-
Template Docker New Zabbix Agent
docker.container_stats.cpu_usage.user.rate["{#NAME}"]
2
GRADIENT_LINE
F63100
-
Template Docker New Zabbix Agent
docker.container_prestats.cpu_usage.total.rate["{#NAME}"]
Container {#NAME}: Memory usage
GRADIENT_LINE
1A7C11
-
Template Docker New Zabbix Agent
docker.container_stats.memory.usage["{#NAME}"]
1
GRADIENT_LINE
2774A4
-
Template Docker New Zabbix Agent
docker.container_stats.memory.max_usage["{#NAME}"]
Container {#NAME}: Network packets
BOLD_LINE
1A7C11
-
Template Docker New Zabbix Agent
docker.networks.rx_packets["{#NAME}"]
1
BOLD_LINE
2774A4
-
Template Docker New Zabbix Agent
docker.networks.tx_packets["{#NAME}"]
2
BOLD_LINE
F63100
-
Template Docker New Zabbix Agent
docker.networks.rx_errors["{#NAME}"]
3
BOLD_LINE
A54F10
-
Template Docker New Zabbix Agent
docker.networks.tx_errors["{#NAME}"]
4
BOLD_LINE
FC6EA3
-
Template Docker New Zabbix Agent
docker.networks.rx_dropped["{#NAME}"]
5
BOLD_LINE
6C59DC
-
Template Docker New Zabbix Agent
docker.networks.tx_dropped["{#NAME}"]
Container {#NAME}: Network traffic
BOLD_LINE
1A7C11
-
Template Docker New Zabbix Agent
docker.networks.rx_bytes["{#NAME}"]
1
BOLD_LINE
2774A4
-
Template Docker New Zabbix Agent
docker.networks.tx_bytes["{#NAME}"]
Images discovery
docker.images.discovery
15m
AND
{#NAME}
{$DOCKER.LLD.FILTER.IMAGE.NOT_MATCHES}
NOT_MATCHES_REGEX
A
{#NAME}
{$DOCKER.LLD.FILTER.IMAGE.MATCHES}
B
Discovery for images metrics
Image {#NAME}: Created
DEPENDENT
docker.image.created["{#ID}"]
0
7d
unixtime
Docker: Image {#NAME}
JSONPATH
$[?(@.Id == "{#ID}")].Created.first()
DISCARD_UNCHANGED_HEARTBEAT
1d
docker.images
Image {#NAME}: Size
DEPENDENT
docker.image.size["{#ID}"]
0
7d
B
Docker: Image {#NAME}
JSONPATH
$[?(@.Id == "{#ID}")].Size.first()
docker.images
{$CONTAINER_CPU_USAGE_AVERAGE}
85
{$CONTAINER_CPU_USAGE_DISASTER}
95
{$CONTAINER_CPU_USAGE_HIGH}
90
{$DOCKER.LLD.FILTER.CONTAINER.MATCHES}
.*
Filter of discoverable containers
{$DOCKER.LLD.FILTER.CONTAINER.NOT_MATCHES}
CHANGE_IF_NEEDED
Filter to exclude discovered containers
{$DOCKER.LLD.FILTER.IMAGE.MATCHES}
.*
Filter of discoverable images
{$DOCKER.LLD.FILTER.IMAGE.NOT_MATCHES}
CHANGE_IF_NEEDED
Filter to exclude discovered images
Docker flag
0
False
1
True
Service state
0
Down
1
Up