Skip to content

Latest commit

 

History

History
74 lines (55 loc) · 5.25 KB

File metadata and controls

74 lines (55 loc) · 5.25 KB

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 services discovery

-

HTTP agent docker.swarm.services.lld

Update: 5m

Docker swarm nodes discovery

-

HTTP agent docker.swarm.nodes.lld

Update: 1h

Docker swarm containers discovery

-

HTTP agent docker.containers.lld

Update: 10m

Items collected

Name Description Type Key and additional info
Docker swarm updated at

-

Dependent item docker.swarm.updated_at

Update: 0

Docker swarm leader node

-

Dependent item docker.swarm.nodes.leader

Update: 0

Docker swarm services raw

-

HTTP agent docker.swarm.services.raw

Update: 5m

Docker swarm nodes raw

-

HTTP agent docker.swarm.nodes.raw

Update: 1m

Docker swarm managers nodes

-

Dependent item docker.swarm.nodes.manager

Update: 0

Docker swarm raw info

-

HTTP agent docker.swarm.info.raw

Update: 1m

Docker swarm nodes

-

Dependent item docker.swarm.nodes.total

Update: 0

Docker swarm tasks raw info

-

HTTP agent docker.swarm.tasks.raw.info

Update: 1m

Docker swarm ready nodes

-

Dependent item docker.swarm.nodes.ready

Update: 0

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

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

{#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

Triggers

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

-

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

Recovery expression:

warning
Docker swarm no running tasks for {#SERVICE}

-

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

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

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

-

Expression: {App Docker swarm:docker.swarm.tasks.running[{#SERVICE}].diff()}=1

Recovery expression:

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

-

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

Recovery expression:

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

-

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

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

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

-

Expression: {App Docker swarm:docker.swarm.tasks.running[{#SERVICE}].diff()}=1

Recovery expression:

average