使用docker搭建zabbix环境
一、下载mysql,这里下载mysql:5.7,docker image pull mysql:5.7二、下载zabbix-server镜像,zabbix-server镜像有两种,一种是支持PostgreSQL,一种是支持mysql的。这里安装的是基于mysql的。使用如下命令看一下zabbix-server官方的镜像。docker search zabbix-ser...
一、下载mysql,这里下载mysql:5.7,
docker image pull mysql:5.7
二、下载zabbix-server镜像,zabbix-server镜像有两种,一种是支持PostgreSQL,一种是支持mysql的。这里安装的是基于mysql的。
使用如下命令看一下zabbix-server官方的镜像。
docker search zabbix-server
我们选择第一个,zabbix-server-mysql。
使用如下命令将镜像pull下来,
docker image pull zabbix/zabbix-server-mysql
三、接下来下载 zabbix web镜像。
使用如下命令查看一下zabbix web都有哪些镜像,
docker search zabbix-web
看到有nginx的,也有基于apache的,这里选择基于nginx的。
下载镜像,
docker image pull zabbix/zabbix-web-nginx-mysql
四、下载 zabbix-java-gateway 镜像。zabbix本身不支持直接监控java,但可以使用 zabbix-java-gateway 监控 jvm/tomcat 的性能。
先查找一下,
docker search zabbix-java
下载第一个镜像,
docker image pull zabbix/zabbix-java-gateway
五、创建docker网络,将zabbix-server,mysql,web等容器都加入到这个网络中,方便互相通信。
使用如下命令创建,
docker network create -d bridge zabbix-test-net
六、将镜像分别放入容器运行起来,
1、使用mysql镜像创建mysql容器,并运行,
docker container run -idt -p 1111:3306 --name zabbix-mysql --network zabbix_test_net --restart always -v /etc/localtime:/etc/localtime -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="123456a" mysql:5.7
参数解释,
-p 1111:3306,将容器的3306端口映射到宿主机的1111端口,
--network zabbix_test_net ,是将容器加入到zabbix_test_net 这个网络中,
-v /etc/localtime:/etc/localtime ,是将容器中的/etc/localtime文件,挂载到宿主机的/etc/localtime上。作用是为了同步时区信息。
--restart always,设置自动启动。
-e MYSQL_DATABASE="zabbix" ,创建环境变量
2、使用zabbix-java-gateway 镜像,创建 zabbix-java-gateway 容器。
docker container run -v /etc/localtime:/etc/localtime -idt --restart=always --name=zabbix-java-gateway --network zabbix_test_net zabbix/zabbix-java-gateway
3、使用 zabbix-server-mysql 镜像,创建 zabbix-server-mysql 容器。
首先创建挂载数据的数据卷,
docker volume create zabbix-server-volume
然后创建并运行zabbix-server-mysql 容器,
docker run -idt -p 2222:10051 -v zabbix-server-volume:/etc/zabbix -v /etc/localtime:/etc/localtime -v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts --name=zabbix-server-mysql --restart=always --network=zabbix_test_net -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="123456a" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" zabbix/zabbix-server-mysql
4、使用 zabbix-web-nginx 镜像,创建 zabbix-web-nginx 容器。
使用如下命令,
docker container run -idt -p 3333:80 -v /etc/localtime:/etc/localtime --name zabbix-web-nginx-mysql --restart=always --network=zabbix_test_net -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="123456a" -e ZBX_SERVER_HOST="zabbix-server-mysql" zabbix/zabbix-web-nginx-mysql
至此,zabbix所需的容器已经全部启动,可以通过 docker ps 查看容器状态,如下,
5、浏览器输入 http://ip:port/zabbix,
默认用户名密码是 admin/zabbix,
更多推荐
所有评论(0)