docker部署zabbix

Star英

关注

阅读 218

2022-10-09

docker 安装 安装所需的软件包 yum install -y yum-utils device-mapper-persistent-data lvm2 配置阿里源 yum-config-manager \ --add-repo \ ​​http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo​​

更新仓库yum缓存 yum clean all && yum makecache

yum install docker-ce docker-ce-cli ​​containerd.io​​ systemctl start docker && systemctl enable docker

该示例示范了如何运行 MySQL 数据库支持的 Zabbix Server 、基于 Nginx Web 服务器的 Zabbix Web 界面和 Zabbix Java 网关。

  1. 创建专用于 Zabbix 组件容器的网络: docker network create -d bridge zabbix_net

创建后,可以查看是否创建成功。 docker network ls


  1. 启动空的 MySQL 服务器实例: 将配置文件挂载出来 cat /data/mysql/conf/my.cnf [mysqld] user=mysql character-set-server=utf8 default_authentication_plugin=mysql_native_password secure_file_priv=/var/lib/mysql expire_logs_days=7 innodb_flush_log_at_trx_commit=0 //增大导入数据速度 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION max_connections=1000

[client] default-character-set=utf8

[mysql] default-character-set=utf8

启动MySQL

docker run --privileged=true \ --restart always \ --name zabbix-mysql \ --network zabbix_net \ -v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf \ -v /data/mysql/log:/var/log \ -v /data/mysql/data:/var/lib/mysql \ -v /data/mysql/conf.d:/etc/mysql/conf.d \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix123" \ -e MYSQL_ROOT_PASSWORD="root123" \ -d mysql:5.7 #--character-set-server=utf8 \ #--collation-server=utf8_bin

MYSQL_DATABASE="zabbix" 在msql中创建的数据库的名 MYSQL_USER="zabbix" 创建msql的登录账户名 MYSQL_PASSWORD="zabbix123" 设置创建msql的登录账户的密码 MYSQL_ROOT_PASSWORD="root123" 设置msql数据库root 的密码

  1. 启动 Zabbix Java 网关实例:

docker run --restart always \ --name zabbix-java-gateway -t \ --network=zabbix_net \ --restart unless-stopped \ -d zabbix/zabbix-java-gateway:alpine-5.4-latest

  1. 启动 Zabbix server 实例,并将其关联到已创建的 MySQL server 实例: Zabbix server 实例将 10051/TCP 端口(Zabbix trapper)暴露给主机。

首先创建数据卷zabbix-server-vol,通过命令 docker volume create zabbix-server

docker run -p 10051:10051 \ --restart always \ --restart unless-stopped \ --name zabbix-server-mysql -t \ --mount source=zabbix-server,target=/etc/zabbix \ -v /etc/localtime:/etc/localtime \ -v /data/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \ -e DB_SERVER_HOST="zabbix-mysql" \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix123" \ -e MYSQL_ROOT_PASSWORD="root123" \ -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \ --network=zabbix_net \ -d zabbix/zabbix-server-mysql:alpine-5.4-latest

  1. 启动 Zabbix Web 界面,并将其关联到已创建的 MySQL server 和 Zabbix server 实例: Zabbix web 界面实例将 80/TCP 端口(HTTP)暴露给主机。

docker run --name zabbix-web-nginx-mysql -t \ -e ZBX_SERVER_HOST="zabbix-server-mysql" \ -e DB_SERVER_HOST="zabbix-mysql" \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix123" \ -e MYSQL_ROOT_PASSWORD="root123" \ --network=zabbix_net \ -p 80:8080 \ --restart unless-stopped \ -d zabbix/zabbix-web-nginx-mysql:alpine-5.4-latest

  1. 在浏览器中输入http://IP/zabbix,打开zabbix首页,其中用户名密码分别是admin/zabbix。

精彩评论(0)

0 0 举报