软件开发 --- Zabbix 之初体验
Zabbix 是一个企业级的开源监控解决方案,可以用于监控各种IT基础设施,包括服务器、网络设备、虚拟机、数据库等。Zabbix 提供了高效的实时监控、报警通知、图形报表等功能。它的核心功能包括:监控、告警、自动化操作、数据可视化等。
下面是一个 Zabbix 使用的具体示例,包括安装、配置、运行和监控的基本流程。
1. 安装 Zabbix
Zabbix 安装有多种方式,可以选择从源代码编译安装或直接通过包管理器安装。这里以 Ubuntu 为例,介绍通过包管理器安装 Zabbix Server 和 Zabbix Agent。
1.1 安装 Zabbix Server 和 Frontend
- 更新系统:
sudo apt update
- 安装 Zabbix 服务器、前端和数据库:
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent mysql-server
- 配置 MySQL 数据库:
sudo mysql_secure_installation
- 创建 Zabbix 数据库:
sudo mysql -uroot -p
CREATE DATABASE zabbix character set utf8mb4 collate utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbix_password';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;
- 导入 Zabbix 数据库架构:
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
- 配置 Zabbix 服务器:
编辑 Zabbix 配置文件 /etc/zabbix/zabbix_server.conf
:
sudo nano /etc/zabbix/zabbix_server.conf
设置数据库连接:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix_password
- 配置 PHP:
编辑 PHP 配置文件 /etc/zabbix/apache.conf
:
sudo nano /etc/zabbix/apache.conf
设置 PHP 时区:
php_value date.timezone "Asia/Shanghai"
- 启动并使 Zabbix 服务开机自启:
sudo systemctl start zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2
- 访问 Zabbix Web 前端:
打开浏览器并访问 http://<Zabbix服务器IP>/zabbix
,按步骤完成 Web 前端的安装。
2. 安装 Zabbix Agent
Zabbix Agent 用于监控目标主机的系统指标。假设我们要监控的目标主机是 192.168.1.100
。
2.1 在目标主机上安装 Zabbix Agent
- 在目标主机上安装 Zabbix Agent:
sudo apt install zabbix-agent
- 配置 Zabbix Agent:
编辑 Zabbix Agent 配置文件 /etc/zabbix/zabbix_agentd.conf
:
sudo nano /etc/zabbix/zabbix_agentd.conf
设置 Zabbix Server 的 IP 地址:
Server=ZABBIX_SERVER_IP
ServerActive=ZABBIX_SERVER_IP
Hostname=Target-Host
- 启动 Zabbix Agent:
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
3. 配置 Zabbix 监控项
3.1 在 Zabbix Web 前端添加监控项
- 登录到 Zabbix Web 界面,进入“Configuration” -> “Hosts”。
- 点击右上角的 “Create Host” 按钮,输入目标主机的名称(与
zabbix_agentd.conf
中的Hostname
一致),并设置主机的 IP 地址。 - 在“Templates”选项卡中,选择适合的模板。例如,可以选择
Template OS Linux
,该模板包含了许多默认的监控项。 - 点击“Add”保存主机配置。
3.2 配置监控项(例如监控 CPU 使用率)
- 进入 Web 界面的“Configuration” -> “Hosts”,找到目标主机,点击它的名称。
- 点击“Items”选项卡,点击右上角的“Create Item”。
- 在弹出的表单中,输入监控项的名称(例如:
CPU Usage
),选择合适的监控类型,如“Zabbix agent”。 - 在“Key”字段中输入 Zabbix 提供的监控键,例如
system.cpu.util[,idle]
,用于监控 CPU 的空闲率。 - 选择数据类型,如“Numeric (float)”。
- 配置触发器、更新间隔等信息,点击“Save”。
4. 设置告警
4.1 配置告警动作
- 进入 Zabbix Web 界面,点击“Configuration” -> “Actions”。
- 点击右上角的“Create Action”按钮。
- 设置告警条件,例如,当监控项的值超过某个阈值时触发告警。
- 设置告警操作,例如发送电子邮件、执行自定义命令等。
4.2 配置通知(例如电子邮件)
- 在 Zabbix Web 前端,进入“Administration” -> “Media Types”。
- 点击右上角的“Create Media Type”。
- 选择“Email”作为通知方式,配置 SMTP 服务器的相关信息。
- 在用户设置中,为特定用户添加通知方式(邮件、短信等)。
5. 查看监控数据和图表
Zabbix 会收集并显示监控数据。你可以通过以下方式查看监控数据:
- 实时数据:在 Web 界面中,进入“Monitoring” -> “Latest Data”,选择监控项,查看实时数据。
- 图表:进入“Monitoring” -> “Graphs”,选择相应的主机或监控项,查看图表数据。
- 趋势:进入“Monitoring” -> “Trends”,查看趋势数据。
6. Zabbix 常用命令
- 启动 Zabbix 服务:
sudo systemctl start zabbix-server zabbix-agent
- 停止 Zabbix 服务:
sudo systemctl stop zabbix-server zabbix-agent
- 重启 Zabbix 服务:
sudo systemctl restart zabbix-server zabbix-agent
- 查看 Zabbix 服务状态:
sudo systemctl status zabbix-server
总结
Zabbix 是一个强大的监控系统,可以用于实时监控企业的服务器、网络设备和应用程序。通过配置 Zabbix Server 和 Zabbix Agent,用户可以轻松地监控物理或虚拟机的各项指标,并根据需要设置告警、查看数据和生成图表。通过 Web 前端,Zabbix 提供了丰富的监控和管理功能,适合企业级的 IT 基础设施监控。