我们直接利用docker环境安装compose功能。
compose的安装很方式有多种,下面我们使用二进制方式进行安装。
下载地址为https://github.com/docker/compose/releases
- 具体命令为:
curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
复制代码
输入docker-compose
可以显示帮助信息表示安装成功。
下面我们就可以通过编写docker-compose.yml
文件来部署服务了。
- 首先创建一个yml文件的存放位置,在创建一个yml文件
mkdir -p /data2/zabbix
cd /data2/zabbix/
vim docker-compose.yml
复制代码
注意:yml文件的名称是固定的。
复制代码
- yml文件内容:可以直接复制使用,也可简单修改在使用
version: '3'
services:
zabbix-web-nginx-mysql:
image: zabbix/zabbix-web-nginx-mysql:centos-5.2-latest
restart: always
environment:
- DB_SERVER_HOST=zabbix-mysql
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_ROOT_PASSWORD=123qwe
- ZBX_SERVER_HOST=zabbix-server-mysql
ports:
- 8080:8080
volumes:
- /etc/localtime:/etc/localtime
- /data2/zabbix/fonts/DejaVuSans.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf
networks:
- zbx_net
depends_on:
- zabbix-server-mysql
- zabbix-mysql
zabbix-mysql:
image: mysql:8.0.23
restart: always
ports:
- 3306:3306
environment:
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_ROOT_PASSWORD=123qwe
command:
- mysqld
- --default-authentication-plugin=mysql_native_password
- --character-set-server=utf8
- --collation-server=utf8_bin
volumes:
- /etc/localtime:/etc/localtime
- /data2/zabbix/db:/var/lib/mysql
networks:
- zbx_net
zabbix-java-gateway:
image: zabbix/zabbix-java-gateway:centos-5.2-latest
restart: always
volumes:
- /etc/localtime:/etc/localtime
networks:
- zbx_net
zabbix-server-mysql:
image: zabbix/zabbix-server-mysql:centos-5.2-latest
restart: always
volumes:
- zabbix-server-vol:/etc/zabbix
- /data2/zabbix/alertscripts:/usr/lib/zabbix/alertscripts
- /etc/localtime:/etc/localtime
ports:
- 10051:10051
environment:
- DB_SERVER_HOST=zabbix-mysql
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_ROOT_PASSWORD=123qwe
- ZBX_JAVAGATEWAY=zabbix-java-gateway
- ZBX_JAVAGATEWAY_ENABLE=true
- ZBX_JAVAGATEWAYPORT=10052
depends_on:
- zabbix-mysql
networks:
- zbx_net
zabbix-agent:
image: zabbix/zabbix-agent:centos-5.2-latest
restart: always
ports:
- 10050:10050
environment:
- ZBX_HOSTNAME=Zabbix server
- ZBX_SERVER_HOST=zabbix-server-mysql
- ZBX_SERVER_PORT=10051
networks:
- zbx_net
networks:
zbx_net:
driver: bridge
volumes:
zabbix-server-vol:
复制代码
- 创建完yml文件,我们还需要把文件中用到的目录创建出来
mkdir alertscripts db fonts
复制代码
- 进入到
fonts
目录,下载中文语言包文件
cd fonts
wget https://dl.cactifans.com/zabbix_docker/msty.ttf
mv msty.ttf DejaVuSans.ttf
复制代码
- 当准备工作都完成了,接下来我们就运行这个文件,看看是否能一键安装zabbix监控平台
- 运行docker-compose.yml文件的方式:(在yml文件所在目录运行)
docker-compose up -d
复制代码
- 结果如下:
Creating network "zabbix_zbx_net" with driver "bridge"
Creating volume "zabbix_zabbix-server-vol" with default driver
Pulling zabbix-web-nginx-mysql (zabbix/zabbix-web-nginx-mysql:centos-5.2-latest)...
centos-5.2-latest: Pulling from zabbix/zabbix-web-nginx-mysql
Digest: sha256:9a84a6b86dd748d3f3843efd1f744d1f3e3fc9bd39105470239aae6a81cd51f5
Status: Downloaded newer image for zabbix/zabbix-web-nginx-mysql:centos-5.2-latest
Creating zabbix_zabbix-mysql_1 ... done
Creating zabbix_zabbix-agent_1 ... done
Creating zabbix_zabbix-java-gateway_1 ... done
Creating zabbix_zabbix-server-mysql_1 ... done
Creating zabbix_zabbix-web-nginx-mysql_1 ... done
复制代码
- 查看容器启动状态命令:
docker-compose ps
复制代码
- 查看容器启动日志:
docker-compose logs
复制代码
- 查看容器启动的进程:
docker-compose top
复制代码
- 容器停止、启动、删除、构建命令:
docker-compose stop
docker-compose start
docker-compose down
docker-compose up -d
注:-d参数为后台运行
复制代码
接下来可以通过浏览器访问登录页面,默认账号密码:Admin、zabbix
我们要修改一下配置,将ip更换为容器名称,不然会检测不到
稍微等待一会,会发现监控成功
文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/7697