centos中zabbix安装、卸载及遇到的问题

目录

Zabbix简介

  • Zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

Zabbix5.0和Zabbix7.0的区别

监控能力方面

  • 增强了浏览器监控功能,新增浏览器项目和浏览器轮询进程,为未来的网页监控扩展奠定基础。
  • 支持更多 HTTP 响应代码(202, 203 和 204),以更好地与 Web 服务集成。
  • 增强了代理负载均衡和高可用性配置,提升了分布式环境中的监控稳定性。

模板和 API 方面

  • 新增 AWS、Azure 和 GCP 模板,增强了云监控能力,显示了 Zabbix 跟进云技术发展的决心。
  • 更新了 API 功能,支持更复杂的配置和集成,确保 Zabbix 能适应各种 IT 环境。
  • 移除了过时功能,并通过插件架构改进简化了性能优化和定制。

性能、速度方面

  • 对后端进行了显著优化,提高了动作执行的速度,并扩展了宏和模板条件的支持。
  • 改进了网络发现功能,包括异步 SNMP 轮询,提升了网络监控的效率和准确性。

centos7安装Zabbix(5.0)

配置yum源

shell 复制代码
#关闭防火墙
#下载rpm包
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#查看rpm包
ls /etc/yum.repos.d/
#替换为阿里源仓库地址
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
#清空yum缓存
yum clean all
yum makecache

安装zabbix和数据库

shell 复制代码
#安装zabbix数据库和agent
yum install zabbix-server-mysql zabbix-agent -y
#修改前端zabbix.repo,开启前端,enable设置为1
vim /etc/yum.repos.d/zabbix.repo
#安装scl工具包,下载的软件都会在/opt/rh目录下,不会装到系统全局
yum install centos-release-scl -y
#安装前端应用和apache服务器(也可以换nginx),注意是后缀是scl,安装到scl环境下
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y

#卸载旧版mariadb
rpm -qa | grep -E 'mariadb|mysql' | xargs yum remove -y
#安装mysql数据库的分支(mariadb)
yum install mariadb-server
#设置开机自动启动
systemctl enable --now mariadb

配置数据库

shell 复制代码
#初始化数据库,开始一步步操作去初始化
mysql_secure_installation
#创建名为zabbix的数据库
create database zabbix character set utf8 collate utf8_bin;
#创建名为zabbix的用户,并且授权
create user zabbix@localhost identified by 'root123';
grant all privileges on zabbix.* to zabbix@localhost;
#更新权限表
flush privileges;
exit;
#查看初始化SQL脚本,并导入数据库中
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

修改zabbix配置文件

shell 复制代码
#修改zabbix-server配置文件,配置zabbix对应的数据库密码
vim /etc/zabbix/zabbix_server.conf
#vim中查找password位置
/password
#设置password,改成自己密码
DBPassword=root123

#修改zabbix的php环境的配置文件,修改时区为Asia/shanghai
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

启动zabbix相关服务

shell 复制代码
#启动各个服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
#检查各个service状态
systemctl status zabbix-server zabbix-agent httpd rh-php72-php-fpm

#查看各个service日志
tail -f /var/log/zabbix/zabbix_server.log
tail -f /etc/httpd/logs/error_log
tail -f /var/opt/rh/rh-php72/log/php-fpm/error.log

# 访问http://服务器ip/zabbix前端页面

安装配置过程中遇到了不少问题(记录在下面),最终得以拨云见日!!!

安装zabbix遇到的问题

执行yum install zabbix-server-mysql zabbix-agent -y报错,base仓库有问题

解决方案:编辑/etc/yum.repos.d/CentOS-Base.repo为如下:

shell 复制代码
[base]
name=CentOS-$releasever - Base
baseurl=http://vault.centos.org/7.9.2009/os/$basearch/
gpgcheck=1
gpgkey=http://vault.centos.org/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever - Updates
baseurl=http://vault.centos.org/7.9.2009/updates/$basearch/
gpgcheck=1
gpgkey=http://vault.centos.org/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras
baseurl=http://vault.centos.org/7.9.2009/extras/$basearch/
gpgcheck=1
gpgkey=http://vault.centos.org/centos/RPM-GPG-KEY-CentOS-7

安装scl版本的服务时,mirrorlist出错

解决方法:修改/etc/yum.repos.d/CentOS-SCLo-scl.repo,替换对应的部分内容

shell 复制代码
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=http://vault.centos.org/7.9.2009/sclo/x86_64/sclo/
gpgcheck=1
#gpgkey=http://vault.centos.org/centos/RPM-GPG-KEY-CentOS-7
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo #注意配置GPG密钥

修改/etc/yum.repos.d/CentOS-SCLo-scl-rh.repo,替换对应的部分内容

shell 复制代码
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://vault.centos.org/7.9.2009/sclo/x86_64/rh/
gpgcheck=1
#gpgkey=http://vault.centos.org/centos/RPM-GPG-KEY-CentOS-7
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo #注意配置GPG密钥

问题:Zabbix 服务器无法绑定到 socket 文件

报错:cannot start preprocessing service: Cannot bind socket to "/var/run/zabbix/zabbix_server_preprocessing.sock": [13] Permission denied.

shell 复制代码
#检查 SELinux 状态
sestatus
#临时禁用
setenforce 0
systemctl restart zabbix-server.service
#永久禁用,编辑配置文件,将SELINUX=enforcing改为SELINUX=disabled,然后重启机器
vi /etc/selinux/config

问题:所有服务启动正常,防火墙关闭,但还是访问不了zabbix-server的web页面

报错:403 Forbidden.You don't have permission to access /zabbix/ on this server.

shell 复制代码
#查看zabbix-server日志,发现无异常
#查看httpd日志,发现报错Cannot serve directory /usr/share/zabbix/: No matching DirectoryIndex (index.html) found, and server-generated directory index forbidden by Options directive

# 修改httpd的配置文件/etc/httpd/conf/httpd.conf
# 添加index.php
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

问题:访问zabbix-server的web网页(http://ip/zabbix),发现网页中只有php的源代码,没有进行解析

报错:[T_ZBX_STR, O_NO, null, null, 'isset({enter}) && {enter} != "'.ZBX_GUEST_USER.'"', _('Username')], 'password' => [T_ZBX_STR, O_OPT, null, null, 'isset({enter}) && {enter}...

shell 复制代码
#编辑tttpd的/etc/httpd/conf.d/zabbix.conf配置文件,加入如下,确保使用到了rh-php72-php-fpm去解析php代码
<IfModule mod_proxy_fcgi.c>
    <FilesMatch \.php$>
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
</IfModule>

其它:输入密码的时候,如果有数字,不要用小键盘,而是用QWE键盘上面的一行数字键盘

卸载Zabbix

shell 复制代码
#停止zabbix相关服务
systemctl stop zabbix-server zabbix-agent httpd rh-php72-php-fpm
#查找所有zabbix服务
rpm -qa | grep -i zabbix
#依次卸载
yum -y remove zabbix-release-5.0-1.el7.noarch
yum -y remove zabbix-web-5.0.42-1.el7.noarch
yum -y remove zabbix-agent-5.0.42-1.el7.x86_64
yum -y remove zabbix-server-mysql-5.0.42-1.el7.x86_64
#查找所有文件夹
find / -name zabbix
#依次删除
rm -rf /etc/zabbix
rm -rf /var/lib/yum/repos/x86_64/7/zabbix
rm -rf /var/lib/mysql/zabbix
rm -rf /var/log/zabbix
rm -rf /var/cache/yum/x86_64/7/zabbix
rm -rf /usr/lib/zabbix
#模糊查找所有文件
find / -name "*zabbix*"
#依次删除
rm -rf /sys/fs/selinux/booleans/zabbix_run_sudo
rm -rf /sys/fs/selinux/booleans/zabbix_can_network
rm -rf /sys/fs/selinux/booleans/httpd_can_connect_zabbix
rm -rf /etc/httpd/conf.d/zabbix.conf
rm -rf /var/lib/yum/repos/x86_64/7/zabbix-non-supported
rm -rf /var/lib/yum/repos/x86_64/7/zabbix-frontend
rm -rf /var/cache/yum/x86_64/7/zabbix-non-supported
rm -rf /var/cache/yum/x86_64/7/zabbix-frontend
rm -rf /usr/lib/firewalld/services/zabbix-agent.xml
rm -rf /usr/lib/firewalld/services/zabbix-server.xml

#卸载mysql
yum -y remove mariadb-5.5.68-1.el7.x86_64
#查找相关文件夹
find / -name mysql
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /usr/lib64/perl5/vendor_perl/auto/DBD/mysql
rm -rf /usr/lib64/perl5/vendor_perl/DBD/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql
#卸载mysql-lib

#卸载httpd
yum remove -y httpd-2.4.6-99.el7.centos.1.x86_64

#卸载rh-php72-php-fpm
yum remove -y rh-php72-php-fpm-7.2.24-1.el7.x86_64
相关推荐
2401_890443024 分钟前
Linux 基础IO
linux·c语言
智慧地球(AI·Earth)1 小时前
在Linux上使用Claude Code 并使用本地VS Code SSH远程访问的完整指南
linux·ssh·ai编程
老王熬夜敲代码2 小时前
解决IP不够用的问题
linux·网络·笔记
码里法2 小时前
centos安装nginx并配置https完整版
nginx·https·centos
zly35002 小时前
linux查看正在运行的nginx的当前工作目录(webroot)
linux·运维·nginx
QT 小鲜肉2 小时前
【Linux命令大全】001.文件管理之file命令(实操篇)
linux·运维·前端·网络·chrome·笔记
Asurplus3 小时前
Centos7安装Git环境
git·centos·yum·dnf
问道飞鱼3 小时前
【Linux知识】Linux 虚拟机磁盘扩缩容操作指南(按文件系统分类)
linux·运维·服务器·磁盘扩缩容
egoist20234 小时前
【Linux仓库】超越命令行用户:手写C语言Shell解释器,解密Bash背后的进程创建(附源码)
linux·c语言·bash·xshell·环境变量·命令行参数·内建命令
Lenyiin4 小时前
《 Linux 修炼全景指南: 八 》别再碎片化学习!掌控 Linux 开发工具链:gcc、g++、GDB、Bash、Python 与工程化实践
linux·python·bash·gdb·gcc·g++·lenyiin