# docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-d mysql:5.7
启动Zabbix Java gateway实例
# docker run --name zabbix-java-gateway -t \
-d zabbix/zabbix-java-gateway:latest
启动Zabbix server实例,并关联这个实例到已创建的MySQL服务器实例
# docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--link mysql-server:mysql \
--link zabbix-java-gateway:zabbix-java-gateway \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest
启动Zabbix web 接口,并将它与MySQL服务器实例和Zabbix server实例关联
# docker run --name zabbix-web-nginx-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:80 \
-d zabbix/zabbix-web-nginx-mysql:latest
此时出现问题。通过docker ps命令,发现Zabbix server启动后秒退,运行出错。
通过docker logs + 容器 命令,查找错误。
发现错误代码是 6:20200922:085232.571 cannot use database "zabbix": its "users" table is empty (is this the Zabbix proxy database?)
往上调查发现是: “ERROR 1366 (HY000) at line 6586: Incorrect string value: '\xD0\xBEf bl...' for column 'description' at row 1。
经过排查,
在此
找到了解答。(不得不说解决技术问题还是得看谷鸽)。
查看默认的数据类型:
(查看数据类型的步骤见:
链接
)
经过命令:
docker run --name mysql-server -t -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix_pwd" -e MYSQL_ROOT_PASSWORD="root_pwd" -d mysql:5.7 --character-set-server=utf8 --collation-server=utf8_unicode_ci
将数据库初始化为utf-8格式,此时数据库格式:
重新运行一遍官网教程,可以看到此时docker容器可以正常启动了。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b912a3732a61 zabbix/zabbix-web-nginx-mysql "docker-entrypoint.sh" 15 hours ago Up 15 hours 8080/tcp, 0.0.0.0:80->80/tcp, 8443/tcp zabbix-web-nginx-mysql
6e9fee3e73ae zabbix/zabbix-server-mysql "/sbin/tini -- /usr/…" 16 hours ago Up 16 hours 0.0.0.0:10051->10051/tcp zabbix-server-mysql
1157bdbf64ec zabbix/zabbix-java-gateway "docker-entrypoint.s…" 16 hours ago Up 16 hours 10052/tcp zabbix-java-gateway
7828adc506a7 mysql:5.7 "docker-entrypoint.s…" 16 hours ago Up 16 hours 3306/tcp, 33060/tcp
参考链接:
修改到UTF-8mb4(会报错,去掉mb4即可)
zabbix论坛
,找到是utf8问题
docker安装zabbix
中文
centos版本教程
1、run方式启动
docker
run --rm --network
zabbix
--name
zabbix
_agent--link
zabbix
_server:
zabbix
-server -e ZBX_HOSTNAME=mythird -e ZBX_SERVER_PORT=10051 -e ZBX_SERVER_HOST=172.22.0.3 -p 3998:10050 -d
zabbix
/
zabbix
-agent:alpine-3.0-latest
今天测试了一天的
Zabbix
-
Docker
,部署起来确实方便,就需要在
安装
了
Docker
的linux系统中输入以下命令就可以了。
1.
安装
mysql
数据库
, 启动一个空的MySQL服务器实例
docker
run –name
zabbix
-DB -t \
-e MYSQL_DATABASE=”
zabbix
” \
-e MYSQL_USER=”
zabbix
” \
-e MYSQL_PASSWORD=”
zabbix
_pwd” \
-e MYSQL_ROOT_PASSWORD=”root_pwd” \
-d mysql:5.7
2. 启动Za
官方文档地址:https://www.
zabbix
.com/documentation/current/manual/appendix/install/db_scripts
运行 cat /etc/redhat-release, 查看centos内核版本
CentOS Linux release 7.7.1908 (Core)
运行 yum install
zabbix
-server-mysql
zabbix
-web-mysql
zabbix
-apache-conf
zabbix
-agent 报错,错误如
zabbix
/
zabbix
-server-mysql 主要用来处理收集到的数据如何存储,报警等相关配置。
zabbix
/
zabbix
-web-nginx-mysql zxbbix前台
zabbix
/
zabbix
-java-gateway 主要用来代理
zabbix
-server的身份,从
zabbix
-agent处收集数据,并统一汇总给
zabbix
-server
zabbix
/
zabbix
-agent 主要
安装
在服务器上进行收
#
zabbix
3.x一键
安装
脚本 单机
# 环境 centos 7.4.1708 x86_64
# read -p "Enter db_ip (172.16.%.%)> " dbip #输入
数据库
访问授权ip范围
read -p "Enter db_root_password > " dbrootpw #输入
数据库
密码
# read -p "Enter
zabbix
_dbuser > " dbuser #输入
zabbix
数据库
名
read -p
zabbix
6.0
docker
-compose 部署
zabbix
6.0 已是新LTS版本。根据
zabbix
-
docker
上的trunk版本来搭建
zabbix
6.0。
根据踩坑,
记录
docker
-compose 执行后遇到的一些
问题
。
主机
安装
好
docker
、
docker
-compose。
文件包含:env_vars ,
docker
-compose.yml。
密码6387
下载完成后解压到同一目录, 并执行
docker
-compose up -d
这时候可以看到各服务拉取镜像并启动。
在部署完以后,最后给
zabbix
数据库
赋予用户权限时提示报错,web端在输入
数据库
信息连接
数据库
时提示:Unabletoselectconfiguration
查阅资料后找到如下解决办法
1. 查阅selinux何firewall是否关闭
getenforce#检测selinux是否关闭,Disabled 为关闭
firewall-cmd--state#查看默认防火墙状态,关闭后显示not running,开启后显示running
2.查看
数据库
中表和用户...