docker安装zabbix,登陆server时报错the server does not match zabbix database解决方案

除了zabbix_agentd是本地安装之外,MySQL、Zabbix Java Gateway、Zabbix server、zabbix-web-nginx-mysql 使用docker镜像安装。具体安装的指令不说了,都能百度到,使用的系统是ubuntu16.04。

四个相关容器,忽略第一个

zabbix-web-nginx-mysql的端口是8081,服务器ip:8081应该能到server登陆界面,然而报错“the server does not match zabbix database”

在这里插入图片描述
搜了一下,感觉这个答案比较靠谱:
https://stackoverflow.com/questions/36911324/zabbix-error-the-frontend-does-not-match-zabbix-database,特别是这几句话:In this particular case, if you are installing for the first time, then you probably have not imported schema.sql, images.sql, and data.sql files yet. In that case, please consult “Installation from sources” and “Database creation scripts” sections in the online Zabbix documentation.还没有导入sql文件。然而问题来了,可能是版本的问题,zabbix-server-mysql容器内并没有这几个文件。在进入zabbix-server-mysql容器内苦苦搜索之后,终于在/usr/share/doc/zabbix-server-mysql文件夹下找到了类似作用的文件create.sql.gz,在使用指令zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -pzabbix zabbix即可导入数据库。这里又碰到一个小问题,因为zabbix-server-mysql和mysql均为容器,直接操作会报错ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/run/mysqld/mysqld.sock’ (2 “No such file or directory”)。这个问题我选择跳过去,方法就是先从容器zabbix-server-mysql把create.sql.gz导出到主机,再从主机导入到mysql容器,再执行zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -pzabbix zabbix,然后重启相关容器就可以了。

可以使用Docker安装Zabbix Proxy和Zabbix Server。以下是基本步骤: 1. 安装DockerDocker Compose,如果您的系统上没有安装这两个软件,请先安装。 2. 创建docker-compose.yml文件,文件内容如下: ``` version: '3' services: zabbix-db: image: postgres:latest restart: always environment: POSTGRES_PASSWORD: zabbix POSTGRES_USER: zabbix POSTGRES_DB: zabbix volumes: - /path/to/postgres/data:/var/lib/postgresql/data zabbix-server: image: zabbix/zabbix-server-pgsql:latest restart: always environment: DB_SERVER_HOST: zabbix-db POSTGRES_USER: zabbix POSTGRES_PASSWORD: zabbix POSTGRES_DB: zabbix ports: - 10051:10051 zabbix-web: image: zabbix/zabbix-web-nginx-pgsql:latest restart: always environment: DB_SERVER_HOST: zabbix-db POSTGRES_USER: zabbix POSTGRES_PASSWORD: zabbix POSTGRES_DB: zabbix ZBX_SERVER_HOST: zabbix-server ports: - 8080:80 zabbix-proxy: image: zabbix/zabbix-proxy-sqlite3:latest restart: always environment: ZBX_SERVER_HOST: zabbix-server ZBX_SERVER_PORT: 10051 ZBX_PROXYMODE: 0 volumes: - /path/to/zabbix-proxy/data:/var/lib/zabbix ``` 3. 修改docker-compose.yml文件中的环境变量,确保数据库和Zabbix Server的用户名、密码和数据库名称正确。 4. 修改docker-compose.yml文件中的数据卷路径,确保路径正确。 5. 运行以下命令启动所有服务: ``` docker-compose up -d ``` 6. 等待一段间,直到所有服务都启动成功。可以使用以下命令检查服务状态: ``` docker-compose ps ``` 如果所有服务的状态都是“Up”,则说明服务启动成功。 7. 现在可以访问Zabbix Web界面,输入`http://localhost:8080`即可。默认用户名为“Admin”,密码为“zabbix”。 8. 如果需要对Zabbix Proxy进行配置,请使用以下命令进入容器: ``` docker exec -it 容器名称 /bin/bash ``` 然后进入`/usr/local/etc/zabbix_proxy.conf`文件进行配置。配置完成后,重启zabbix-proxy容器即可生效。 注意:以上命令中的“/path/to/postgres/data”和“/path/to/zabbix-proxy/data”需要替换为实际的数据卷路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值