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 GUIzabbix_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 |
|
安装 Zabbix server, Web 前端, agent
1 |
|
安装 mysql, httpd, php
1 |
|
(可以和上一步写在一起)
创建并初始化数据库
注意这里登录 mysql 时要求输入密码直接回车即可:
1 |
|
导入初始架构和数据:
1 |
|
(注意这里等待时间较长且没有任何回显)
在 importing database schema 之后禁用 log_bin_trust_function_creators
选项:
1 |
|
给 Zabbix server 配置数据库
修改 /etc/zabbix/zabbix_server.conf
文件:
1 |
|
启动 Zabbix server 和 agent 进程
1 |
|
访问
我这里试验用的 Rocky8 的 IP 为 192.168.177.96
, 则可用 http://192.168.177.96/zabbix
来访问:
之后根据要求向后配置 (可参考 官方文档).
到登录界面后:
默认用户名为 Admin
, 默认密码为 zabbix
.
之后便能进入管理界面:
Zabbix agent 安装和配置
同样参考官方对不同系统的配置步骤 (同样使用包管理器安装), 注意这里最好看英文版的, 中文版的可能没更新.
这里用一台 Fedora38 作为示例 (虽然官方文档中没有 Fedora38 安装 zabbix-agent 的示例, 但是 dnf search
能找到相关包):
1 |
|
配置
修改 /etc/zabbix-agentd.conf
:
将 Server 的值修改为对应的 zabbix-server 的 IP:
1 |
|
之后重启 zabbix-agent 服务:
1 |
|
Zabbix server 对 agent 的设置
这里以 Web 中配置为例 (应该也可以直接在配置文件中加), 在 Monitoring->Hosts
下, 点击右上角的 Create host
, 填入相应配置后添加:
(注意 Template 和 Group 之类的设置)
一段时间后, 等 ZBX
字样变绿, 砸成功监控:
Zabbix server 原生的高可用方案
似乎有点问题.