CentOS7 下安装 Zabbix
1.关闭防火墙
2. 安装Zabbix
3. 安装MysqL
4. 导入zabbix表
5. 启动
缺少libMysqLclient.so.18解决
SELinux 解决
MysqL8.0解决
其他
6. 验证
7.web页面
环境要求(执行下面红色代码即可查看本机信息):
rpm -q centos-release
centos-release-7-9.2009.0.el7.centos.x86_64
uname -r
3.10.0-1127.el7.x86_64
zabbix官网:https://www.zabbix.com/
1.关闭防火墙
如果是虚拟机直接关闭防火墙即可
如果是线上的建议开启端口:
https://blog.csdn.net/WeiHao0240/article/details/99674024
# 1:查看防火状态
systemctl status firewalld
# 2:暂时关闭防火墙
systemctl stop firewalld
# 3:永久关闭防火墙
systemctl disable firewalld
# 4:重启防火墙
systemctl enable firewalld
2. 安装Zabbix
# 1. 下载yum源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# 2.yum清理缓存
yum clean all
# 3.安装server, agent, get, sender, web
yum -y install zabbix-server-MysqL zabbix-agent zabbix-get zabbix-sender zabbix-web zabbix-web-MysqL
# 4.启用红帽软件集合
yum-config-manager --enable rhel-server-rhscl-7-rpms
# 5.查看前端仓库是否支持
vim /etc/yum.repos.d/zabbix.repo
# 修改[zabbix-frontend] 下面 enabled=1
# 6.安装前端包 apache
yum install zabbix-web-MysqL-scl zabbix-apache-conf-scl
有可能会报错:
Error: Package: zabbix-web-deps-scl-5.0.6-1.el7.noarch (zabbix-frontend)
Requires: rh-PHP72-PHP-gd
Error: Package: zabbix-web-deps-scl-5.0.6-1.el7.noarch (zabbix-frontend)
Requires: rh-PHP72-PHP-ldap
Error: Package: zabbix-web-deps-scl-5.0.6-1.el7.noarch (zabbix-frontend)
Requires: rh-PHP72-PHP-xml
Error: Package: zabbix-web-deps-scl-5.0.6-1.el7.noarch (zabbix-frontend)
Requires: rh-PHP72-PHP-bcmath
Error: Package: zabbix-web-deps-scl-5.0.6-1.el7.noarch (zabbix-frontend)
Requires: rh-PHP72-PHP-fpm
Error: Package: zabbix-web-deps-scl-5.0.6-1.el7.noarch (zabbix-frontend)
Requires: rh-PHP72-PHP-mbstring
Error: Package: zabbix-web-deps-scl-5.0.6-1.el7.noarch (zabbix-frontend)
Requires: rh-PHP72
Error: Package: zabbix-web-MysqL-scl-5.0.6-1.el7.noarch (zabbix-frontend)
Requires: rh-PHP72-PHP-MysqLnd
说明没有安装rh-PHP
参考网站:https://blog.csdn.net/supergao222/article/details/78308197?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-searchFromBaidu-2.control
# 2. 安装rh
yum install centos-release-scl-rh
# 4.安装
yum install rh-PHP73
scl enable rh-PHP73 bash
# 5.查看版本
PHP -v
# 然后再安装前端包
yum -y install zabbix-web-MysqL-scl zabbix-apache-conf-scl
3. 安装MysqL
这里安装的MysqL5.7
如果已经安装了请跳过这步
安装连接:https://blog.csdn.net/WeiHao0240/article/details/99644197
4. 导入zabbix表
# 1.登录MysqL, 必须要用root用户
MysqL -uroot -p
# 2.创建zabbix数据库
create database zabbix character set utf8 collate utf8_bin;
# 3.创建zabbix用户 并制定验证密码
create user zabbix@localhost identified by 'Zabbix2020..';
# 4.给zabbix用户赋予zabbix数据库权限
grant all privileges on zabbix.* to zabbix@localhost;
# 退出
quit;
# 导入数据库表
zcat /usr/share/doc/zabbix-server-MysqL*/create.sql.gz | MysqL -uzabbix -p zabbix
# 修改数据库配置
vim /etc/zabbix/zabbix_server.conf
# dbname 就是新建数据库的名称
# DBUser 就是新建的用户
#DBpassword 登录密码
# 设置PHP时区
vim /etc/opt/rh/rh-PHP72/PHP-fpm.d/zabbix.conf
# 设置上海时区如下:
# PHP_value[date.timezone] = Asia/Shanghai
5. 启动
systemctl restart zabbix-server zabbix-agent httpd rh-PHP72-PHP-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-PHP72-PHP-fpm
有可能会出错
Job for zabbix-server.service Failed because the control process exited with error code. See “systemctl status zabbix-server.service” and “journalctl -xe” for details.
# 查看详细错误信息
journalctl -xe
缺少libMysqLclient.so.18
zabbix_server: /lib64/libMysqLclient.so.18: no version @R_209_4045@ion available (required by zabbix_server)
zabbix_server: /lib64/libMysqLclient.so.18: version `libMysqLclient_18’ not found (required by zabbix_server)
说明zabbix_server需要libMysqLclient.so.18
但是本地没有, 我的本地是libMysqLclient.so.21 高版本不能用
缺少libMysqLclient.so.18解决
迅雷云盘链接:https://pan.xunlei.com/s/VMNzti7L0ZhOWK1uJx7zvHKiA1
提取码:widh
# 从上面的连接下载放到 /usr/lib/ 下面
# 也拷贝到lib64下面
cp /usr/lib/libMysqLclient.so.18 /usr/lib64/
继续报错:
=error msg=“agent: session Failed” backoff=8s error="rpc error: code = Unavailable desc = all SubConns are in Transien
SELinux 解决
Enforcing:强制模式。代表SELinux在运行中,且已经开始限制domain/type之间的验证关系
Permissive:宽容模式。代表SELinux在运行中,不过不会限制domain/type之间的验证关系,即使验证不正确,进程仍可以对文件进行操作。不过如果验证不正确会发出警告
disabled:关闭模式。SELinux并没有实际运行
getenforce
setenforce 0
getenforce
Operation CREATE USER Failed for ‘zabbix’@’%’
You have an error in your sql Syntax; check the manual that corresponds to your MysqL server version for the right Syntax to use near 'identified by
密码验证必须都要用with MysqL_native_password by
# 查看用户
select host,user from user;
# 删除
delete from MysqL.user where user = 'zabbix';
# 这一步也要执行
drop user zabbix@localhost;
# 刷新权限
flush privileges;
# 创建用户
create user 'zabbix'@'localhost' IDENTIFIED with MysqL_native_password by 'Zabbix2020..';
# 修改为%
update user set host = '%' where user = 'zabbix';
# 刷新权限
flush privileges;
ALTER user 'zabbix'@'%' IDENTIFIED with MysqL_native_password by 'Zabbix2020..';
flush privileges;
其他
查看
/var/log/zabbix/zabbix_server.log
错误日志
6. 验证
ps -ef | grep zabbix
7.web页面
下面换成你的ip即可
http://xxx.xxx.x.x/zabbix/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。