3 posts tagged

zabbix

Here is simple systemd unit for coreos docker monitoring in zabbix.

Put this in /etc/systemd/system/zabbix-agent.service

[Unit]
Description=Zabbix agent
After=docker.service
Requires=docker.service

[Service]
ExecStartPre=-/usr/bin/docker kill zabbix-agent-xxl
ExecStartPre=-/usr/bin/docker rm zabbix-agent-xxl
ExecStart=/usr/bin/docker run  --name=zabbix-agent-xxl -p 10050:10050  -v /:/rootfs  -v /var/run:/var/run -e "ZA_Server=yourzabbix.server.com"  monitoringartist/zabbix-agent-xxl-limited:latest
ExecStop=/usr/bin/docker stop zabbix-agent-xxl

And launch with

systemctl enable zabbix-agent
systemctl start zabbix-agent

Inspect running container with

docker ps

, it should be running.

Please note, that every time zabbix container could not be started, it should be recreated.

Автоматически создаст нужный Template в вашем zabbix такая команда.

docker run --rm \
  -e XXL_apiurl=http://zabbix.org/zabbix \
  -e XXL_apiuser=Admin \
  -e XXL_apipass=zabbix \
  monitoringartist/zabbix-templates \
  import github.com/monitoringartist/zabbix-docker-monitoring

Однако, для мониторинга этого хоста нужно запустить соответствующий контейнер с zabbix агентом.

После настройки вы получите автоматически обнаруженные docker контейнеры и использовать триггеры для мониторинга, смотреть графики загрузки.

dockerzabbix

При помощи этого контейнера:

https://github.com/bhuisgen/docker-zabbix-coreos

Код для запуска контейнера

docker run -d -p 10050:10050 -u 0 -c 1024 -m 64M --memory-swap=-1 \
    -v /proc:/coreos/proc:ro -v /sys:/coreos/sys:ro -v /dev:/coreos/dev:ro \
    -v /var/run/docker.sock:/coreos/var/run/docker.sock \
    --name zabbix-coreos bhuisgen/docker-zabbix-coreos my-zabbix-server.com my-cluster-code

Где my-zabbix-server.com это ваш zabbix-server

а my-cluster-code ваш код meta для автообнаружения.

После настройки автообнаружения у вас появится хост в нужном месте.