如何使用docker-compose安装zabbix

相信不少的读者朋友,应该都有过zabbix搭建的经验。

为什么要使用docker-compose的方式安装zabbix

docker相信有很多的读者朋友都有使用过,其中也应该使用过docker-compose,首先Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。

如此的话,就可以很迅速地在一台新设备上面,快速进行zabbix的安装,后续如果进行迁移的话,只需要进行数据库的迁移即可。

安装docker

#卸载旧版本的dockersudo yum remove docker                   docker-client                   docker-client-latest                   docker-common                   docker-latest                   docker-latest-logrotate                   docker-logrotate                   docker-selinux                   docker-engine-selinux                   docker-engine#安装软件sudo yum install -y yum-utils   device-mapper-persistent-data   lvm2#安装源 sudo yum-config-manager     --add-repo     https://download.docker.com/linux/centos/docker-ce.reposudo yum-config-manager --enable docker-ce-edgesudo yum-config-manager --enable docker-ce-test#安装docker-cesudo yum install docker-ce#查看安装版本docker version#启动dockersystemctl start docker#查看docker程序是否运行正常docker info

安装docker-compose

#下载docker-compass工具,也可以直接下载github的连接的文件然后赋予权限。sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose上面这个是旧的版本,下面的是新的版本页面https://github.com/docker/compose/releases下载完之后进行文件的改名#查看docker-compass的工具的版本cp release /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose

自定义一个docker 络

 docker network create --subnet 172.88.88.0/24 devops

使用下面的yaml文件进行打开

[root@docker_zabbix-server zabbix]# cat zabbix.ymlversion: "3"services:  mysql-server:    image: mysql:5.7    hostname: mysql-server    container_name: mysql-server    expose:      - 3306    command: --character-set-server=utf8    restart: always    environment:      - MYSQL_DATABASE=zabbix      - MYSQL_USER=zabbix      - MYSQL_PASSWORD=zbxpasswd      - MYSQL_ROOT_PASSWORD=zbxpasswd    volumes:      - /etc/localtime:/etc/localtime -t      - /home/docker/data/mysql:/var/lib/mysql    networks:      default:        ipv4_address: 172.88.88.9  zabbix-java-gateway:    image: zabbix/zabbix-java-gateway:latest    container_name: zabbix-java-gateway    restart: always    volumes:      - /etc/localtime:/etc/localtime -t    networks:      default:        ipv4_address: 172.88.88.10  zabbix-server-mysql:    image: zabbix/zabbix-server-mysql:latest    container_name: zabbix-server-mysql    restart: always    volumes:      - /etc/localtime:/etc/localtime -t      - /home/docker/data/zabbix:/usr/lib/zabbix      - /home/zabbix/alertscripts:/usr/lib/zabbix/alertscripts      - /home/zabbix/externalscripts:/usr/lib/zabbix/externalscripts    environment:      - DB_SERVER_HOST=mysql-server      - MYSQL_DATABASE=zabbix      - MYSQL_USER=zabbix      - MYSQL_PASSWORD=zbxpasswd      - MYSQL_ROOT_PASSWORD=zbxpasswd      - ZBX_JAVAGATEWAY=zabbix-java-gateway    depends_on:      - mysql-server      - zabbix-java-gateway    networks:      default:        ipv4_address: 172.88.88.11  zabbix-web-nginx-mysql:    image: zabbix/zabbix-web-nginx-mysql:latest    container_name: zabbix-web-nginx-mysql    restart: always    volumes:      - /etc/localtime:/etc/localtime -t    environment:      - PHP_TZ="Asia/Shanghai"      - DB_SERVER_HOST=mysql-server      - MYSQL_DATABASE=zabbix      - MYSQL_USER=zabbix      - MYSQL_PASSWORD=zbxpasswd      - MYSQL_ROOT_PASSWORD=zbxpasswd    expose:      - 8080      - 8443    depends_on:     - mysql-server     - zabbix-java-gateway    networks:      default:        ipv4_address: 172.88.88.12  zabbix-agent:    image: zabbix/zabbix-agent:latest    environment:      - ZBX_HOSTNAME=zabbix-agent      - ZBX_SERVER_HOST=172.88.88.11      - ZBX_SERVER_PORT=10051    volumes:      - /opt/zabbix/zabbix_agentd.d/:/etc/zabbix/zabbix_agentd.d/      - /opt/zabbix/scripts/:/etc/zabbix/scripts/    expose:      - 10050    networks:      default:        ipv4_address: 172.88.88.13networks:  default:    external:       name: devops

设置一个haproxy反向代理

设置反向代理的作用是,可以进行白名单的设置,不至于直接对外进行访问端口的暴露

listen 9999bind 公 地址:9999mode httpserver zabbix 172.88.88.12:8080 使用以下的方式进行访问即可http://公 地址:9999

本篇简单的分享了一个使用容器进行zabbix快速搭建的案例,感兴趣的朋友们可以按照以上的步骤进行尝试,小堂在centos7系列的环境中搭建过多次,都是成功的。

以上都是小堂在实际过程中用到的一些解决方案,只有适合业务本身的方案才是好方案。许多时候并不一定追寻最新的前沿技术,只有在充分了解自身业务的本质需求的前提下,才能挑选出最适合的解决方案,其次在稳定性的基础下适当向功能性方面拓展。另外本系列也会后续跟读者朋友分享其他的常见的容器应用的搭建,敬请关注。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月15日
下一篇 2022年3月15日

相关推荐