熱門搜索 Zabbix技術資料 Zabbix常見問、答討論 成功案例 Zabbix交流區 Prometheus交流區
zabbix是目前最為主流的開源監控方案之一,部署本身并不困難,難的是深入理解。根據在生產環境的實踐從新版zabbix 4.0 LTS開始全部使用Docker部署,我相信未來越來越多的開源組件都會以容器化的形式呈現在我們面前。下面我就給大家講解一下如何使用Docker快速部署zabbix系統。
Centos7系統
服務器IP:192.168.75.31
2.?安裝docker
yum -y install docker
Docker二進制包下載,也可在windows下載后再上傳至服務器
wget?http://download.docker.com/linux/static/stable/x86_64/docker-20.10.14.tgz
解壓tar -zxf docker-20.10.14.tgz
復制文件
cp –ra docker/* /usr/bin
編寫system文件
vim /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.io
[Service]
OOMScoreAdjust=-1000
ExecStart=/usr/bin/dockerd
ExecStartPost=/sbin/iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT
ExecReload=/bin/kill -s HUP \$MAINPID
Restart=on-failure
RestartSec=5
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
啟動docker
systemctl daemon-reload
systemctl daemon-reload
訪問zabbix官方提高的docker鏡像
http://www.zabbix.com/container_images
這里選擇使用MySQL數據庫的zabbix-server,zabbix-agent以及zabbix界面的三個鏡像,zabbix版本為最新的6.2
zabbix6版本以上的MySQL數據庫需為MySQL 8以上,因此拉取MySQL官方提供的MySQL 8鏡像
拉取四個鏡像命令:(linux上執行)
docker pull mysql:latest
docker pull zabbix/zabbix-server-mysql:latest
docker pull zabbix/zabbix-web-nginx-mysql:latest
docker pull zabbix/zabbix-agent:latest
命令執行完后查看鏡像是否拉取成功
docker images
docker run –name zabbix-mysql -e MYSQL_DATABASE=zabbix -e MYSQL_ROOT_PASSWORD=zabbix -p 3306:3306 -d mysql:latest
參數解釋:
–name zabbix-mysql?定義容器名稱
-e MYSQL_DATABASE=zabbix?初始數據庫名zabbix
-e MYSQL_ROOT_PASSWORD=zabbix 數據庫root用戶的密碼zabbix
-p 3306:3306?將容器3306端口映射到主機3306端口
docker run –name zabbix-server -e MYSQL_DATABASE=zabbix -e DB_SERVER_HOST=192.168.75.31 -e DB_SERVER_PORT=3306 -e MYSQL_USER=root -e MYSQL_PASSWORD=zabbix -p 10051:10051 -d zabbix/zabbix-server-mysql:latest
參數解釋:
–name zabbix- server?定義容器名稱
-e DB_SERVER_HOST=192.168.75.31?數據庫連接地址
-e DB_SERVER_PORT=3306數據庫連接端口
-e MYSQL_DATABASE=zabbix連接的數據庫名zabbix
-e MYSQL_USER=root?數據庫連接用戶 root
-e MYSQL _PASSWORD=zabbix 數據庫連接密碼zabbix
-p 10051:10051 將容器10051端口映射到主機10051端口
-d 后臺運行
zabbix/zabbix-server-mysql:latest?啟動容器的鏡像
docker run –name zabbix-web -e ZBX_SERVER_HOST=192.168.75.31 -e ZBX_SERVER_PORT=10051 -e DB_SERVER_HOST=192.168.75.31 -e DB_SERVER_PORT=3306 -e MYSQL_DATABASE=zabbix -e MYSQL_USER=root -e MYSQL_PASSWORD=zabbix -p 8080:8080 -p 8443:8443 -d zabbix/zabbix-web-nginx-mysql:latest
參數解釋:
–name zabbix- web定義容器名稱
-e ZBX_SERVER_HOST=192.168.75.31?web連接server的地址
-e ZBX_SERVER_PORT=10051?web連接server的端口
-e DB_SERVER_HOST=192.168.75.31?數據庫連接地址
-e DB_SERVER_PORT=3306?連接的數據庫端口
-e MYSQL_DATABASE=zabbix?連接的數據庫名zabbix
-e MYSQL_USER=root數據庫連接用戶
-e MYSQL _PASSWORD=zabbix數據庫連接密碼zabbix
-p 8080:8080 將容器8080端口映射到主機8080端口
-d 后臺運行
zabbix/zabbix-web-nginx-mysql:latest?啟動容器的鏡像
全部啟動后等待2-3分鐘,待數據庫初始化完成。
然后訪問web界面
IP:8080
初始登錄信息
賬戶:Admin
密碼:zabbix
登錄后的界面
修改成中文顯示
啟動agent
docker run –name zabbix-agent –link zabbix-server -e ZBX_HOSTNAME=192.168.75.31 -e ZBX_SERVER_HOST=172.17.0.1 -e ZBX_SERVER_PORT=10051 -p 10050:10050 –privileged -d zabbix/zabbix-agent:latest
參數解釋:
–name zabbix-agent?定義容器名稱
–link zabbix-server??連接到zabbix-server容器
-e ZBX_HOSTNAME=192.168.75.31?zabbix-server主機名
-e ZBX_SERVER_HOST=172.17.0.1 zabbix-server連接地址,這里固定這個IP
-p 10050:10050 將容器10050端口映射到主機10050端口
-d 后臺運行
PS:這里ZBX_SERVER_HOST無須修改IP
然后到UI界面將默認的zabbix監控修改一下agent的IP信息
即可完成agent監控的添加
在監測>最新數據可看到監控正常獲取數據
至此,整個zabbix系統的搭建到此結束。
如需zabbix監控其他的服務器,可在服務器安裝部署一個agent,然后在配置>主機添加對應的監控對象即可完成監控。
后面將會出一篇將agent打包成通用二進制部署包的文章,以方便如何快速進行agent客戶端的安裝。
感謝大家的支持。
更多zabbix相關技術分享,可以關注尊龍時凱社區:http://forum.ydcanyin.com/
尊龍時凱基于zabbix實現,支持二次開發,采用分布式部署,集中告警,一覽視圖、網絡拓撲、業務地圖、投屏視圖、圖形視圖各類視圖等。
View details尊龍時凱監控實現對城建學院復雜網絡環境的直觀、透明式展示和管理,實時、準確了解整個網絡的動態運行情況,給信息部門的決策提供依據。
View details高校運維解決方案以基礎架構監控平臺為依托,結合可視化大屏、集中告警、報表系統、權限管理、業務系統管理等模塊,實現對IT基礎架構和教學系統等統一集中監...
View details