docker 一鍵安裝zabbix server、zabbix agent


基本原理、須知:
1、zabbix 分為zabbix server和zabbix agent,其中zabbix server需要web環境,並且其數據存儲在獨立的數據庫中;
2、docker是一種容器服務,它是基於操作系統的虛擬化,可以減少應用對操作系統環境的依賴,並且它鼓勵使用者單個應用使用獨立的容器
3、各大應用均制作了官方的docker鏡像,保存在docker hub中,地址:hub.docker.com,官方鏡像的使用說明也可以在這個地址找
4、本文我們采用lnmp的web環境,並且完全使用官方的docker鏡像,分別如下:
web環境:zabbix/zabbix-web-nginx-mysql
zabbix server:zabbix/zabbix-server-mysql
zabbix agent:zabbix/zabbix-agent
mysql:mysql

步驟:
1、docker的安裝省略
server docker start
2、安裝mysql
docker pull mysql
docker run --name mysql -e MYSQL_ROOT_PASSWORD=secret -d mysql
docker logs ID查看一下日志有無報錯,沒有的話繼續下一步,這時候ps -ef| grep mysql應該已經啟動
3、安裝web環境
docker pull zabbix-web-nginx-mysql
docker run --name zabbix-web-nginx-mysql --link mysql:mysql -e DB_SERVER_HOST=mysql -e MYSQL_USER=root -e MYSQL_PASSWORD=secret -e ZBX_SERVER_HOST=zabbix-server -e PHP_TZ=Asia/Shanghai -p 80:80 -d zabbix/zabbix-web-nginx-mysql
docker logs ID查看一下日志有無報錯,沒有的話繼續下一步,這時候訪問IP:80應該能打開zabbix的報錯界面,且ps -ef | grep nginx|php-fpm均已啟動
4、安裝zabbix server
docker pull zabbix/zabbix-server-mysql
docker run --name zabbix-server-mysql --link mysql:mysql -e DB_SERVER_HOST=mysql -e MYSQL_USER=root -e MYSQL_PASSWORD=secret -p 10051:10051 -d zabbix/zabbix-server-mysql
docker logs ID查看一下日志有無報錯,沒有的話繼續下一步,這時候訪問IP:80應該能打開zabbix的登錄頁面,賬號密碼分別是Admin:zabbix
5、安裝zabbix agent
docker pull zabbix/zabbix-agent
docker run --name zabbix-agent -e ZBX_HOSTNAME=zabbix-agent -e ZBX_SERVER_HOST=zabbix-server -d zabbix/zabbix-agent
docker logs ID查看一下日志有無報錯,這時候進zabbix server的最近數據里應該有數據(這里的agent是主被動混合模式,zbx的圖標不會變綠,並且server中需要手動enable agent)
如果沒有數據,可能是server和agent用的不是同一個network
6、一鍵部署zabbix server
1)安裝docker compose
curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version
2)配置docker-compose.yml
在任意路徑創建docker-compose.yml,內容如下:

version: '2'
services:
mysql:
image: mysql
container_name: mysql
environment:
- MYSQL_ROOT_PASSWORD=secret
networks:
- zbx-net
web:
image: zabbix/zabbix-web-nginx-mysql
container_name: zabbix-web-nginx-mysql
environment:
- DB_SERVER_HOST=mysql
- MYSQL_USER=root
- MYSQL_PASSWORD=secret
- ZBX_SERVER_HOST=zabbix-server
- PHP_TZ=Asia/Shanghai
ports:
- '80:80'
links:
- mysql
- zabbix-server
depends_on:
- mysql
networks:
- zbx-net
zabbix-server:
image: zabbix/zabbix-server-mysql
container_name: zabbix-server-mysql
environment:
- DB_SERVER_HOST=mysql
- MYSQL_USER=root
- MYSQL_PASSWORD=secret
ports:
- '10051:10051'
links:
- mysql
depends_on:
- mysql
networks:
- zbx-net
networks:
zbx-net:

啟動docker-compose: docker-compose up
啟動zabbix agent:
docker run --name zabbix-agent -e ZBX_HOSTNAME='Zabbix server' -e ZBX_SERVER_HOST=zabbix-server --network root_zbx-net -d zabbix/zabbix-agent

PS: 在實際應用的中還需要增加掛載等


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM