天天看點

Zabbix 的 Docker 映像

在Docker中使用 zabbix 進行監控Container

容器提供了以下* Zabbix服務*,請參閱[ Zabbix檔案](

http://www.zabbix.com/ )附加資訊。

  • Zabbix Server 端口号10051.
  • Zabbix Java Gateway 端口号 10052.
  • Zabbix Web UI 端口号 80 (例子 http://$container_ip/zabbix )
  • Zabbix Agent.
  • MySQL執行個體支援 Zabbix, 使用者名密碼都是 zabbix.
  • Monit管理在這裡 (http://$container_ip:2812, user 'myuser' and password 'mypassword').

如何使用

你可以執行以下指令運作Zabbix服務.

docker run -d -P --name zabbix  berngp/docker-zabbix

上面的指令要求在*docker*跑*berngp/docker-zabbix*鏡像的時候開放所有** Zabbix **指定所有本地端口去運作執行個體。 運作 docker ps -f name=zabbix 檢查端口映射到容器的'80'端口, Zabbix Web UI.

打開 http://<docker執行個體的ip位址>:<docker指定的端口預設是80>/zabbix

一個将端口80映射到49184端口的例子。

$ docker ps -f name=zabbixCONTAINER ID        IMAGE                         COMMAND                CREATED             STATUS              PORTS                                                                                                

NAMES970eb1571545        berngp/docker-zabbix:latest   "/bin/bash /start.sh   18 hours ago        Up 2 hours         

0.0.0.0:49181->10051/tcp, 0.0.0.0:49182->10052/tcp, 0.0.0.0:49183->2812/tcp, 0.0.0.0:49184->80/tcp   zabbix

如果你想在Docker主機綁定容器特定的端口,你可以執行以下指令:

docker run -d \           -p 10051:10051 \           -p 10052:10052 \           -p 80:80       \           -p 2812:2812   \           --name zabbix  \           berngp/docker-zabbix

上面的指令會* Zabbix服務*通過* 10051 端口啟動,而Web界面則通過 80 *端口運作名字是Zabbix的執行個體。 要有耐心的花一兩分鐘配置MySQL執行個體啟動服務。你可以使用docker logs -f $contaienr_id記錄日志。

以上都做完了*Zabbix Web UI* 就已經運作了 你可以通過http://$container_ip/zabbix通路. 使用者名是 admin密碼是 zabbix.

Apparmor 細節 (僅僅在Debian和Ubuntu)

如果你想容器使用Monit控制和監視各個程序, 你需要配置Docker的預設Apparmor配置檔案. 目前,唯一的辦法就是添加trace能力和運作的容器通過AppArmor,使用下面的辨別RUN command:

--cap-add SYS_PTRACE  --security-opt apparmor:unconfined

如果添加*vast*号日志資訊寫入你得你的系統日志,并每10秒跟蹤一次程序!

挖掘Docker Zabbix 容器

如果你想檢視部署運作容器的内容, 你可以通過如下指令 bash shell through docker's exec . 執行以下指令.

docker exec -i -t zabbix /bin/bash問題和錯誤.

你可以随時提出任何問題 here.

開發者

樂維建議你通過發行版建立Docker, 

如果你使用的是 Mac OSX 樂維建議你利用 boot2docker, 你也可以使用*Vagrantfile* 建立一個_Docker_環境.

用Vagrantfile檔案設定你得Docker環境

運作其中包含的 Vagrantfile 檔案你需要安裝VirtualBox 和 Vagrant . 實際中我使用了_VirtualBox_ 4.3.6 和_Vagrant_ 1.4.1.使用_Vagrantfile_ 建構一個最小化的_Ubuntu 64_ 作業系統_VirtualBox Guest Additions_ along with Docker and its dependencies. 第一次你需要執行vagrant up 完成安裝和建構, 然後你執行vagrant reload去完成vagrant的重新開機.在完成這一切以後你隻需要執行 vagrant ssh去ssh連接配接你得機器并且用which docker指令找到 Docker 所在位置

Be aware that the Vagrantfile depends on the version of VirtualBox and may run into problems if you don't have the latest versions.

建立Docker Zabbix 倉庫.

Within an environment that is already running docker, checkout the docker-zabbix code to a known directory. If you are using the Vagrantfile, as mentioned above, it will be available by default in the/docker/docker-zabbix directory. From there you can execute a build and run the container.

e.g.

# 進入容器建構代碼目錄.cd /docker/docker-zabbix# 建構容器.docker build -t berngp/docker-zabbix .#啟動他!docker run -i -t -P --name=zabbix berngp/docker-zabbix資源來自:

  • CosmicQ
  • JensErat
  • mvanholsteijn
  • Nekroze

轉自

Zabbix 的 Docker 映像

(出處: 樂維)