自学内容网 自学内容网

Zabbix 7 最新版本安装 Rocky Linux 8

前言

本实验主要在Rocky Linux 中安装Zabbix,其他centos8、Debian、Ubuntu、Alma Linux都可以安装,就是在中间件有点不同。Nginx就要配置一下,官网给的教程也算是很规范的,就是在MySQL上要自己安装,他没有告诉我们!!!
本实验的环境:Zabbix 7 、Rocky Linux 9、MySQL8.0、Nginx

废话

其实这类监控系统有很多,主要取决于喜欢用什么,怎么用,除了zabbix,还有普罗米修斯Prometheus啊什么的,有的人说普好,有的人说Zabbix好,说普好的是因为6版本以前的Zabbix不支持K8S、docker的监控,然后就找到普能监控,就说普好,现在zabbix都已经兼容了,所以没有好不好区分。

环境下载:

Zabbix官网
Rocky Linux

远程工具:

Mobaxterm
Xshell
其他都可以,也可以直接在客户端中安装

初始化系统

1.新装的linux系统,初始化更新包

sudo yum update

进入Zabbix官网,选择相匹配的环境
在这里插入图片描述

下面有安装教程,但是缺少必要的环境,例如MySQL类型!

安装MySQL8.0

Rocky Linux 是基于 RHEL 的 Linux 发行版,所以可以使用 dnfyum 命令来安装 MySQL 和 Nginx。下面是针对 Rocky Linux 的详细安装步骤。

  1. 更新系统软件包:

    sudo dnf update -y
    
  2. 添加 MySQL 官方存储库:

    sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm -y
    
  3. 安装 MySQL 8.0:

    sudo dnf install mysql-server -y
    

4. 报错问题及解决方式
![[Pasted image 20241111122908.png]]

  1. 解决方法1
    禁用 GPG 验证(临时方案)企业肯定不行的
sudo dnf install mysql-server -y --nogpgcheck

![[Pasted image 20241111122957.png]]

  1. 解决方法2
    先进入.repo文件查看
vim /etc/yum.repos.d/mysql-community.repo

![[Pasted image 20241111123210.png]]

7.修改gpgkey
看到gpgkey是file://xxx,这就说明没有配置正确,我们手动将所有的gpgkey改成第一个https
前提条件下载并导入mysql官方的GPG 公钥

sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
  1. 修改gpgkey
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

![[Pasted image 20241111123525.png]]

  1. 保存退出 :wq
    然后再次运行清理命令并尝试安装:
sudo dnf clean all 
sudo dnf makecache 
sudo dnf install mysql-server -y

rpm -qa gpg-pubkey*  查看GPG密钥条目

![[Pasted image 20241111123951.png]]

出现上面结果就说明安装成功了。

  1. 启动MySQL服务并设置开机启动
sudo systemctl start mysqld   //启动
sudo systemctl enable mysqld  //开机启动
sudo systemctl status mysqld  //验证状态

![[Pasted image 20241111124449.png]]

  1. 初始化密码
    MySQL 在首次安装时会生成一个随机的 root 密码,可以使用以下命令查看:
sudo grep 'temporary password' /var/log/mysqld.log

![[Pasted image 20241111124535.png]]

  1. 修改初始密码 (复制旧密码) (WYvsTr93pdr
    使用刚才获取的临时密码登录 MySQL:
mysql -u root -p
  1. 方法1:手动修改
    如果已经在 MySQL 中登录,并想手动更改 root 密码,可以在 MySQL 控制台中执行以下命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码(大、小、数字、特殊一个都不能少)'; 
FLUSH PRIVILEGES;

新密码 替换为您想设置的新密码。

![[Pasted image 20241111125331.png]]

完成密码更改后,可以输入 exit 退出 MySQL 控制台:

exit;
  1. 方法2:运行 mysql_secure_installation 设置新密码
    MySQL 提供了一个安全配置脚本 mysql_secure_installation,可以用来设置新密码并执行一些安全操作。

在终端中运行:

sudo mysql_secure_installation

该脚本会引导您完成以下操作:

  1. 更改 root 密码:设置一个新的 root 密码。
  2. 移除匿名用户:防止匿名用户登录。
  3. 禁用 root 远程登录:只允许本地访问 root 账户。
  4. 删除测试数据库:删除默认的测试数据库。
  5. 刷新权限表:使更改生效。

安装Zabbix Nginx

由于官网会自动安装中间件,我就不再赘述了,

  1. 安装 zabbix 存储库
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-latest.el9.noarch.rpm  

dnf clean all

![[Pasted image 20241111130847.png]]

  1. 安装 Zabbix 服务器、前端、代理
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

![[Pasted image 20241111130934.png]]

这里比较慢,耐心等待一下

![[Pasted image 20241111130946.png]]

![[Pasted image 20241111131552.png]]

出现以下就说明安装成功
![[Pasted image 20241111131625.png]]

  1. 根据官网,这一步就是(我们前面第一步就提前安装了mysql) 输入 前面配置新密码
    在您的数据库主机上运行以下命令。
mysql -u root -p  
password  
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;  
mysql> create user zabbix@localhost identified by 'zabbix数据库登录密码';  //这里为了保持一直,就用一个密码,在企业就不行哈 Huawei@123
mysql> grant all privileges on zabbix.* to zabbix@localhost;  
mysql> set global log_bin_trust_function_creators = 1;  
mysql> quit;

![[Pasted image 20241111130052.png]]

  1. 在 Zabbix 服务器主机上导入初始架构和数据。系统将提示您输入新创建的密码。
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

![[Pasted image 20241111131704.png]]

  1. 验证:
    首先,使用 MySQL 登录到 Zabbix 数据库,以确认是否已导入初始架构和数据。
mysql -u zabbix -p

系统会提示输入您在创建 zabbix 用户时设置的密码。登录后,执行以下 SQL 命令以切换到 Zabbix 数据库并查看表结构:

USE zabbix; 
SHOW TABLES;

如果导入成功,您应该会看到大量与 Zabbix 相关的表,如 usershostsitems 等。
![[Pasted image 20241111132031.png]]

  1. 导入数据库模式后禁用 log_bin_trust_function_creators 选项。
mysql -uroot -p  
password  
mysql> set global log_bin_trust_function_creators = 0;  
mysql> quit

![[Pasted image 20241111132143.png]]

  1. 为Zabbix服务器配置数据库
    编辑文件/etc/zabbix/zabbix_server.conf
vim /etc/zabbix/zabbix_server.conf
DBPassword=password   //这里是之前设置zabbix的密码,也就是我们设置的第二个密码

![[Pasted image 20241111132500.png]]

  1. 为 Zabbix 前端配置 PHP
    编辑文件/etc/nginx/conf.d/zabbix.conf取消注释并设置“listen”和“server_name”指令。
vim  /etc/nginx/conf.d/zabbix.conf
listen 8080;  
server_name example.com;  //这里提前写入自己的本机IP地址,不然后面还要更新 

![[Pasted image 20241111132632.png]]

  1. 启动Zabbix服务器和代理进程
    启动 Zabbix 服务器和代理进程,并使其在系统启动时启动。
systemctl restart zabbix-server zabbix-agent nginx php-fpm  
systemctl enable zabbix-server zabbix-agent nginx php-fpm

![[Pasted image 20241111132904.png]]

  1. 检查服务状态:可以使用以下命令检查各服务的运行状态,确保它们正常运行:
systemctl status zabbix-server 
systemctl status zabbix-agent 
systemctl status nginx 
systemctl status php-fpm

确保每个服务的状态为 active (running)
![[Pasted image 20241111132916.png]]![[Pasted image
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 如果一切配置正常,您现在可以在浏览器中访问 Zabbix 的前端界面。通常,访问地址为:
http://<服务器IP地址或域名>
  1. 查看地址
ifconfig  
# 或
ip addr  

![[Pasted image 20241111133230.png]]

排错

  1. 访问如果进不去
    ![[Pasted image 20241111133748.png]]

  2. 解决方法:
    查看防火墙是不是开启的,如果开启,关闭或放行80或443

sudo systemctl status firewalld

很显然是开启的,我们再查看80或443端口有没有放行
在这里插入图片描述

sudo firewall-cmd --list-all

很显然,也没有,哈哈
当前防火墙规则中并没有开放 HTTP (http) 和 HTTPS (https) 服务,因此,您可能无法通过浏览器
![[Pasted image 20241111134106.png]]

  1. 开放 HTTP 和 HTTPS 端口
sudo firewall-cmd --permanent --add-service=http 
sudo firewall-cmd --permanent --add-service=https

添加完成后,重新加载防火墙以使更改生效:

sudo firewall-cmd --reload

![[Pasted image 20241111134331.png]]

再次查看防火墙规则,确认 HTTP 和 HTTPS 服务已被添加:

sudo firewall-cmd --list-all

如果成功,应该会看到 httphttps 列在 services 部分中。
![[Pasted image 20241111134347.png]]

  1. 再次尝试访问zabbix

打开 Zabbix UI 网页
使用 Nginx 时 Zabbix UI 的 URL 取决于您应该进行的配置更改。
如果不配置则出现:
出现错误
![[Pasted image 20241111134432.png]]

  1. 我们操作一下
    进入nginx,把server注释掉或者删掉
vim /etc/nginx/nginx.conf

![[Pasted image 20241111174334.png]]

  1. 进入zabbix
 vim /etc/nginx/conf.d/zabbix.conf

原有的太复杂,直接用下面的

server {
    listen 8080;
    server_name 192.168.6.138;  //这里写自己的IP地址, 命令:IP addr 

    root /usr/share/zabbix;
    index index.php index.html;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

![[Pasted image 20241111174551.png]]

  1. 确认Zabbix安装目录权限:确保Nginx用户(通常为 nginxwww-data)对 /usr/share/zabbix 目录及其文件具有读权限。运行以下命令来确认:
sudo chown -R nginx:nginx /usr/share/zabbix 
sudo chmod -R 755 /usr/share/zabbix
  1. Nginx服务重新加载:确认配置修改后重新加载Nginx服务,而不仅仅是重启。可以执行以下命令确保配置生效:
sudo nginx -t # 检查配置是否有错误 
sudo systemctl reload nginx
  1. 查看防火墙配置:虽然你已经放行8080端口,但建议进一步确认防火墙设置,确保没有其他规则阻止流量。
sudo firewall-cmd --list-all
  1. Zabbix页面路径验证:确认你的浏览器访问的路径是否正确,应该是 http://192.168.6.138:8080/,而不需要加 /zabbix
    ![[Pasted image 20241111174731.png]]

到此位置!!这个就是最新版本的安装,其他linux版本大差不大,前期就是mysql的搭建

MariaDB 数据库安装

Zabbix 需要数据库来存储数据。我们将安装 MariaDB 并创建一个数据库。

sudo dnf install mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
运行 MariaDB 安全安装脚本
sudo mysql_secure_installation

Zabbix 7 相较于 Zabbix 6.4 引入了一些新功能、改进和性能优化。以下是一些主要区别:

1. 增强的可观测性和监控功能

  • 新监控指标:Zabbix 7 引入了更多的内置指标和模板,以便更全面地覆盖各种应用和系统的监控需求。
  • 更高级的告警管理:增加了告警管理和通知功能,使用户可以更灵活地配置不同的告警规则,支持多条件告警触发。

2. 用户界面改进

  • UI/UX 优化:Zabbix 7 对界面和用户体验做了一些改进,使得仪表板、图表等更加直观和友好,帮助用户更轻松地导航和管理监控系统。
  • 自定义仪表板功能增强:允许用户在仪表板上展示更灵活的内容和布局,提高了用户定制化的能力。

3. 性能改进

  • 数据存储优化:Zabbix 7 针对大规模数据存储进行了优化,在处理大量历史数据和事件时更加高效。
  • 代理性能提升:Zabbix 7 提高了代理(Agent)的性能,减少了代理在采集数据时的系统资源占用。

4. 新数据采集方法

  • 增强的 SNMP 和 Prometheus 集成:Zabbix 7 加强了与 SNMP 设备和 Prometheus 数据源的集成,提供更多的配置选项和性能优化。
  • 改进的 Webhook 支持:更好地支持第三方服务集成,用户可以更轻松地与其他系统进行数据交互。

5. 支持的系统和平台

  • 新增支持的操作系统:Zabbix 7 引入了对一些新操作系统和数据库版本的支持,提供更广泛的部署选择。
  • 弃用旧版系统支持:一些旧的操作系统和软件版本可能在 Zabbix 7 中被弃用,以确保安全和性能。

6. 安全性增强

  • 强化的认证和授权机制:Zabbix 7 增强了用户认证和角色管理,使得系统更安全可靠,特别是在多用户环境中。
  • 日志和事件的加密存储:Zabbix 7 可能支持更安全的数据传输和存储方式,以防止敏感信息泄露。

7. 扩展功能支持

  • 增强的 API 功能:Zabbix 7 提供了更多的 API 功能,使开发人员可以更灵活地访问和操作 Zabbix 数据,实现自动化和集成。
  • 新的插件框架:Zabbix 7 支持更多插件和集成功能,用户可以轻松地扩展 Zabbix 的原生功能。

8. 维护和升级简化

  • 升级流程优化:Zabbix 7 优化了从旧版本到新版本的升级过程,减少了升级带来的停机时间和潜在问题。
  • 自动化维护工具:增加了一些自动化的维护工具,帮助用户更高效地管理和维护 Zabbix 服务器。

原文地址:https://blog.csdn.net/m0_57076217/article/details/143692225

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!