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源
#关闭防火墙
#下载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和数据库
#安装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
配置数据库
#初始化数据库,开始一步步操作去初始化
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配置文件
#修改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相关服务
#启动各个服务
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
为如下:
[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
,替换对应的部分内容
[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
,替换对应的部分内容
[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.
#检查 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.
#查看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}…
#编辑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
#停止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