文章目录
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
随后跟着图片一步一步来即可