在 Ubuntu 22.04 上安装和配置 Zabbix
快猫运营团队
2024-11-03 14:37:24
Zabbix 是一种流行的开源工具,旨在监控服务器、网络、服务、云资源和业务指标。它由几个组件组成,包括:
- Zabbix Server:负责数据存储和网络服务管理的核心组件。
- Zabbix Agent:一个后台实用程序(守护进程),用于监控和收集有关 RAM、CPU 和应用程序指标等资源的统计信息。它支持主动 (代理请求数据) 和被动 (代理等待服务器请求) 模式。
- Zabbix Proxy:在 Zabbix server 上分配负载的可选组件。
- Web 界面:用于跟踪系统指标并配置 Zabbix 和受监控组件的 Web 面板。
在本教程中,我们将在 Ubuntu 22.04 上安装 Zabbix 6 并连接和配置一个 agent。
先决条件
您将需要:
- 两个运行 Ubuntu 22.04 的云服务器或虚拟机:一个用于 Zabbix server,一个用于 Zabbix agent。
- Zabbix server 的主机上预装的 MySQL/MariaDB 或 PostgreSQL 数据库。本教程使用 PostgreSQL。
安装 Zabbix Server
所有步骤都应以 root 或 sudo 用户身份执行。
添加官方 Zabbix 仓库:
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb
安装下载的软件包:
dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
安装 Zabbix server 和依赖项:
apt update && apt -y install zabbix-server-pgsql zabbix-frontend-php php8.1-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
为 Zabbix 创建 PostgreSQL 用户和数据库:
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix
导入 Zabbix 数据库 Schema:
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
编辑 Zabbix server 配置:
vim /etc/zabbix/zabbix_server.conf
找到 DBPassword 参数并设置数据库密码。
编辑 Zabbix 的 Nginx 配置:
vim /etc/zabbix/nginx.conf
取消注释并设置 listen 和 server_name 参数。
重启并启用服务:
systemctl restart zabbix-server zabbix-agent nginx php8.1-fpm
systemctl enable zabbix-server zabbix-agent nginx php8.1-fpm
验证 Zabbix server 状态:
systemctl status zabbix-server
配置 Zabbix Server
进一步的配置通过 Web 界面完成。导航到 nginx.conf 中指定的域名和端口(即访问 Nginx 的地址,域名和端口取决于你上面的配置)。
- 选择语言。
- 验证系统要求。
- 配置数据库连接:输入数据库名称 zabbix、用户 zabbix 和密码。
- 设置 Zabbix server 名称、时区和主题。
- 查看并确认设置。
配置成功后,使用默认凭证登录:Admin 和 zabbix。
安装 Zabbix Agent
切换到第二台服务器进行 Zabbix agent 安装。
下载 Zabbix 仓库:
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest+ubuntu22.04_all.deb
安装下载的软件包:
dpkg -i zabbix-release_latest+ubuntu22.04_all.deb
安装 Zabbix agent:
apt update && apt -y install zabbix-agent
编辑 Zabbix agent 配置:
vim /etc/zabbix/zabbix_agentd.conf
设置参数:
- Server:输入 Zabbix server 的域名或 IP 地址。
- ServerActive:输入与上述相同的值;当 Zabbix 独立请求必要的数据时,此参数负责 active 模式。
- Hostname:输入与系统中指定的完全一致的代理主机名。您可以使用 hostname 命令进行检查。如果主机名不正确,agent 将无法连接到 Zabbix server。
重新启动并启用 Zabbix agent:
systemctl restart zabbix-agent
systemctl enable zabbix-agent
验证代理状态:
systemctl status zabbix-agent
在 Zabbix Server Web 界面中添加 Zabbix agent
- 导航到 Configuration > Hosts。
- 单击 Create host(创建主机)。
- 填写主机详细信息:
- Host name:为 Zabbix agent 设置任何方便的名称,以便在 Zabbix server Web 界面中显示。
- 组:创建新组或选择现有组。组用于组织目的并分配对数据的访问权限。
- 模板:选择与服务器上安装的代理完全相同的模板。
- 接口:添加 Zabbix agent 主机的 IP 地址或域名。
- 如果使用 IP 地址,则必须在 IP 地址字段中输入该地址,然后在 Connect to 部分中选择 IP。
- 如果使用域名,则必须在 DNS 名称部分输入名称,然后在连接到部分中选择 DNS。
- 更新和验证:代理将显示在列表中,并且指标将在 Monitoring > Hosts > Graphs(监控主机图表)下提供。
总结
Zabbix 为硬件、网络和服务提供全面的监控,使其适用于企业环境和个人使用。通过本指南,您已经在 Ubuntu 上设置了 Zabbix server 和 agent,现在已准备好监控各种指标并确保基础架构的运行状况。