Zabbix-的基本使用

Zabbix 官网

Zabbix 文档

下载

简介

Zabbix 是开源的运维监控和报警工具. 可提供实时监控, 数据收集, 报警等功能.

Zabbix 可监控的设备类型较丰富:

  • 操作系统: Linux, Windows, Unix 等
  • 网络设备: 路由器, 交换机等
  • 虚拟机: Vmware, Microsoft Hyper-V 等
  • 具体应用: Web, SQL 等

Zabbix 程序组件

  • zabbix_server, 服务端守护进程
  • zabbix_agentd, agent 守护进程 (被监控主机)
  • zabbix_proxy, 代理服务器, 接替 zabbix server 对 zabbix agent 进行数据收集
  • zabbix_database, 数据库
  • zabbix_web, web GUI
  • zabbix_get, 命令行工具, 向 agent 发起数据采集请求
  • zabbix_sender, 命令行工具, 向 server 发送测试数据
  • zabbix_java_gateway, java 网关, 用于监控 java 程序

Zabbix 本身不存储任何数据, 因此需要搭建一个数据库. Zabbix 负责抓取被监控节点的信息, 而数据库负责存储这些信息.

最主要的组件是 Zabbix server, database 和 zabbix web, 其可以安装在不同主机, 也可以安装在同一主机上.

工作原理

主动模式

由 Agent 主动与 Server 建立通信, 并向 Server 端上报监控对象状态:

被动模式

Server 主动与 Agent 建立通信, 收集监控对象的状态:

Zabbix server 安装和配置

不同的系统安装方式差别较大 (主要涉及数据库的配置), 查看 官方提供的下载指导 来安装.

这里以 Rocky8 为例.

下载 Zabbix 仓库

1
2
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
dnf clean all

安装 Zabbix server, Web 前端, agent

1
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

安装 mysql, httpd, php

1
dnf install -y mysql-server httpd php-fpm

(可以和上一步写在一起)

创建并初始化数据库

注意这里登录 mysql 时要求输入密码直接回车即可:

1
2
3
4
5
6
7
systemctl enable --now mysqld
mysql -uroot -p
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;

导入初始架构和数据:

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

(注意这里等待时间较长且没有任何回显)

在 importing database schema 之后禁用 log_bin_trust_function_creators 选项:

1
2
3
4
mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;

给 Zabbix server 配置数据库

修改 /etc/zabbix/zabbix_server.conf 文件:

1
DBPassword=password

启动 Zabbix server 和 agent 进程

1
2
systemctl restart zabbix-server zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpm

访问

我这里试验用的 Rocky8 的 IP 为 192.168.177.96, 则可用 http://192.168.177.96/zabbix 来访问:

之后根据要求向后配置 (可参考 官方文档).

到登录界面后:

默认用户名为 Admin, 默认密码为 zabbix.

之后便能进入管理界面:

Zabbix agent 安装和配置

同样参考官方对不同系统的配置步骤 (同样使用包管理器安装), 注意这里最好看英文版的, 中文版的可能没更新.

这里用一台 Fedora38 作为示例 (虽然官方文档中没有 Fedora38 安装 zabbix-agent 的示例, 但是 dnf search 能找到相关包):

1
2
dnf install -y zabbix-agent
systemctl enable --now zabbix-agent.service

配置

修改 /etc/zabbix-agentd.conf:

将 Server 的值修改为对应的 zabbix-server 的 IP:

1
Server = 192.168.177.96

之后重启 zabbix-agent 服务:

1
systemctl restart zabbix-agent.service

Zabbix server 对 agent 的设置

这里以 Web 中配置为例 (应该也可以直接在配置文件中加), 在 Monitoring->Hosts 下, 点击右上角的 Create host, 填入相应配置后添加:

(注意 Template 和 Group 之类的设置)

一段时间后, 等 ZBX 字样变绿, 砸成功监控:

Zabbix server 原生的高可用方案

官方文档

似乎有点问题.


Zabbix-的基本使用
http://example.com/2024/03/13/Zabbix-的基本使用/
作者
Jie
发布于
2024年3月13日
许可协议