fix: lint

This commit is contained in:
Danil Kovtonyuk 2022-01-19 22:11:00 +10:00
parent b103033103
commit 31d697701e
No known key found for this signature in database
GPG key ID: E72A919BF08C3746
4 changed files with 279 additions and 379 deletions

View file

@ -2,130 +2,105 @@ zabbix_export:
version: '5.2'
date: '2021-11-29T12:29:17Z'
groups:
-
name: Docker
- name: Docker
templates:
-
template: Docker
- template: Docker
name: Docker
description: |
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.38
groups:
-
name: Docker
- name: Docker
applications:
-
name: Docker
-
name: 'Zabbix raw items'
- name: Docker
- name: 'Zabbix raw items'
items:
-
name: 'Docker: Get containers'
- name: 'Docker: Get containers'
key: docker.containers
history: '0'
trends: '0'
value_type: TEXT
applications:
-
name: 'Zabbix raw items'
-
name: 'Docker: Containers paused'
- name: 'Zabbix raw items'
- name: 'Docker: Containers paused'
type: DEPENDENT
key: docker.containers.paused
delay: '0'
history: 7d
description: 'Total number of containers paused on this host'
applications:
-
name: Docker
- name: Docker
preprocessing:
-
type: JSONPATH
- type: JSONPATH
parameters:
- $.ContainersPaused
master_item:
key: docker.info
-
name: 'Docker: Containers running'
- name: 'Docker: Containers running'
type: DEPENDENT
key: docker.containers.running
delay: '0'
history: 7d
description: 'Total number of containers running on this host'
applications:
-
name: Docker
- name: Docker
preprocessing:
-
type: JSONPATH
- type: JSONPATH
parameters:
- $.ContainersRunning
master_item:
key: docker.info
-
name: 'Docker: Containers stopped'
- name: 'Docker: Containers stopped'
type: DEPENDENT
key: docker.containers.stopped
delay: '0'
history: 7d
description: 'Total number of containers stopped on this host'
applications:
-
name: Docker
- name: Docker
preprocessing:
-
type: JSONPATH
- type: JSONPATH
parameters:
- $.ContainersStopped
master_item:
key: docker.info
triggers:
-
expression: '{avg(5m)}>=1'
- expression: '{avg(5m)}>=1'
name: 'Docker: containers is stopped'
priority: HIGH
-
name: 'Docker: Containers total'
- name: 'Docker: Containers total'
type: DEPENDENT
key: docker.containers.total
delay: '0'
history: 7d
description: 'Total number of containers on this host'
applications:
-
name: Docker
- name: Docker
preprocessing:
-
type: JSONPATH
- type: JSONPATH
parameters:
- $.Containers
master_item:
key: docker.info
-
name: 'Docker: Get images'
- name: 'Docker: Get images'
key: docker.images
history: '0'
trends: '0'
status: DISABLED
value_type: TEXT
applications:
-
name: 'Zabbix raw items'
-
name: 'Docker: Get info'
- name: 'Zabbix raw items'
- name: 'Docker: Get info'
key: docker.info
history: '0'
trends: '0'
value_type: TEXT
applications:
-
name: 'Zabbix raw items'
-
name: 'Docker: Memory total'
- name: 'Zabbix raw items'
- name: 'Docker: Memory total'
type: DEPENDENT
key: docker.mem.total
delay: '0'
@ -133,61 +108,51 @@ zabbix_export:
status: DISABLED
units: B
applications:
-
name: Docker
- name: Docker
preprocessing:
-
type: JSONPATH
- type: JSONPATH
parameters:
- $.MemTotal
master_item:
key: docker.info
-
name: 'Docker: Ping'
- name: 'Docker: Ping'
key: docker.ping
history: 7h
applications:
-
name: Docker
- name: Docker
valuemap:
name: 'Service state'
preprocessing:
-
type: DISCARD_UNCHANGED_HEARTBEAT
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 10m
triggers:
-
expression: '{last()}=0'
- expression: '{last()}=0'
name: 'Docker: Service is down'
priority: AVERAGE
manual_close: 'YES'
discovery_rules:
-
name: 'Containers discovery'
- name: 'Containers discovery'
key: 'docker.containers.discovery[true]'
delay: 15m
filter:
evaltype: AND
conditions:
-
macro: '{#NAME}'
- macro: '{#NAME}'
value: '{$DOCKER.LLD.FILTER.CONTAINER.MATCHES}'
formulaid: A
-
macro: '{#NAME}'
- macro: '{#NAME}'
value: '{$DOCKER.LLD.FILTER.CONTAINER.NOT_MATCHES}'
operator: NOT_MATCHES_REGEX
formulaid: B
description: |
Discovery for containers metrics
Parameter:
true - Returns all containers
false - Returns only running containers
item_prototypes:
-
name: 'Container {#NAME}: Finished at'
- name: 'Container {#NAME}: Finished at'
type: DEPENDENT
key: 'docker.container_info.finished["{#NAME}"]'
delay: '0'
@ -195,43 +160,35 @@ zabbix_export:
value_type: FLOAT
units: unixtime
application_prototypes:
-
name: 'Docker: Container {#NAME}'
- name: 'Docker: Container {#NAME}'
preprocessing:
-
type: JSONPATH
- type: JSONPATH
parameters:
- $.State.FinishedAt
-
type: DISCARD_UNCHANGED_HEARTBEAT
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1d
master_item:
key: 'docker.container_info["{#NAME}"]'
-
name: 'Container {#NAME}: Restart count'
- name: 'Container {#NAME}: Restart count'
type: DEPENDENT
key: 'docker.container_info.restart_count["{#NAME}"]'
delay: '0'
history: 7d
application_prototypes:
-
name: 'Docker: Container {#NAME}'
- name: 'Docker: Container {#NAME}'
preprocessing:
-
type: JSONPATH
- type: JSONPATH
parameters:
- $.RestartCount
master_item:
key: 'docker.container_info["{#NAME}"]'
trigger_prototypes:
-
expression: '{last()}>5'
- expression: '{last()}>5'
name: 'Container {#NAME}: restarting constantly'
opdata: '{ITEM.VALUE}'
priority: HIGH
-
name: 'Container {#NAME}: Started at'
- name: 'Container {#NAME}: Started at'
type: DEPENDENT
key: 'docker.container_info.started["{#NAME}"]'
delay: '0'
@ -239,21 +196,17 @@ zabbix_export:
value_type: FLOAT
units: unixtime
application_prototypes:
-
name: 'Docker: Container {#NAME}'
- name: 'Docker: Container {#NAME}'
preprocessing:
-
type: JSONPATH
- type: JSONPATH
parameters:
- $.State.StartedAt
-
type: DISCARD_UNCHANGED_HEARTBEAT
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1d
master_item:
key: 'docker.container_info["{#NAME}"]'
-
name: 'Container {#NAME}: Error'
- name: 'Container {#NAME}: Error'
type: DEPENDENT
key: 'docker.container_info.state.error["{#NAME}"]'
delay: '0'
@ -261,114 +214,93 @@ zabbix_export:
trends: '0'
value_type: CHAR
application_prototypes:
-
name: 'Docker: Container {#NAME}'
- name: 'Docker: Container {#NAME}'
preprocessing:
-
type: JSONPATH
- type: JSONPATH
parameters:
- $.State.Error
-
type: DISCARD_UNCHANGED_HEARTBEAT
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1d
master_item:
key: 'docker.container_info["{#NAME}"]'
trigger_prototypes:
-
expression: '{diff()}=1 and {strlen()}>0'
- expression: '{diff()}=1 and {strlen()}>0'
name: 'Container {#NAME}: An error has occurred in the container'
priority: WARNING
description: 'Container {#NAME} has an error. Ack to close.'
manual_close: 'YES'
-
name: 'Container {#NAME}: Exit code'
- name: 'Container {#NAME}: Exit code'
type: DEPENDENT
key: 'docker.container_info.state.exitcode["{#NAME}"]'
delay: '0'
history: 7d
application_prototypes:
-
name: 'Docker: Container {#NAME}'
- name: 'Docker: Container {#NAME}'
preprocessing:
-
type: JSONPATH
- type: JSONPATH
parameters:
- $.State.ExitCode
-
type: DISCARD_UNCHANGED_HEARTBEAT
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1d
master_item:
key: 'docker.container_info["{#NAME}"]'
-
name: 'Container {#NAME}: Paused'
- name: 'Container {#NAME}: Paused'
type: DEPENDENT
key: 'docker.container_info.state.paused["{#NAME}"]'
delay: '0'
history: 7d
application_prototypes:
-
name: 'Docker: Container {#NAME}'
- name: 'Docker: Container {#NAME}'
valuemap:
name: 'Docker flag'
preprocessing:
-
type: JSONPATH
- type: JSONPATH
parameters:
- $.State.Paused
-
type: BOOL_TO_DECIMAL
- type: BOOL_TO_DECIMAL
parameters:
- ''
master_item:
key: 'docker.container_info["{#NAME}"]'
-
name: 'Container {#NAME}: Restarting'
- name: 'Container {#NAME}: Restarting'
type: DEPENDENT
key: 'docker.container_info.state.restarting["{#NAME}"]'
delay: '0'
history: 7d
application_prototypes:
-
name: 'Docker: Container {#NAME}'
- name: 'Docker: Container {#NAME}'
valuemap:
name: 'Docker flag'
preprocessing:
-
type: JSONPATH
- type: JSONPATH
parameters:
- $.State.Restarting
-
type: BOOL_TO_DECIMAL
- type: BOOL_TO_DECIMAL
parameters:
- ''
master_item:
key: 'docker.container_info["{#NAME}"]'
-
name: 'Container {#NAME}: Running'
- name: 'Container {#NAME}: Running'
type: DEPENDENT
key: 'docker.container_info.state.running["{#NAME}"]'
delay: '0'
history: 7d
application_prototypes:
-
name: 'Docker: Container {#NAME}'
- name: 'Docker: Container {#NAME}'
valuemap:
name: 'Docker flag'
preprocessing:
-
type: JSONPATH
- type: JSONPATH
parameters:
- $.State.Running
-
type: BOOL_TO_DECIMAL
- type: BOOL_TO_DECIMAL
parameters:
- ''
master_item:
key: 'docker.container_info["{#NAME}"]'
-
name: 'Container {#NAME}: Status'
- name: 'Container {#NAME}: Status'
type: DEPENDENT
key: 'docker.container_info.state.status["{#NAME}"]'
delay: '0'
@ -376,109 +308,86 @@ zabbix_export:
trends: '0'
value_type: CHAR
application_prototypes:
-
name: 'Docker: Container {#NAME}'
- name: 'Docker: Container {#NAME}'
preprocessing:
-
type: JSONPATH
- type: JSONPATH
parameters:
- $.State.Status
-
type: DISCARD_UNCHANGED_HEARTBEAT
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1h
master_item:
key: 'docker.container_info["{#NAME}"]'
-
name: 'Container {#NAME}: Get info'
- name: 'Container {#NAME}: Get info'
key: 'docker.container_info["{#NAME}"]'
history: '0'
trends: '0'
value_type: CHAR
description: 'Return low-level information about a container'
application_prototypes:
-
name: 'Docker: Container {#NAME}'
- name: 'Docker: Container {#NAME}'
trigger_prototypes:
-
expression: '{Docker:docker.container_info.state.exitcode["{#NAME}"].last()}>0 and {Docker:docker.container_info.state.running["{#NAME}"].last()}=0'
- expression: '{Docker:docker.container_info.state.exitcode["{#NAME}"].last()}>0 and {Docker:docker.container_info.state.running["{#NAME}"].last()}=0'
name: 'Container {#NAME}: Container has been stopped with error code'
opdata: 'Exit code: {ITEM.LASTVALUE1}'
priority: AVERAGE
manual_close: 'YES'
macros:
-
macro: '{$DOCKER.LLD.FILTER.CONTAINER.MATCHES}'
- macro: '{$DOCKER.LLD.FILTER.CONTAINER.MATCHES}'
value: '.*'
description: 'Filter of discoverable containers'
-
macro: '{$DOCKER.LLD.FILTER.CONTAINER.NOT_MATCHES}'
- macro: '{$DOCKER.LLD.FILTER.CONTAINER.NOT_MATCHES}'
value: CHANGE_IF_NEEDED
description: 'Filter to exclude discovered containers'
-
macro: '{$DOCKER.LLD.FILTER.IMAGE.MATCHES}'
- macro: '{$DOCKER.LLD.FILTER.IMAGE.MATCHES}'
value: '.*'
description: 'Filter of discoverable images'
-
macro: '{$DOCKER.LLD.FILTER.IMAGE.NOT_MATCHES}'
- macro: '{$DOCKER.LLD.FILTER.IMAGE.NOT_MATCHES}'
value: CHANGE_IF_NEEDED
description: 'Filter to exclude discovered images'
graphs:
-
name: 'Docker: Containers'
- name: 'Docker: Containers'
graph_items:
-
drawtype: GRADIENT_LINE
- drawtype: GRADIENT_LINE
color: 1A7C11
item:
host: Docker
key: docker.containers.running
-
sortorder: '1'
- sortorder: '1'
drawtype: BOLD_LINE
color: 2774A4
item:
host: Docker
key: docker.containers.paused
-
sortorder: '2'
- sortorder: '2'
drawtype: BOLD_LINE
color: F63100
item:
host: Docker
key: docker.containers.stopped
-
sortorder: '3'
- sortorder: '3'
drawtype: BOLD_LINE
color: A54F10
item:
host: Docker
key: docker.containers.total
-
name: 'Docker: Memory total'
- name: 'Docker: Memory total'
graph_items:
-
drawtype: BOLD_LINE
- drawtype: BOLD_LINE
color: 1A7C11
item:
host: Docker
key: docker.mem.total
value_maps:
-
name: 'Docker flag'
- name: 'Docker flag'
mappings:
-
value: '0'
- value: '0'
newvalue: 'False'
-
value: '1'
- value: '1'
newvalue: 'True'
-
name: 'Service state'
- name: 'Service state'
mappings:
-
value: '0'
- value: '0'
newvalue: Down
-
value: '1'
- value: '1'
newvalue: Up

View file

@ -2,84 +2,69 @@ zabbix_export:
version: '5.2'
date: '2021-12-01T13:26:59Z'
groups:
-
name: Templates/Applications
- name: Templates/Applications
templates:
-
template: Tornado-relayer
- template: Tornado-relayer
name: Tornado-relayer
groups:
-
name: Templates/Applications
- name: Templates/Applications
items:
-
name: 'tornado-relayer: health.error'
- name: 'tornado-relayer: health.error'
type: DEPENDENT
key: tornado-relayer.health.error
delay: '0'
trends: '0'
value_type: TEXT
preprocessing:
-
type: JSONPATH
- type: JSONPATH
parameters:
- $.health.error
master_item:
key: 'web.page.get[{$URL}]'
triggers:
-
expression: '{last()}<>""'
- expression: '{last()}<>""'
name: 'tornado-relayer: health error'
priority: AVERAGE
-
name: 'tornado-relayer: health.status'
- name: 'tornado-relayer: health.status'
type: DEPENDENT
key: tornado-relayer.health.status
delay: '0'
trends: '0'
value_type: TEXT
preprocessing:
-
type: JSONPATH
- type: JSONPATH
parameters:
- $.health.status
master_item:
key: 'web.page.get[{$URL}]'
triggers:
-
expression: '{last(#3)}<>"true"'
- expression: '{last(#3)}<>"true"'
name: 'tornado-relayer: health status <> true'
priority: HIGH
-
name: 'tornado-relayer: data'
- name: 'tornado-relayer: data'
type: ZABBIX_ACTIVE
key: 'web.page.get[{$URL}]'
history: '0'
trends: '0'
value_type: TEXT
preprocessing:
-
type: REGEX
- type: REGEX
parameters:
- '\n\s?\n([\s\S]*)'
- \1
httptests:
-
name: 'tornado-relayer: status page'
- name: 'tornado-relayer: status page'
agent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/80.0.3987.87 Chrome/80.0.3987.87 Safari/537.36'
steps:
-
name: 'status page'
- name: 'status page'
url: '{$URL}'
follow_redirects: 'NO'
required: status
status_codes: '200'
triggers:
-
expression: '{Tornado-relayer:web.test.fail[tornado-relayer: status page].last()}>0'
- expression: '{Tornado-relayer:web.test.fail[tornado-relayer: status page].last()}>0'
name: 'tornado-relayer: status page failed'
priority: AVERAGE
-
expression: '{Tornado-relayer:web.test.rspcode[tornado-relayer: status page,status page].last(#3)}<>200'
- expression: '{Tornado-relayer:web.test.rspcode[tornado-relayer: status page,status page].last(#3)}<>200'
name: 'tornado-relayer: status page rspcode <>200'
priority: HIGH