zabbix容器化安裝

部署zabbix組件

zabbix支持mysql/postgresql兩種數(shù)據(jù)庫,本示例使用支持mysql的zabbix版本。

1. 安裝數(shù)據(jù)庫

下載鏡像,zabbix 6.x版本要求使用mysql 8.0。

$ docker pull mysql:8.0

創(chuàng)建存儲卷,用于持久化mysql數(shù)據(jù)。

$ docker volume create -d local  mysql_data #存放mysql數(shù)據(jù)
$ docker volume create -d local  mysql_logs #存放mysql日志
$ docker volume create -d local  mysql_conf #存放mysql配置文件 

注釋:存儲卷默認存儲位置路徑為:/var/lib/docker/volume/${volume_name}。關(guān)于存儲卷的知識,不清楚的朋友可查看此文《Docker容器實戰(zhàn)十一:數(shù)據(jù)存儲》。

啟動容器

$ docker run --name mysql-server -t \
   -v mysql_data:/var/lib/mysql \
      -v mysql_logs:/var/log/mysql \
      -v mysql_conf:/etc/mysql \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      --restart=unless-stopped \
      -d mysql:8.0 \
      --character-set-server=utf8 --collation-server=utf8_bin \
      --default-authentication-plugin=mysql_native_password

2. 安裝zabbix-java-gateway

下載鏡像

$ docker pull zabbix/zabbix-java-gateway:alpine-6.2-latest

啟動容器

$ docker run --name zabbix-java-gateway -t \
   --restart=unless-stopped \
      -d zabbix/zabbix-java-gateway:alpine-6.2-latest

3. 安裝zabbix-server

下載鏡像

$ docker pull zabbix/zabbix-server-mysql:6.2-alpine-latest

創(chuàng)建存儲卷,用于存儲zabbix配置文件。

$ docker volume create -d local  zabbix_server

啟動server容器,開放10051/TCP端口,用于接收監(jiān)控數(shù)據(jù)。添加--link參數(shù),實現(xiàn)mysql和java-gateway容器間的互相通信。

$ docker run --name zabbix-server-mysql -t \
    -v zabbix_server:/etc/zabbix \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
      --link mysql-server:mysql \
      --link zabbix-java-gateway:zabbix-java-gateway \
      --restart=unless-stopped \
      -p 10051:10051 \
      -d zabbix/zabbix-server-mysql:alpine-6.2-latest

注釋:此方式適合所有容器部署在同一臺主機上,如果是分開部署,則在前面的步驟需要開放相關(guān)端口,并通過局域網(wǎng)進行連接。

4. 安裝Zabbix Web 界面

下載鏡像

$ docker pull zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest

啟動web容器

$ docker run --name zabbix-web-nginx-mysql -t \
   -e PHP_TZ="Asia/Shanghai" \
   -e ZBX_SERVER_HOST="zabbix-server-mysql" \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      --link mysql-server:mysql \
      --link zabbix-server-mysql:zabbix-server \
      -p 80:8080 \
      --restart unless-stopped \
      -d zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest

5. 登錄zabbix

部署完成后,打開瀏覽器訪問主機地址,即可訪問zabbix。

登錄賬號:Admin

密碼:zabbix

登錄后顯示界面,部署完成。

04

安裝agent

zabbix agent部署較為簡單,你可以使用docker,也可以使用Yum、二進制包等方式安裝,此處演示基于docker的安裝方式。

下載鏡像

$ docker pull zabbix/zabbix-agent:alpine-6.2-latest

創(chuàng)建存儲卷,用于存儲agent配置文件。

$ docker volume create -d local  zabbix_agent

啟動agent容器

$ docker run --name zabbix-agent -t \
      -v zabbix_agent:/etc/zabbix \
      -e ZBX_HOSTNAME="host-01" \
      -e ZBX_SERVER_HOST="192.168.214.112" \ 
      -e ZBX_SERVER_PORT=10051 \
      -p 10050:10050 \
      --restart=unless-stopped \
      --privileged \
      -d zabbix/zabbix-agent:alpine-6.2-latest

注釋:如果是部署在zabbix Server主機上的監(jiān)控agent,此時的ZBX_SERVER_HOST需改為zabbix server的容器IP,而不能用主機IP。

05

添加主機

在目標(biāo)主機安裝好agnt后,即可以在zabbix server端配置相關(guān)的主機監(jiān)控。

1. 點擊"Create host”,創(chuàng)建新的主機配置。

2. 配置完成后,靜待一會可看到監(jiān)控目標(biāo)生效。

3. 查看監(jiān)控數(shù)據(jù),可看到已正常獲取。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容