web群集--rocky9.2部署zabbix服务端的详细过程

文章目录

    • zabbix介绍
      • [1. Zabbix 简介](#1. Zabbix 简介)
      • [2. Zabbix 的核心组件](#2. Zabbix 的核心组件)
      • [3. Zabbix 的工作原理](#3. Zabbix 的工作原理)
      • [4. Zabbix 的优势](#4. Zabbix 的优势)
      • [5. Zabbix 的应用场景](#5. Zabbix 的应用场景)
    • 部署过程

zabbix介绍

1. Zabbix 简介

Zabbix 是一个 企业级开源监控工具,它能够对各种 IT 组件进行实时监控,包括网络设备、服务器、虚拟机、应用程序和数据库等。Zabbix 具有强大的 数据采集和存储能力,能帮助用户监控并展示系统的各类性能数据,如 CPU 利用率、网络流量、磁盘使用情况等等。

它的特点包括:
全平台兼容: 支持 Linux、Windows、UNIX 和许多其他操作系统。
无代理与代理监控: 支持使用代理(Agent)或无代理(Agentless)两种方式进行监控。
数据可视化: 可以通过仪表盘、图表和报告以图形化的方式展示数据。
强大的报警系统: 可以通过电子邮件、短信、Slack 等方式通知管理员。
自动化能力: 可以通过预定义的触发器自动执行特定操作,例如自动重启服务。

2. Zabbix 的核心组件

Zabbix 由多个核心组件组成,分别负责不同的功能:
Zabbix Server: 是整个系统的心脏,负责从代理或无代理设备中收集数据,并将其存储在数据库中。
Zabbix Agent: 安装在被监控设备上,采集本地数据并将其发送给 Zabbix Server。对于一些特定的场景,Agent 是实现深入监控的关键。
数据库: 存储监控数据。Zabbix 支持 MySQL、PostgreSQL、Oracle 和 SQLite 等常见数据库。
Web 界面: Zabbix 提供一个直观的 Web 界面供用户管理监控对象、查看监控数据和配置报警机制。
Zabbix Proxy: 在分布式监控中,代理负责收集多个位置的数据并发送给中心服务器,适合大规模、跨地域的监控场景。

3. Zabbix 的工作原理

Zabbix 的工作原理可以简单概括为以下步骤:

**数据采集:**Zabbix Server 从 Zabbix Agent 或其他来源(如 SNMP、JMX、IPMI)获取设备数据。
数据存储: 采集到的数据存储在数据库中,以便后续查询和分析。
数据展示: 用户可以通过 Web 界面查看图表、趋势和报表等监控结果。
报警: 当某个监控项达到预设的阈值时,触发报警机制,发送通知给管理员。
自动处理: Zabbix 可以根据触发器自动执行一些预定义的恢复操作,减少人工干预。

4. Zabbix 的优势

与其他监控系统相比,Zabbix 有一些显著优势:
开源且免费: Zabbix 是完全开源的,你可以根据自己的需求进行自定义和扩展。
灵活的监控方式: 支持多种监控方式,包括基于 Agent 的本地监控和基于 SNMP、IPMI、JMX 等协议的远程监控。
可扩展性: Zabbix 支持大规模监控,适用于从数百个设备到数万个设备的场景,且易于进行扩展。
高级报警机制: 不仅能监控和发现问题,还可以通过复杂的触发器设置提前预警,减少故障风险。
强大的图形化功能: 通过 Zabbix 的图形化工具,用户能够以可视化方式查看数据、生成趋势图和进行历史数据分析。

5. Zabbix 的应用场景

Zabbix 适用于多种监控需求,常见的应用场景包括:

**服务器监控:**监控服务器的 CPU、内存、磁盘、网络等性能指标,及时发现资源瓶颈和故障。

**网络设备监控:**监控路由器、交换机等网络设备的状态和流量,确保网络畅通。

**应用程序监控:**监控数据库、Web 服务器、应用服务器的运行状况和性能。
虚拟化和云环境监控: 支持监控虚拟机(如 VMware、KVM 等)和云基础设施(如 AWS、Azure)。

部署过程

安装扩展包

dnf -y install epel-release

vim /etc/yum.repos.d/epel.repo

rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-7.0-5.el9.noarch.rpm
dnf clean all
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
yum -y install mariadb-server
systemctl start mariadb

解释

这段命令的作用是安装和配置 Zabbix 监控服务器以及其所依赖的 MySQL 数据库环境。具体来说:
rpm -Uvh 下载并安装 Zabbix 官方存储库的 RPM 包,以便从该存储库安装 Zabbix 相关的软件包。

dnf clean all 清理缓存,确保使用最新的软件包信息。

dnf install ... 命令安装 Zabbix 服务器、Web 界面、Apache 配置文件、SQL 脚本、SELinux 策略以及 Zabbix 代理,所有这些都是 Zabbix 监控平台的组成部分。

yum -y install mariadb-server 安装 MariaDB 数据库服务器,这是 Zabbix 用来存储监控数据的数据库。

systemctl start mariadb 启动 MariaDB 服务,为 Zabbix 提供数据库支持。

mysql

mysql\> create database zabbix character set utf8mb4 collate utf8mb4\_bin;
mysql\> create user zabbix@localhost identified by 'password';
mysql\> grant all privileges on zabbix.\* to zabbix@localhost;
mysql\> set global log\_bin\_trust\_function\_creators \= 1;
mysql\> quit;

解释

这段 MySQL 命令的作用是为 Zabbix 监控系统创建并配置一个专用的数据库环境:
create database zabbix: 创建一个名为 zabbix 的数据库,并指定字符集为 utf8mb4,排序规则为 utf8mb4_bin,以确保 Zabbix 数据能够正确存储和排序。

create user zabbix@localhost identified by 'password': 创建一个名为 zabbix 的数据库用户,并为其设置访问密码 password。

*grant all privileges on zabbix. to zabbix@localhost:** 授予 zabbix 用户对 zabbix 数据库的所有操作权限,以便 Zabbix 系统可以在该数据库中进行数据读写。

set global log_bin_trust_function_creators = 1: 设置 MySQL 全局变量,允许非超级用户创建或修改存储函数和触发器,以便 Zabbix 安装过程中能够执行所需的 SQL 脚本。

quit: 退出 MySQL 终端。

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

输入password

vim /etc/zabbix/zabbix_server.conf

systemctl restart zabbix-server zabbix-agent httpd php-fpm

systemctl enable zabbix-server zabbix-agent httpd php-fpm

宿主机访问

192.168.10.11/zabbix

随后跟着图片一步一步来即可





相关推荐
活宝小娜1 小时前
vue不刷新浏览器更新页面的方法
前端·javascript·vue.js
程序视点1 小时前
【Vue3新工具】Pinia.js:提升开发效率,更轻量、更高效的状态管理方案!
前端·javascript·vue.js·typescript·vue·ecmascript
coldriversnow1 小时前
在Vue中,vue document.onkeydown 无效
前端·javascript·vue.js
我开心就好o1 小时前
uniapp点左上角返回键, 重复来回跳转的问题 解决方案
前端·javascript·uni-app
开心工作室_kaic2 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
刚刚好ā2 小时前
js作用域超全介绍--全局作用域、局部作用、块级作用域
前端·javascript·vue.js·vue
朝九晚五ฺ3 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
沉默璇年3 小时前
react中useMemo的使用场景
前端·react.js·前端框架
yqcoder4 小时前
reactflow 中 useNodesState 模块作用
开发语言·前端·javascript
2401_882727574 小时前
BY组态-低代码web可视化组件
前端·后端·物联网·低代码·数学建模·前端框架