Skip to content

Files

Latest commit

867e112 · Feb 24, 2022

History

History
This branch is 219 commits behind zabbix/community-templates:main.

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Feb 24, 2022
Nov 25, 2021

App Docker swarm

Overview

Monitoring with Docker API, no external scripts need. Use {HOST.DNS} for connect to Docker API.

I'm use SSL client certificate to connect to Docker API (here https://dker.ru/docs/component-projects/docker-swarm/configure-docker-swarm-for-tls/ you can found HOWTO). You must specify filename of the client's certificate in {$CERT_FNAME} macro and filename of the client's key in {$KEY_FNAME}. Certificate and key must be in location for SSL client certificate (see SSLCertLocation in zabbix_server.conf)

Macros used

Name Description Default Type
{$CERT_FNAME}

-

dclient-cert.pem Text macro
{$KEY_FNAME}

-

dclient-key.pem Text macro

Template links

There are no template links in this template.

Discovery rules

Name Description Type Key and additional info
Docker swarm containers discovery

-

HTTP agent docker.containers.lld

Update: 10m

Docker swarm nodes discovery

-

HTTP agent docker.swarm.nodes.lld

Update: 1h

Docker swarm services discovery

-

HTTP agent docker.swarm.services.lld

Update: 5m

Items collected

Name Description Type Key and additional info
Docker swarm nodes

-

Dependent item docker.swarm.nodes.total

Update: 0

Docker swarm ready nodes

-

Dependent item docker.swarm.nodes.ready

Update: 0

Docker swarm tasks raw info

-

HTTP agent docker.swarm.tasks.raw.info

Update: 1m

Docker swarm leader node

-

Dependent item docker.swarm.nodes.leader

Update: 0

Docker swarm updated at

-

Dependent item docker.swarm.updated_at

Update: 0

Docker swarm nodes raw

-

HTTP agent docker.swarm.nodes.raw

Update: 1m

Docker swarm services raw

-

HTTP agent docker.swarm.services.raw

Update: 5m

Docker swarm managers nodes

-

Dependent item docker.swarm.nodes.manager

Update: 0

Docker swarm raw info

-

HTTP agent docker.swarm.info.raw

Update: 1m

{#NAME} CPU load %

-

Calculated docker.container.cpu_load[{#ID}]

Update: 1m

LLD

Raw data container stats {#NAME}

-

HTTP agent docker.container.stats[{#ID}]

Update: 1m

LLD

Raw data container info {#NAME}

-

HTTP agent docker.container[{#ID}]

Update: 5m

LLD

{#NAME} CPU usage

-

Dependent item docker.container.cpu[{#ID}]

Update: 0

LLD

{#NAME} CPU number

-

Dependent item docker.container.cpu_num[{#ID}]

Update: 0

LLD

{#NAME} Mem usage

-

Dependent item docker.container.mem[{#ID}]

Update: 0

LLD

{#NAME} CPU system usage

-

Dependent item docker.container.system_cpu[{#ID}]

Update: 0

LLD

Raw data node {#NAME} at {#ADDR}

-

HTTP agent docker.nodes[{#ID}]

Update: 5m

LLD

Node {#NAME} availability

-

Dependent item docker.node.availability[{#ID}]

Update: 0

LLD

Node {#NAME} engine version

-

Dependent item docker.node.engine_version[{#ID}]

Update: 0

LLD

Node {#NAME} manager status

-

Dependent item docker.node.manager_status[{#ID}]

Update: 0

LLD

Node {#NAME} resources CPUs

-

Dependent item docker.node.resources.cpu[{#ID}]

Update: 0

LLD

Node {#NAME} resources memory

-

Dependent item docker.node.resources.mem[{#ID}]

Update: 0

LLD

Node {#NAME} role

-

Dependent item docker.node.role[{#ID}]

Update: 0

LLD

Node {#NAME} status

-

Dependent item docker.node.status[{#ID}]

Update: 0

LLD

Docker swarm uptime {#SERVICE}

-

Dependent item docker.swarm.service.uptime[{#SERVICE}]

Update: 0

LLD

Docker swarm number running tasks for {#SERVICE}

-

Dependent item docker.swarm.tasks.running[{#SERVICE}]

Update: 0

LLD

Triggers

Name Description Expression Priority
Docker swarm updated service {#SERVICE}

-

Expression: last(/App Docker swarm/docker.swarm.service.uptime[{#SERVICE}])<600

Recovery expression:

warning
Docker swarm no running tasks for {#SERVICE}

-

Expression: last(/App Docker swarm/docker.swarm.tasks.running[{#SERVICE}])=0

Recovery expression: avg(/App Docker swarm/docker.swarm.tasks.running[{#SERVICE}],30m)<1

average
Docker swarm no running tasks for {#SERVICE} changed

-

Expression: (last(/App Docker swarm/docker.swarm.tasks.running[{#SERVICE}],#1)<>last(/App Docker swarm/docker.swarm.tasks.running[{#SERVICE}],#2))=1

Recovery expression:

average
Docker swarm updated service {#SERVICE} (LLD)

-

Expression: last(/App Docker swarm/docker.swarm.service.uptime[{#SERVICE}])<600

Recovery expression:

warning
Docker swarm no running tasks for {#SERVICE} (LLD)

-

Expression: last(/App Docker swarm/docker.swarm.tasks.running[{#SERVICE}])=0

Recovery expression: avg(/App Docker swarm/docker.swarm.tasks.running[{#SERVICE}],30m)<1

average
Docker swarm no running tasks for {#SERVICE} changed (LLD)

-

Expression: (last(/App Docker swarm/docker.swarm.tasks.running[{#SERVICE}],#1)<>last(/App Docker swarm/docker.swarm.tasks.running[{#SERVICE}],#2))=1

Recovery expression:

average