17.4 Zabbix 监控(基于 PostgreSQL)

安装 zabbix7-server

zabbix7-server 是服务器端(Zabbix Server)。它负责接收和处理监控数据,应安装在监控服务器上。

使用 pkg 安装会额外安装 MySQL,并可能导致绑定冲突,因此推荐使用 Ports 安装:

# cd /usr/ports/net-mgmt/zabbix7-server/ 
# make config

按如图配置,选中 PGSQL 后按回车键:

安装 PostgreSQL

请读者自行完成 PostgreSQL 16 的安装、初始化及服务自启。

安装 Nginx

请读者自行完成 Nginx 的安装和服务自启。

安装 zabbix7-frontend

zabbix7-frontend 是 Web 控制前端(Zabbix Frontend)。

使用 pkg 安装:

上述安装过程会自动安装 PHP,本文中安装的版本是 PHP8.3(写作本文时 PHP8.4 会报错),具体可用版本可以到 zabbix7-frontend 看一下。

或者使用 ports 安装:

PDO

注意所使用的 PHP 版本要与 Zabbix 前端兼容。

使用 pkg 安装:

或者使用 ports 安装:

安装 zabbix7-agent

zabbix7-agent 负责收集监控数据,应安装在被监控的服务器上。

使用 pkg 安装:

或者使用 ports 安装:

守护进程

设置 PostgreSQL 数据库

请读者自行初始化 PostgreSQL 数据库后再执行以下命令:

必须退出再继续:

参考文献

设置 Zabbix Server

Zabbix Server 的主要配置文件位于 /usr/local/etc/zabbix7/zabbix_server.conf

加入以下内容:

设置 Zabbix Agent

Zabbix Agent 的配置文件位于 /usr/local/etc/zabbix7/zabbix_agentd.conf

加入以下内容:

配置 Zabbix 前端

Zabbix 前端配置文件模板位于 /usr/local/www/zabbix7/conf/zabbix.conf.php.example(Zabbix Frontend 配置模板)。

复制 Zabbix 示例配置文件为正式配置文件:

编辑 /usr/local/www/zabbix7/conf/zabbix.conf.php,将:

修改如下:

配置 nginx

备份原有 Nginx 主配置文件:

编辑 /usr/local/etc/nginx/nginx.conf 文件,清空原有内容,修改如下,

配置 PHP

编辑 /usr/local/etc/php.ini-production 文件

将生产环境 PHP 配置文件复制为默认配置文件:

编辑 /usr/local/etc/php.ini 文件:

  • 找到 ;date.timezone = 修改为 date.timezone = Asia/Shanghai(注意要删掉原来开头的 ;

  • 找到 post_max_size = 8M 修改为 post_max_size = 16M

  • 找到 max_execution_time = 30,修改为 max_execution_time = 300

  • 找到 max_input_time = 60,修改为 max_input_time = 300

启动服务

登录

Zabbix Web 前端的默认用户名和密码如下:

  • 用户名:Admin

  • 密码:zabbix

配置中文

故障排除与未竟事宜

日志

  • 代理:/var/log/zabbix/zabbix_agentd.log

  • 服务器端:/var/log/zabbix/zabbix_server.log

  • PHP 相关错误:/var/log/nginx/error.log

待解决

  • 中文显示乱码

  • 部分监控项未显示

  • HTTP 等安全配置待完善

参考文献

最后更新于

这有帮助吗?