欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

centos7搭建zabbix5.0

程序员文章站 2022-06-08 14:26:05
...

官方文档地址: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 报错,错误如下:

Error: Package: zabbix-web-5.0.0-1.el8.noarch (zabbix)
           Requires: php-bcmath >= 7.2
           Available: php-bcmath-5.4.16-48.el7.x86_64 (base)
               php-bcmath = 5.4.16-48.el7
Error: Package: zabbix-web-5.0.0-1.el8.noarch (zabbix)
           Requires: php-mbstring >= 7.2
           Available: php-mbstring-5.4.16-48.el7.x86_64 (base)
               php-mbstring = 5.4.16-48.el7
Error: Package: zabbix-server-mysql-5.0.0-1.el8.x86_64 (zabbix)
           Requires: libnetsnmp.so.35()(64bit)
...
...           
Error: Package: zabbix-web-5.0.0-1.el8.noarch (zabbix)
           Requires: php-fpm >= 7.2
           Available: php-fpm-5.4.16-48.el7.x86_64 (base)
               php-fpm = 5.4.16-48.el7
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

提示缺少依赖,解决办法:换成docker部署了,依赖太多了懒得一个一个补了。

zabbix官方提供了zabbix镜像:https://www.zabbix.com/cn/container_images

安装zabbix-java-gateway:

docker run --name zabbix-java-gateway -t --restart unless-stopped -d zabbix/zabbix-java-gateway:latest

java-gateway主要是用来使用jmx访问远程java应用。

安装mysql,本机已安装,省略。。
新建数据库zabbix, character set: utf8, collate: utf8_bin , 这个字符集必须一致。

安装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 \
      --restart unless-stopped \
      -d zabbix/zabbix-server-mysql:latest

安装zabbix-web:

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:8080 \
      --restart unless-stopped \
      -d zabbix/zabbix-web-nginx-mysql:latest

访问部署机80端口提示错误如下:
centos7搭建zabbix5.0
查看docker日志错误如下:

cannot use database "zabbix": its "users" table is empty (is this the Zabbix proxy database?)

数据库没有初始化,需要找到sql文件。
从运行中的zabbix-server-mysql 中获取sql,命令如下:

docker cp continerID: /usr/share/doc/zabbix-server-mysql/create.sql.gz /usr/share/doc/zabbix

有一个巨坑,如果mysql使用8.0以上会出现数据连接异常,必须要使用以下方式设置密码:
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的密码’;

参考文章如下:
https://blog.csdn.net/youcijibi/article/details/81153789

访问80端口, 页面如下:
centos7搭建zabbix5.0

上一篇: 洛谷P3355

下一篇: 洛谷P4016