INT 21h

Hi, I am Vladimir Smagin, SysAdmin, DevOps and barely good guy. Telegram Email / GIT / Микроблог / Thingiverse / GPG

Zabbix automatic discovery and monitoring Docker containers

№ 9617 В разделе "Администрирование" от December 2nd, 2018,

At first, you need to install jq utility to generate JSON in bash. You are SA, you know how to do it.

JSON you want to receive from agent looks like:

{"data":[{"{#CONTAINER}":"git"},{"{#CONTAINER}":"ark_storage_api"},{"{#CONTAINER}":"telegram-microblog-poster"},{"{#CONTAINER}":"telegram-microblog-site"},{"{#CONTAINER}":"mqtt-zabbix-agent"},{"{#CONTAINER}":"sbnc"},{"{#CONTAINER}":"mqtt-bus"},{"{#CONTAINER}":"zabbix-server"},{"{#CONTAINER}":"telegram-post-bot"},{"{#CONTAINER}":"mat-generator"},{"{#CONTAINER}":"ark-log-server"},{"{#CONTAINER}":"zabbix-panel"},{"{#CONTAINER}":"splash"},{"{#CONTAINER}":"mariadb"},{"{#CONTAINER}":"postgres"}]}

Create new custom config on target host /etc/zabbix/zabbix_agentd.d/docker.conf

UserParameter=docker.running[*],docker ps -a -f name="$1" -f status=running -q
UserParameter=docker.containers_running,docker ps -f status=running -q|wc -l
UserParameter=docker.containers_all,docker ps -a -q|wc -l
UserParameter=docker.discovery,echo -n "$(docker ps -a -q --format='{{.Names}}')" \
    |/usr/bin/jq -R -s -c '{data:  split("\n") | map({"{#CONTAINER}": (.)}) }'

You can import my xml with template, or create your own below.

Sample graph in my template

Now create new template “Template Docker containers” with Application “Docker” and discovery rule “Docker containers discovery”. Just like on screenshot below.

Now create templates for Item and Trigger

At last step assign newly created template to your monitored host.

Great! Now you can see statuses and receive alerts.

Нет комментариев »

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Микроблог перейти

# 2019-06-06 09:47:42

Подборка материалов по Go gist.github.com/egorsmkv/9df2a

# 2019-06-06 09:47:41

Modules для Terraform modules.tf

# 2019-06-06 09:47:38

Как прикрутить oauth2 авторизацию к сайтам, где авторизация не была предусмотрена совсем akomljen.com/protect-kubernete


© Vladimir Smagin, 2005-2019. Копирование материалов без разрешения запрещено. GPG DA4CD0F5E222EA727D6A40C413BCE12E5618F071 *
Яндекс.Метрика

Fortune cookie: There was a young man named Hughes Who swore off all kinds of booze. He said, "When I'm muddled My senses get fuddled, And I pass up too many screws."