mirror of
https://github.com/tornadocash/tornado-relayer
synced 2024-02-02 15:04:06 +01:00
fix: lint
This commit is contained in:
parent
b103033103
commit
31d697701e
@ -1,6 +1,7 @@
|
|||||||
# Installing the Zabbix server
|
# Installing the Zabbix server
|
||||||
|
|
||||||
Change default passwords, ports and set listen IP (ports `8080/tcp` and `10051/tcp` will be open on all interfaces, use a firewall or specify the address of the required interface), then run:
|
Change default passwords, ports and set listen IP (ports `8080/tcp` and `10051/tcp` will be open on all interfaces, use a firewall or specify the address of the required interface), then run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
wget https://github.com/tornadocash/tornado-relayer/raw/master/monitoring/zabbix.tar.gz
|
wget https://github.com/tornadocash/tornado-relayer/raw/master/monitoring/zabbix.tar.gz
|
||||||
mkdir $HOME/monitoring/
|
mkdir $HOME/monitoring/
|
||||||
@ -12,18 +13,21 @@ docker-compose up -d
|
|||||||
# Installing the Zabbix agent
|
# Installing the Zabbix agent
|
||||||
|
|
||||||
Download package from repository [https://repo.zabbix.com/zabbix/5.2/ubuntu/pool/main/z/zabbix/](https://repo.zabbix.com/zabbix/5.2/ubuntu/pool/main/z/zabbix/) and run:
|
Download package from repository [https://repo.zabbix.com/zabbix/5.2/ubuntu/pool/main/z/zabbix/](https://repo.zabbix.com/zabbix/5.2/ubuntu/pool/main/z/zabbix/) and run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo dpkg -i zabbix-agent_5.2.*.deb
|
sudo dpkg -i zabbix-agent_5.2.*.deb
|
||||||
sudo usermod -aG docker zabbix
|
sudo usermod -aG docker zabbix
|
||||||
```
|
```
|
||||||
|
|
||||||
Change default values in `/etc/zabbix/zabbix_agent2.conf`:
|
Change default values in `/etc/zabbix/zabbix_agent2.conf`:
|
||||||
|
|
||||||
* `Hostname` the same as in the zabbix-server web interface;
|
- `Hostname` the same as in the zabbix-server web interface;
|
||||||
* `Server` and `ServerActive` set zabbix server IP or DNS name;
|
- `Server` and `ServerActive` set zabbix server IP or DNS name;
|
||||||
* `ListenIP` to local network IP available from zabbix server or set firewall rules to restrict access to port `10050`;
|
- `ListenIP` to local network IP available from zabbix server or set firewall rules to restrict access to port `10050`;
|
||||||
* uncomment `Plugins.Docker.Endpoint=unix:///var/run/docker.sock`.
|
- uncomment `Plugins.Docker.Endpoint=unix:///var/run/docker.sock`.
|
||||||
|
|
||||||
Then run:
|
Then run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo systemctl enable zabbix-agent2.service
|
sudo systemctl enable zabbix-agent2.service
|
||||||
sudo systemctl restart zabbix-agent2.service
|
sudo systemctl restart zabbix-agent2.service
|
||||||
@ -35,15 +39,17 @@ Log into your Zabbix server (defaul login and passord: `Admin` - `zabbix`) and c
|
|||||||
|
|
||||||
# Import templates
|
# Import templates
|
||||||
|
|
||||||
Import templates using the WebUI:
|
Import templates using the WebUI:
|
||||||
* [Docker-template.yaml](/monitoring/templates/Docker-template.yaml);
|
|
||||||
* [Tornado-relayer-template.yaml](/monitoring/templates/Tornado-relayer-template.yaml).
|
|
||||||
|
|
||||||
Link templates with added host. It is also recommended to link `Linux CPU by Zabbix agent`, `Linux filesystems by Zabbix agent` and `Linux memory by Zabbix agent` templates to the host.
|
- [Docker-template.yaml](/monitoring/templates/Docker-template.yaml);
|
||||||
|
- [Tornado-relayer-template.yaml](/monitoring/templates/Tornado-relayer-template.yaml).
|
||||||
|
|
||||||
|
Link templates with added host. It is also recommended to link `Linux CPU by Zabbix agent`, `Linux filesystems by Zabbix agent` and `Linux memory by Zabbix agent` templates to the host.
|
||||||
|
|
||||||
# Alerts
|
# Alerts
|
||||||
|
|
||||||
In WebUI - Administration -> Media types -> Telegram:
|
In WebUI - Administration -> Media types -> Telegram:
|
||||||
|
|
||||||
```
|
```
|
||||||
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/telegram
|
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/telegram
|
||||||
|
|
||||||
@ -58,4 +64,4 @@ https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/telegram
|
|||||||
4.2. Send "/getgroupid@myidbot" in your group
|
4.2. Send "/getgroupid@myidbot" in your group
|
||||||
4.3. Copy returned group id save it in the "Telegram Webhook" media for the user you created for group notifications
|
4.3. Copy returned group id save it in the "Telegram Webhook" media for the user you created for group notifications
|
||||||
4.4. Send "/start@your_bot_name_here" in your group (Telegram bot won't send anything to the group without it)
|
4.4. Send "/start@your_bot_name_here" in your group (Telegram bot won't send anything to the group without it)
|
||||||
```
|
```
|
||||||
|
@ -2,179 +2,179 @@
|
|||||||
|
|
||||||
version: '3.5'
|
version: '3.5'
|
||||||
services:
|
services:
|
||||||
zabbix-server:
|
zabbix-server:
|
||||||
image: zabbix/zabbix-server-pgsql:alpine-5.2-latest
|
image: zabbix/zabbix-server-pgsql:alpine-5.2-latest
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- "10051:10051"
|
- '10051:10051'
|
||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- /etc/timezone:/etc/timezone:ro
|
- /etc/timezone:/etc/timezone:ro
|
||||||
- ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro
|
- ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro
|
||||||
- ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro
|
- ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro
|
||||||
- ./zbx_env/var/lib/zabbix/export:/var/lib/zabbix/export:rw
|
- ./zbx_env/var/lib/zabbix/export:/var/lib/zabbix/export:rw
|
||||||
- ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro
|
- ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro
|
||||||
- ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro
|
- ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro
|
||||||
- ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro
|
- ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro
|
||||||
- ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro
|
- ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro
|
||||||
- ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro
|
- ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro
|
||||||
ulimits:
|
ulimits:
|
||||||
nproc: 65535
|
nproc: 65535
|
||||||
nofile:
|
nofile:
|
||||||
soft: 20000
|
soft: 20000
|
||||||
hard: 40000
|
hard: 40000
|
||||||
deploy:
|
deploy:
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpus: '0.70'
|
cpus: '0.70'
|
||||||
memory: 1G
|
memory: 1G
|
||||||
reservations:
|
reservations:
|
||||||
cpus: '0.5'
|
cpus: '0.5'
|
||||||
memory: 512M
|
memory: 512M
|
||||||
env_file:
|
env_file:
|
||||||
- .env_db_pgsql
|
- .env_db_pgsql
|
||||||
- .env_srv
|
- .env_srv
|
||||||
secrets:
|
secrets:
|
||||||
- POSTGRES_USER
|
- POSTGRES_USER
|
||||||
- POSTGRES_PASSWORD
|
- POSTGRES_PASSWORD
|
||||||
depends_on:
|
depends_on:
|
||||||
- postgres-server
|
- postgres-server
|
||||||
networks:
|
networks:
|
||||||
zbx_net_backend:
|
zbx_net_backend:
|
||||||
aliases:
|
aliases:
|
||||||
|
- zabbix-server
|
||||||
|
- zabbix-server-pgsql
|
||||||
|
- zabbix-server-alpine-pgsql
|
||||||
|
- zabbix-server-pgsql-alpine
|
||||||
|
zbx_net_frontend:
|
||||||
|
stop_grace_period: 30s
|
||||||
|
sysctls:
|
||||||
|
- net.ipv4.ip_local_port_range=1024 65000
|
||||||
|
- net.ipv4.conf.all.accept_redirects=0
|
||||||
|
- net.ipv4.conf.all.secure_redirects=0
|
||||||
|
- net.ipv4.conf.all.send_redirects=0
|
||||||
|
labels:
|
||||||
|
com.zabbix.description: 'Zabbix server with PostgreSQL database support'
|
||||||
|
com.zabbix.company: 'Zabbix LLC'
|
||||||
|
com.zabbix.component: 'zabbix-server'
|
||||||
|
com.zabbix.dbtype: 'pgsql'
|
||||||
|
com.zabbix.os: 'alpine'
|
||||||
|
|
||||||
|
zabbix-web:
|
||||||
|
image: zabbix/zabbix-web-nginx-pgsql:alpine-5.2-latest
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- '8080:8080'
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro
|
||||||
|
- ./zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '0.70'
|
||||||
|
memory: 512M
|
||||||
|
reservations:
|
||||||
|
cpus: '0.5'
|
||||||
|
memory: 256M
|
||||||
|
env_file:
|
||||||
|
- .env_db_pgsql
|
||||||
|
- .env_web
|
||||||
|
secrets:
|
||||||
|
- POSTGRES_USER
|
||||||
|
- POSTGRES_PASSWORD
|
||||||
|
depends_on:
|
||||||
|
- postgres-server
|
||||||
- zabbix-server
|
- zabbix-server
|
||||||
- zabbix-server-pgsql
|
healthcheck:
|
||||||
- zabbix-server-alpine-pgsql
|
test: ['CMD', 'curl', '-f', 'http://localhost:8080/']
|
||||||
- zabbix-server-pgsql-alpine
|
interval: 10s
|
||||||
zbx_net_frontend:
|
timeout: 5s
|
||||||
stop_grace_period: 30s
|
retries: 3
|
||||||
sysctls:
|
networks:
|
||||||
- net.ipv4.ip_local_port_range=1024 65000
|
zbx_net_backend:
|
||||||
- net.ipv4.conf.all.accept_redirects=0
|
aliases:
|
||||||
- net.ipv4.conf.all.secure_redirects=0
|
- zabbix-web-nginx-pgsql
|
||||||
- net.ipv4.conf.all.send_redirects=0
|
- zabbix-web-nginx-alpine-pgsql
|
||||||
labels:
|
- zabbix-web-nginx-pgsql-alpine
|
||||||
com.zabbix.description: "Zabbix server with PostgreSQL database support"
|
zbx_net_frontend:
|
||||||
com.zabbix.company: "Zabbix LLC"
|
stop_grace_period: 10s
|
||||||
com.zabbix.component: "zabbix-server"
|
sysctls:
|
||||||
com.zabbix.dbtype: "pgsql"
|
- net.core.somaxconn=65535
|
||||||
com.zabbix.os: "alpine"
|
labels:
|
||||||
|
com.zabbix.description: 'Zabbix frontend on Nginx web-server with PostgreSQL database support'
|
||||||
|
com.zabbix.company: 'Zabbix LLC'
|
||||||
|
com.zabbix.component: 'zabbix-frontend'
|
||||||
|
com.zabbix.webserver: 'nginx'
|
||||||
|
com.zabbix.dbtype: 'pgsql'
|
||||||
|
com.zabbix.os: 'alpine'
|
||||||
|
|
||||||
zabbix-web:
|
zabbix-agent:
|
||||||
image: zabbix/zabbix-web-nginx-pgsql:alpine-5.2-latest
|
image: zabbix/zabbix-agent2:alpine-5.2-latest
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
volumes:
|
||||||
- "8080:8080"
|
- /etc/localtime:/etc/localtime:ro
|
||||||
volumes:
|
- /etc/timezone:/etc/timezone:ro
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
- /etc/timezone:/etc/timezone:ro
|
env_file:
|
||||||
- ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro
|
- .env_agent
|
||||||
- ./zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
|
privileged: true
|
||||||
deploy:
|
user: root
|
||||||
resources:
|
pid: 'host'
|
||||||
limits:
|
networks:
|
||||||
cpus: '0.70'
|
zbx_net_backend:
|
||||||
memory: 512M
|
aliases:
|
||||||
reservations:
|
- zabbix-agent
|
||||||
cpus: '0.5'
|
- zabbix-agent-passive
|
||||||
memory: 256M
|
- zabbix-agent-alpine
|
||||||
env_file:
|
stop_grace_period: 5s
|
||||||
- .env_db_pgsql
|
|
||||||
- .env_web
|
|
||||||
secrets:
|
|
||||||
- POSTGRES_USER
|
|
||||||
- POSTGRES_PASSWORD
|
|
||||||
depends_on:
|
|
||||||
- postgres-server
|
|
||||||
- zabbix-server
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "curl", "-f", "http://localhost:8080/"]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 3
|
|
||||||
networks:
|
|
||||||
zbx_net_backend:
|
|
||||||
aliases:
|
|
||||||
- zabbix-web-nginx-pgsql
|
|
||||||
- zabbix-web-nginx-alpine-pgsql
|
|
||||||
- zabbix-web-nginx-pgsql-alpine
|
|
||||||
zbx_net_frontend:
|
|
||||||
stop_grace_period: 10s
|
|
||||||
sysctls:
|
|
||||||
- net.core.somaxconn=65535
|
|
||||||
labels:
|
|
||||||
com.zabbix.description: "Zabbix frontend on Nginx web-server with PostgreSQL database support"
|
|
||||||
com.zabbix.company: "Zabbix LLC"
|
|
||||||
com.zabbix.component: "zabbix-frontend"
|
|
||||||
com.zabbix.webserver: "nginx"
|
|
||||||
com.zabbix.dbtype: "pgsql"
|
|
||||||
com.zabbix.os: "alpine"
|
|
||||||
|
|
||||||
zabbix-agent:
|
postgres-server:
|
||||||
image: zabbix/zabbix-agent2:alpine-5.2-latest
|
image: postgres:alpine
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw
|
||||||
- /etc/timezone:/etc/timezone:ro
|
env_file:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- .env_db_pgsql
|
||||||
env_file:
|
secrets:
|
||||||
- .env_agent
|
- POSTGRES_USER
|
||||||
privileged: true
|
- POSTGRES_PASSWORD
|
||||||
user: root
|
stop_grace_period: 1m
|
||||||
pid: "host"
|
networks:
|
||||||
networks:
|
zbx_net_backend:
|
||||||
zbx_net_backend:
|
aliases:
|
||||||
aliases:
|
- postgres-server
|
||||||
- zabbix-agent
|
- pgsql-server
|
||||||
- zabbix-agent-passive
|
- pgsql-database
|
||||||
- zabbix-agent-alpine
|
|
||||||
stop_grace_period: 5s
|
|
||||||
|
|
||||||
postgres-server:
|
portainer:
|
||||||
image: postgres:alpine
|
image: portainer/portainer:latest
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
ports:
|
||||||
- ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw
|
- '9000:9000'
|
||||||
env_file:
|
volumes:
|
||||||
- .env_db_pgsql
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
secrets:
|
- portainer-data:/data
|
||||||
- POSTGRES_USER
|
|
||||||
- POSTGRES_PASSWORD
|
|
||||||
stop_grace_period: 1m
|
|
||||||
networks:
|
|
||||||
zbx_net_backend:
|
|
||||||
aliases:
|
|
||||||
- postgres-server
|
|
||||||
- pgsql-server
|
|
||||||
- pgsql-database
|
|
||||||
|
|
||||||
portainer:
|
|
||||||
image: portainer/portainer:latest
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- "9000:9000"
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
- portainer-data:/data
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
zbx_net_frontend:
|
zbx_net_frontend:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
driver_opts:
|
driver_opts:
|
||||||
com.docker.network.enable_ipv6: "false"
|
com.docker.network.enable_ipv6: 'false'
|
||||||
ipam:
|
ipam:
|
||||||
driver: default
|
driver: default
|
||||||
config:
|
config:
|
||||||
- subnet: 172.16.238.0/24
|
- subnet: 172.16.238.0/24
|
||||||
zbx_net_backend:
|
zbx_net_backend:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
driver_opts:
|
driver_opts:
|
||||||
com.docker.network.enable_ipv6: "false"
|
com.docker.network.enable_ipv6: 'false'
|
||||||
internal: true
|
internal: true
|
||||||
ipam:
|
ipam:
|
||||||
driver: default
|
driver: default
|
||||||
config:
|
config:
|
||||||
- subnet: 172.16.239.0/24
|
- subnet: 172.16.239.0/24
|
||||||
|
|
||||||
secrets:
|
secrets:
|
||||||
POSTGRES_USER:
|
POSTGRES_USER:
|
||||||
|
@ -2,130 +2,105 @@ zabbix_export:
|
|||||||
version: '5.2'
|
version: '5.2'
|
||||||
date: '2021-11-29T12:29:17Z'
|
date: '2021-11-29T12:29:17Z'
|
||||||
groups:
|
groups:
|
||||||
-
|
- name: Docker
|
||||||
name: Docker
|
|
||||||
templates:
|
templates:
|
||||||
-
|
- template: Docker
|
||||||
template: Docker
|
|
||||||
name: Docker
|
name: Docker
|
||||||
description: |
|
description: |
|
||||||
Get Docker engine metrics from plugin for the New Zabbix Agent (zabbix-agent2).
|
Get Docker engine metrics from plugin for the New Zabbix Agent (zabbix-agent2).
|
||||||
|
|
||||||
You can discuss this template or leave feedback on our forum
|
You can discuss this template or leave feedback on our forum
|
||||||
|
|
||||||
Template tooling version used: 0.38
|
Template tooling version used: 0.38
|
||||||
groups:
|
groups:
|
||||||
-
|
- name: Docker
|
||||||
name: Docker
|
|
||||||
applications:
|
applications:
|
||||||
-
|
- name: Docker
|
||||||
name: Docker
|
- name: 'Zabbix raw items'
|
||||||
-
|
|
||||||
name: 'Zabbix raw items'
|
|
||||||
items:
|
items:
|
||||||
-
|
- name: 'Docker: Get containers'
|
||||||
name: 'Docker: Get containers'
|
|
||||||
key: docker.containers
|
key: docker.containers
|
||||||
history: '0'
|
history: '0'
|
||||||
trends: '0'
|
trends: '0'
|
||||||
value_type: TEXT
|
value_type: TEXT
|
||||||
applications:
|
applications:
|
||||||
-
|
- name: 'Zabbix raw items'
|
||||||
name: 'Zabbix raw items'
|
- name: 'Docker: Containers paused'
|
||||||
-
|
|
||||||
name: 'Docker: Containers paused'
|
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: docker.containers.paused
|
key: docker.containers.paused
|
||||||
delay: '0'
|
delay: '0'
|
||||||
history: 7d
|
history: 7d
|
||||||
description: 'Total number of containers paused on this host'
|
description: 'Total number of containers paused on this host'
|
||||||
applications:
|
applications:
|
||||||
-
|
- name: Docker
|
||||||
name: Docker
|
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: JSONPATH
|
||||||
type: JSONPATH
|
|
||||||
parameters:
|
parameters:
|
||||||
- $.ContainersPaused
|
- $.ContainersPaused
|
||||||
master_item:
|
master_item:
|
||||||
key: docker.info
|
key: docker.info
|
||||||
-
|
- name: 'Docker: Containers running'
|
||||||
name: 'Docker: Containers running'
|
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: docker.containers.running
|
key: docker.containers.running
|
||||||
delay: '0'
|
delay: '0'
|
||||||
history: 7d
|
history: 7d
|
||||||
description: 'Total number of containers running on this host'
|
description: 'Total number of containers running on this host'
|
||||||
applications:
|
applications:
|
||||||
-
|
- name: Docker
|
||||||
name: Docker
|
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: JSONPATH
|
||||||
type: JSONPATH
|
|
||||||
parameters:
|
parameters:
|
||||||
- $.ContainersRunning
|
- $.ContainersRunning
|
||||||
master_item:
|
master_item:
|
||||||
key: docker.info
|
key: docker.info
|
||||||
-
|
- name: 'Docker: Containers stopped'
|
||||||
name: 'Docker: Containers stopped'
|
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: docker.containers.stopped
|
key: docker.containers.stopped
|
||||||
delay: '0'
|
delay: '0'
|
||||||
history: 7d
|
history: 7d
|
||||||
description: 'Total number of containers stopped on this host'
|
description: 'Total number of containers stopped on this host'
|
||||||
applications:
|
applications:
|
||||||
-
|
- name: Docker
|
||||||
name: Docker
|
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: JSONPATH
|
||||||
type: JSONPATH
|
|
||||||
parameters:
|
parameters:
|
||||||
- $.ContainersStopped
|
- $.ContainersStopped
|
||||||
master_item:
|
master_item:
|
||||||
key: docker.info
|
key: docker.info
|
||||||
triggers:
|
triggers:
|
||||||
-
|
- expression: '{avg(5m)}>=1'
|
||||||
expression: '{avg(5m)}>=1'
|
|
||||||
name: 'Docker: containers is stopped'
|
name: 'Docker: containers is stopped'
|
||||||
priority: HIGH
|
priority: HIGH
|
||||||
-
|
- name: 'Docker: Containers total'
|
||||||
name: 'Docker: Containers total'
|
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: docker.containers.total
|
key: docker.containers.total
|
||||||
delay: '0'
|
delay: '0'
|
||||||
history: 7d
|
history: 7d
|
||||||
description: 'Total number of containers on this host'
|
description: 'Total number of containers on this host'
|
||||||
applications:
|
applications:
|
||||||
-
|
- name: Docker
|
||||||
name: Docker
|
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: JSONPATH
|
||||||
type: JSONPATH
|
|
||||||
parameters:
|
parameters:
|
||||||
- $.Containers
|
- $.Containers
|
||||||
master_item:
|
master_item:
|
||||||
key: docker.info
|
key: docker.info
|
||||||
-
|
- name: 'Docker: Get images'
|
||||||
name: 'Docker: Get images'
|
|
||||||
key: docker.images
|
key: docker.images
|
||||||
history: '0'
|
history: '0'
|
||||||
trends: '0'
|
trends: '0'
|
||||||
status: DISABLED
|
status: DISABLED
|
||||||
value_type: TEXT
|
value_type: TEXT
|
||||||
applications:
|
applications:
|
||||||
-
|
- name: 'Zabbix raw items'
|
||||||
name: 'Zabbix raw items'
|
- name: 'Docker: Get info'
|
||||||
-
|
|
||||||
name: 'Docker: Get info'
|
|
||||||
key: docker.info
|
key: docker.info
|
||||||
history: '0'
|
history: '0'
|
||||||
trends: '0'
|
trends: '0'
|
||||||
value_type: TEXT
|
value_type: TEXT
|
||||||
applications:
|
applications:
|
||||||
-
|
- name: 'Zabbix raw items'
|
||||||
name: 'Zabbix raw items'
|
- name: 'Docker: Memory total'
|
||||||
-
|
|
||||||
name: 'Docker: Memory total'
|
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: docker.mem.total
|
key: docker.mem.total
|
||||||
delay: '0'
|
delay: '0'
|
||||||
@ -133,61 +108,51 @@ zabbix_export:
|
|||||||
status: DISABLED
|
status: DISABLED
|
||||||
units: B
|
units: B
|
||||||
applications:
|
applications:
|
||||||
-
|
- name: Docker
|
||||||
name: Docker
|
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: JSONPATH
|
||||||
type: JSONPATH
|
|
||||||
parameters:
|
parameters:
|
||||||
- $.MemTotal
|
- $.MemTotal
|
||||||
master_item:
|
master_item:
|
||||||
key: docker.info
|
key: docker.info
|
||||||
-
|
- name: 'Docker: Ping'
|
||||||
name: 'Docker: Ping'
|
|
||||||
key: docker.ping
|
key: docker.ping
|
||||||
history: 7h
|
history: 7h
|
||||||
applications:
|
applications:
|
||||||
-
|
- name: Docker
|
||||||
name: Docker
|
|
||||||
valuemap:
|
valuemap:
|
||||||
name: 'Service state'
|
name: 'Service state'
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
||||||
type: DISCARD_UNCHANGED_HEARTBEAT
|
|
||||||
parameters:
|
parameters:
|
||||||
- 10m
|
- 10m
|
||||||
triggers:
|
triggers:
|
||||||
-
|
- expression: '{last()}=0'
|
||||||
expression: '{last()}=0'
|
|
||||||
name: 'Docker: Service is down'
|
name: 'Docker: Service is down'
|
||||||
priority: AVERAGE
|
priority: AVERAGE
|
||||||
manual_close: 'YES'
|
manual_close: 'YES'
|
||||||
discovery_rules:
|
discovery_rules:
|
||||||
-
|
- name: 'Containers discovery'
|
||||||
name: 'Containers discovery'
|
|
||||||
key: 'docker.containers.discovery[true]'
|
key: 'docker.containers.discovery[true]'
|
||||||
delay: 15m
|
delay: 15m
|
||||||
filter:
|
filter:
|
||||||
evaltype: AND
|
evaltype: AND
|
||||||
conditions:
|
conditions:
|
||||||
-
|
- macro: '{#NAME}'
|
||||||
macro: '{#NAME}'
|
|
||||||
value: '{$DOCKER.LLD.FILTER.CONTAINER.MATCHES}'
|
value: '{$DOCKER.LLD.FILTER.CONTAINER.MATCHES}'
|
||||||
formulaid: A
|
formulaid: A
|
||||||
-
|
- macro: '{#NAME}'
|
||||||
macro: '{#NAME}'
|
|
||||||
value: '{$DOCKER.LLD.FILTER.CONTAINER.NOT_MATCHES}'
|
value: '{$DOCKER.LLD.FILTER.CONTAINER.NOT_MATCHES}'
|
||||||
operator: NOT_MATCHES_REGEX
|
operator: NOT_MATCHES_REGEX
|
||||||
formulaid: B
|
formulaid: B
|
||||||
description: |
|
description: |
|
||||||
Discovery for containers metrics
|
Discovery for containers metrics
|
||||||
|
|
||||||
Parameter:
|
Parameter:
|
||||||
true - Returns all containers
|
true - Returns all containers
|
||||||
false - Returns only running containers
|
false - Returns only running containers
|
||||||
item_prototypes:
|
item_prototypes:
|
||||||
-
|
- name: 'Container {#NAME}: Finished at'
|
||||||
name: 'Container {#NAME}: Finished at'
|
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: 'docker.container_info.finished["{#NAME}"]'
|
key: 'docker.container_info.finished["{#NAME}"]'
|
||||||
delay: '0'
|
delay: '0'
|
||||||
@ -195,43 +160,35 @@ zabbix_export:
|
|||||||
value_type: FLOAT
|
value_type: FLOAT
|
||||||
units: unixtime
|
units: unixtime
|
||||||
application_prototypes:
|
application_prototypes:
|
||||||
-
|
- name: 'Docker: Container {#NAME}'
|
||||||
name: 'Docker: Container {#NAME}'
|
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: JSONPATH
|
||||||
type: JSONPATH
|
|
||||||
parameters:
|
parameters:
|
||||||
- $.State.FinishedAt
|
- $.State.FinishedAt
|
||||||
-
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
||||||
type: DISCARD_UNCHANGED_HEARTBEAT
|
|
||||||
parameters:
|
parameters:
|
||||||
- 1d
|
- 1d
|
||||||
master_item:
|
master_item:
|
||||||
key: 'docker.container_info["{#NAME}"]'
|
key: 'docker.container_info["{#NAME}"]'
|
||||||
-
|
- name: 'Container {#NAME}: Restart count'
|
||||||
name: 'Container {#NAME}: Restart count'
|
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: 'docker.container_info.restart_count["{#NAME}"]'
|
key: 'docker.container_info.restart_count["{#NAME}"]'
|
||||||
delay: '0'
|
delay: '0'
|
||||||
history: 7d
|
history: 7d
|
||||||
application_prototypes:
|
application_prototypes:
|
||||||
-
|
- name: 'Docker: Container {#NAME}'
|
||||||
name: 'Docker: Container {#NAME}'
|
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: JSONPATH
|
||||||
type: JSONPATH
|
|
||||||
parameters:
|
parameters:
|
||||||
- $.RestartCount
|
- $.RestartCount
|
||||||
master_item:
|
master_item:
|
||||||
key: 'docker.container_info["{#NAME}"]'
|
key: 'docker.container_info["{#NAME}"]'
|
||||||
trigger_prototypes:
|
trigger_prototypes:
|
||||||
-
|
- expression: '{last()}>5'
|
||||||
expression: '{last()}>5'
|
|
||||||
name: 'Container {#NAME}: restarting constantly'
|
name: 'Container {#NAME}: restarting constantly'
|
||||||
opdata: '{ITEM.VALUE}'
|
opdata: '{ITEM.VALUE}'
|
||||||
priority: HIGH
|
priority: HIGH
|
||||||
-
|
- name: 'Container {#NAME}: Started at'
|
||||||
name: 'Container {#NAME}: Started at'
|
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: 'docker.container_info.started["{#NAME}"]'
|
key: 'docker.container_info.started["{#NAME}"]'
|
||||||
delay: '0'
|
delay: '0'
|
||||||
@ -239,21 +196,17 @@ zabbix_export:
|
|||||||
value_type: FLOAT
|
value_type: FLOAT
|
||||||
units: unixtime
|
units: unixtime
|
||||||
application_prototypes:
|
application_prototypes:
|
||||||
-
|
- name: 'Docker: Container {#NAME}'
|
||||||
name: 'Docker: Container {#NAME}'
|
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: JSONPATH
|
||||||
type: JSONPATH
|
|
||||||
parameters:
|
parameters:
|
||||||
- $.State.StartedAt
|
- $.State.StartedAt
|
||||||
-
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
||||||
type: DISCARD_UNCHANGED_HEARTBEAT
|
|
||||||
parameters:
|
parameters:
|
||||||
- 1d
|
- 1d
|
||||||
master_item:
|
master_item:
|
||||||
key: 'docker.container_info["{#NAME}"]'
|
key: 'docker.container_info["{#NAME}"]'
|
||||||
-
|
- name: 'Container {#NAME}: Error'
|
||||||
name: 'Container {#NAME}: Error'
|
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: 'docker.container_info.state.error["{#NAME}"]'
|
key: 'docker.container_info.state.error["{#NAME}"]'
|
||||||
delay: '0'
|
delay: '0'
|
||||||
@ -261,114 +214,93 @@ zabbix_export:
|
|||||||
trends: '0'
|
trends: '0'
|
||||||
value_type: CHAR
|
value_type: CHAR
|
||||||
application_prototypes:
|
application_prototypes:
|
||||||
-
|
- name: 'Docker: Container {#NAME}'
|
||||||
name: 'Docker: Container {#NAME}'
|
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: JSONPATH
|
||||||
type: JSONPATH
|
|
||||||
parameters:
|
parameters:
|
||||||
- $.State.Error
|
- $.State.Error
|
||||||
-
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
||||||
type: DISCARD_UNCHANGED_HEARTBEAT
|
|
||||||
parameters:
|
parameters:
|
||||||
- 1d
|
- 1d
|
||||||
master_item:
|
master_item:
|
||||||
key: 'docker.container_info["{#NAME}"]'
|
key: 'docker.container_info["{#NAME}"]'
|
||||||
trigger_prototypes:
|
trigger_prototypes:
|
||||||
-
|
- expression: '{diff()}=1 and {strlen()}>0'
|
||||||
expression: '{diff()}=1 and {strlen()}>0'
|
|
||||||
name: 'Container {#NAME}: An error has occurred in the container'
|
name: 'Container {#NAME}: An error has occurred in the container'
|
||||||
priority: WARNING
|
priority: WARNING
|
||||||
description: 'Container {#NAME} has an error. Ack to close.'
|
description: 'Container {#NAME} has an error. Ack to close.'
|
||||||
manual_close: 'YES'
|
manual_close: 'YES'
|
||||||
-
|
- name: 'Container {#NAME}: Exit code'
|
||||||
name: 'Container {#NAME}: Exit code'
|
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: 'docker.container_info.state.exitcode["{#NAME}"]'
|
key: 'docker.container_info.state.exitcode["{#NAME}"]'
|
||||||
delay: '0'
|
delay: '0'
|
||||||
history: 7d
|
history: 7d
|
||||||
application_prototypes:
|
application_prototypes:
|
||||||
-
|
- name: 'Docker: Container {#NAME}'
|
||||||
name: 'Docker: Container {#NAME}'
|
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: JSONPATH
|
||||||
type: JSONPATH
|
|
||||||
parameters:
|
parameters:
|
||||||
- $.State.ExitCode
|
- $.State.ExitCode
|
||||||
-
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
||||||
type: DISCARD_UNCHANGED_HEARTBEAT
|
|
||||||
parameters:
|
parameters:
|
||||||
- 1d
|
- 1d
|
||||||
master_item:
|
master_item:
|
||||||
key: 'docker.container_info["{#NAME}"]'
|
key: 'docker.container_info["{#NAME}"]'
|
||||||
-
|
- name: 'Container {#NAME}: Paused'
|
||||||
name: 'Container {#NAME}: Paused'
|
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: 'docker.container_info.state.paused["{#NAME}"]'
|
key: 'docker.container_info.state.paused["{#NAME}"]'
|
||||||
delay: '0'
|
delay: '0'
|
||||||
history: 7d
|
history: 7d
|
||||||
application_prototypes:
|
application_prototypes:
|
||||||
-
|
- name: 'Docker: Container {#NAME}'
|
||||||
name: 'Docker: Container {#NAME}'
|
|
||||||
valuemap:
|
valuemap:
|
||||||
name: 'Docker flag'
|
name: 'Docker flag'
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: JSONPATH
|
||||||
type: JSONPATH
|
|
||||||
parameters:
|
parameters:
|
||||||
- $.State.Paused
|
- $.State.Paused
|
||||||
-
|
- type: BOOL_TO_DECIMAL
|
||||||
type: BOOL_TO_DECIMAL
|
|
||||||
parameters:
|
parameters:
|
||||||
- ''
|
- ''
|
||||||
master_item:
|
master_item:
|
||||||
key: 'docker.container_info["{#NAME}"]'
|
key: 'docker.container_info["{#NAME}"]'
|
||||||
-
|
- name: 'Container {#NAME}: Restarting'
|
||||||
name: 'Container {#NAME}: Restarting'
|
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: 'docker.container_info.state.restarting["{#NAME}"]'
|
key: 'docker.container_info.state.restarting["{#NAME}"]'
|
||||||
delay: '0'
|
delay: '0'
|
||||||
history: 7d
|
history: 7d
|
||||||
application_prototypes:
|
application_prototypes:
|
||||||
-
|
- name: 'Docker: Container {#NAME}'
|
||||||
name: 'Docker: Container {#NAME}'
|
|
||||||
valuemap:
|
valuemap:
|
||||||
name: 'Docker flag'
|
name: 'Docker flag'
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: JSONPATH
|
||||||
type: JSONPATH
|
|
||||||
parameters:
|
parameters:
|
||||||
- $.State.Restarting
|
- $.State.Restarting
|
||||||
-
|
- type: BOOL_TO_DECIMAL
|
||||||
type: BOOL_TO_DECIMAL
|
|
||||||
parameters:
|
parameters:
|
||||||
- ''
|
- ''
|
||||||
master_item:
|
master_item:
|
||||||
key: 'docker.container_info["{#NAME}"]'
|
key: 'docker.container_info["{#NAME}"]'
|
||||||
-
|
- name: 'Container {#NAME}: Running'
|
||||||
name: 'Container {#NAME}: Running'
|
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: 'docker.container_info.state.running["{#NAME}"]'
|
key: 'docker.container_info.state.running["{#NAME}"]'
|
||||||
delay: '0'
|
delay: '0'
|
||||||
history: 7d
|
history: 7d
|
||||||
application_prototypes:
|
application_prototypes:
|
||||||
-
|
- name: 'Docker: Container {#NAME}'
|
||||||
name: 'Docker: Container {#NAME}'
|
|
||||||
valuemap:
|
valuemap:
|
||||||
name: 'Docker flag'
|
name: 'Docker flag'
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: JSONPATH
|
||||||
type: JSONPATH
|
|
||||||
parameters:
|
parameters:
|
||||||
- $.State.Running
|
- $.State.Running
|
||||||
-
|
- type: BOOL_TO_DECIMAL
|
||||||
type: BOOL_TO_DECIMAL
|
|
||||||
parameters:
|
parameters:
|
||||||
- ''
|
- ''
|
||||||
master_item:
|
master_item:
|
||||||
key: 'docker.container_info["{#NAME}"]'
|
key: 'docker.container_info["{#NAME}"]'
|
||||||
-
|
- name: 'Container {#NAME}: Status'
|
||||||
name: 'Container {#NAME}: Status'
|
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: 'docker.container_info.state.status["{#NAME}"]'
|
key: 'docker.container_info.state.status["{#NAME}"]'
|
||||||
delay: '0'
|
delay: '0'
|
||||||
@ -376,109 +308,86 @@ zabbix_export:
|
|||||||
trends: '0'
|
trends: '0'
|
||||||
value_type: CHAR
|
value_type: CHAR
|
||||||
application_prototypes:
|
application_prototypes:
|
||||||
-
|
- name: 'Docker: Container {#NAME}'
|
||||||
name: 'Docker: Container {#NAME}'
|
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: JSONPATH
|
||||||
type: JSONPATH
|
|
||||||
parameters:
|
parameters:
|
||||||
- $.State.Status
|
- $.State.Status
|
||||||
-
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
||||||
type: DISCARD_UNCHANGED_HEARTBEAT
|
|
||||||
parameters:
|
parameters:
|
||||||
- 1h
|
- 1h
|
||||||
master_item:
|
master_item:
|
||||||
key: 'docker.container_info["{#NAME}"]'
|
key: 'docker.container_info["{#NAME}"]'
|
||||||
-
|
- name: 'Container {#NAME}: Get info'
|
||||||
name: 'Container {#NAME}: Get info'
|
|
||||||
key: 'docker.container_info["{#NAME}"]'
|
key: 'docker.container_info["{#NAME}"]'
|
||||||
history: '0'
|
history: '0'
|
||||||
trends: '0'
|
trends: '0'
|
||||||
value_type: CHAR
|
value_type: CHAR
|
||||||
description: 'Return low-level information about a container'
|
description: 'Return low-level information about a container'
|
||||||
application_prototypes:
|
application_prototypes:
|
||||||
-
|
- name: 'Docker: Container {#NAME}'
|
||||||
name: 'Docker: Container {#NAME}'
|
|
||||||
trigger_prototypes:
|
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'
|
name: 'Container {#NAME}: Container has been stopped with error code'
|
||||||
opdata: 'Exit code: {ITEM.LASTVALUE1}'
|
opdata: 'Exit code: {ITEM.LASTVALUE1}'
|
||||||
priority: AVERAGE
|
priority: AVERAGE
|
||||||
manual_close: 'YES'
|
manual_close: 'YES'
|
||||||
macros:
|
macros:
|
||||||
-
|
- macro: '{$DOCKER.LLD.FILTER.CONTAINER.MATCHES}'
|
||||||
macro: '{$DOCKER.LLD.FILTER.CONTAINER.MATCHES}'
|
|
||||||
value: '.*'
|
value: '.*'
|
||||||
description: 'Filter of discoverable containers'
|
description: 'Filter of discoverable containers'
|
||||||
-
|
- macro: '{$DOCKER.LLD.FILTER.CONTAINER.NOT_MATCHES}'
|
||||||
macro: '{$DOCKER.LLD.FILTER.CONTAINER.NOT_MATCHES}'
|
|
||||||
value: CHANGE_IF_NEEDED
|
value: CHANGE_IF_NEEDED
|
||||||
description: 'Filter to exclude discovered containers'
|
description: 'Filter to exclude discovered containers'
|
||||||
-
|
- macro: '{$DOCKER.LLD.FILTER.IMAGE.MATCHES}'
|
||||||
macro: '{$DOCKER.LLD.FILTER.IMAGE.MATCHES}'
|
|
||||||
value: '.*'
|
value: '.*'
|
||||||
description: 'Filter of discoverable images'
|
description: 'Filter of discoverable images'
|
||||||
-
|
- macro: '{$DOCKER.LLD.FILTER.IMAGE.NOT_MATCHES}'
|
||||||
macro: '{$DOCKER.LLD.FILTER.IMAGE.NOT_MATCHES}'
|
|
||||||
value: CHANGE_IF_NEEDED
|
value: CHANGE_IF_NEEDED
|
||||||
description: 'Filter to exclude discovered images'
|
description: 'Filter to exclude discovered images'
|
||||||
graphs:
|
graphs:
|
||||||
-
|
- name: 'Docker: Containers'
|
||||||
name: 'Docker: Containers'
|
|
||||||
graph_items:
|
graph_items:
|
||||||
-
|
- drawtype: GRADIENT_LINE
|
||||||
drawtype: GRADIENT_LINE
|
|
||||||
color: 1A7C11
|
color: 1A7C11
|
||||||
item:
|
item:
|
||||||
host: Docker
|
host: Docker
|
||||||
key: docker.containers.running
|
key: docker.containers.running
|
||||||
-
|
- sortorder: '1'
|
||||||
sortorder: '1'
|
|
||||||
drawtype: BOLD_LINE
|
drawtype: BOLD_LINE
|
||||||
color: 2774A4
|
color: 2774A4
|
||||||
item:
|
item:
|
||||||
host: Docker
|
host: Docker
|
||||||
key: docker.containers.paused
|
key: docker.containers.paused
|
||||||
-
|
- sortorder: '2'
|
||||||
sortorder: '2'
|
|
||||||
drawtype: BOLD_LINE
|
drawtype: BOLD_LINE
|
||||||
color: F63100
|
color: F63100
|
||||||
item:
|
item:
|
||||||
host: Docker
|
host: Docker
|
||||||
key: docker.containers.stopped
|
key: docker.containers.stopped
|
||||||
-
|
- sortorder: '3'
|
||||||
sortorder: '3'
|
|
||||||
drawtype: BOLD_LINE
|
drawtype: BOLD_LINE
|
||||||
color: A54F10
|
color: A54F10
|
||||||
item:
|
item:
|
||||||
host: Docker
|
host: Docker
|
||||||
key: docker.containers.total
|
key: docker.containers.total
|
||||||
-
|
- name: 'Docker: Memory total'
|
||||||
name: 'Docker: Memory total'
|
|
||||||
graph_items:
|
graph_items:
|
||||||
-
|
- drawtype: BOLD_LINE
|
||||||
drawtype: BOLD_LINE
|
|
||||||
color: 1A7C11
|
color: 1A7C11
|
||||||
item:
|
item:
|
||||||
host: Docker
|
host: Docker
|
||||||
key: docker.mem.total
|
key: docker.mem.total
|
||||||
value_maps:
|
value_maps:
|
||||||
-
|
- name: 'Docker flag'
|
||||||
name: 'Docker flag'
|
|
||||||
mappings:
|
mappings:
|
||||||
-
|
- value: '0'
|
||||||
value: '0'
|
|
||||||
newvalue: 'False'
|
newvalue: 'False'
|
||||||
-
|
- value: '1'
|
||||||
value: '1'
|
|
||||||
newvalue: 'True'
|
newvalue: 'True'
|
||||||
-
|
- name: 'Service state'
|
||||||
name: 'Service state'
|
|
||||||
mappings:
|
mappings:
|
||||||
-
|
- value: '0'
|
||||||
value: '0'
|
|
||||||
newvalue: Down
|
newvalue: Down
|
||||||
-
|
- value: '1'
|
||||||
value: '1'
|
|
||||||
newvalue: Up
|
newvalue: Up
|
||||||
|
@ -2,84 +2,69 @@ zabbix_export:
|
|||||||
version: '5.2'
|
version: '5.2'
|
||||||
date: '2021-12-01T13:26:59Z'
|
date: '2021-12-01T13:26:59Z'
|
||||||
groups:
|
groups:
|
||||||
-
|
- name: Templates/Applications
|
||||||
name: Templates/Applications
|
|
||||||
templates:
|
templates:
|
||||||
-
|
- template: Tornado-relayer
|
||||||
template: Tornado-relayer
|
|
||||||
name: Tornado-relayer
|
name: Tornado-relayer
|
||||||
groups:
|
groups:
|
||||||
-
|
- name: Templates/Applications
|
||||||
name: Templates/Applications
|
|
||||||
items:
|
items:
|
||||||
-
|
- name: 'tornado-relayer: health.error'
|
||||||
name: 'tornado-relayer: health.error'
|
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: tornado-relayer.health.error
|
key: tornado-relayer.health.error
|
||||||
delay: '0'
|
delay: '0'
|
||||||
trends: '0'
|
trends: '0'
|
||||||
value_type: TEXT
|
value_type: TEXT
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: JSONPATH
|
||||||
type: JSONPATH
|
|
||||||
parameters:
|
parameters:
|
||||||
- $.health.error
|
- $.health.error
|
||||||
master_item:
|
master_item:
|
||||||
key: 'web.page.get[{$URL}]'
|
key: 'web.page.get[{$URL}]'
|
||||||
triggers:
|
triggers:
|
||||||
-
|
- expression: '{last()}<>""'
|
||||||
expression: '{last()}<>""'
|
|
||||||
name: 'tornado-relayer: health error'
|
name: 'tornado-relayer: health error'
|
||||||
priority: AVERAGE
|
priority: AVERAGE
|
||||||
-
|
- name: 'tornado-relayer: health.status'
|
||||||
name: 'tornado-relayer: health.status'
|
|
||||||
type: DEPENDENT
|
type: DEPENDENT
|
||||||
key: tornado-relayer.health.status
|
key: tornado-relayer.health.status
|
||||||
delay: '0'
|
delay: '0'
|
||||||
trends: '0'
|
trends: '0'
|
||||||
value_type: TEXT
|
value_type: TEXT
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: JSONPATH
|
||||||
type: JSONPATH
|
|
||||||
parameters:
|
parameters:
|
||||||
- $.health.status
|
- $.health.status
|
||||||
master_item:
|
master_item:
|
||||||
key: 'web.page.get[{$URL}]'
|
key: 'web.page.get[{$URL}]'
|
||||||
triggers:
|
triggers:
|
||||||
-
|
- expression: '{last(#3)}<>"true"'
|
||||||
expression: '{last(#3)}<>"true"'
|
|
||||||
name: 'tornado-relayer: health status <> true'
|
name: 'tornado-relayer: health status <> true'
|
||||||
priority: HIGH
|
priority: HIGH
|
||||||
-
|
- name: 'tornado-relayer: data'
|
||||||
name: 'tornado-relayer: data'
|
|
||||||
type: ZABBIX_ACTIVE
|
type: ZABBIX_ACTIVE
|
||||||
key: 'web.page.get[{$URL}]'
|
key: 'web.page.get[{$URL}]'
|
||||||
history: '0'
|
history: '0'
|
||||||
trends: '0'
|
trends: '0'
|
||||||
value_type: TEXT
|
value_type: TEXT
|
||||||
preprocessing:
|
preprocessing:
|
||||||
-
|
- type: REGEX
|
||||||
type: REGEX
|
|
||||||
parameters:
|
parameters:
|
||||||
- '\n\s?\n([\s\S]*)'
|
- '\n\s?\n([\s\S]*)'
|
||||||
- \1
|
- \1
|
||||||
httptests:
|
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'
|
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:
|
steps:
|
||||||
-
|
- name: 'status page'
|
||||||
name: 'status page'
|
|
||||||
url: '{$URL}'
|
url: '{$URL}'
|
||||||
follow_redirects: 'NO'
|
follow_redirects: 'NO'
|
||||||
required: status
|
required: status
|
||||||
status_codes: '200'
|
status_codes: '200'
|
||||||
triggers:
|
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'
|
name: 'tornado-relayer: status page failed'
|
||||||
priority: AVERAGE
|
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'
|
name: 'tornado-relayer: status page rspcode <>200'
|
||||||
priority: HIGH
|
priority: HIGH
|
||||||
|
Loading…
Reference in New Issue
Block a user