Zabbix
Zabbix 是一个功能齐全的监控解决方案,适用于大型网络。它可以使用不同的方法发现各种网络设备,检查机器状态和应用程序,发送预定义的警报消息,并可视化复杂的数据关联。
服务器设置
安装
服务器安装
安装 zabbix-server 软件包。 这包括与 MariaDB 或 PostgreSQL 一起使用的必要脚本。
数据库安装
安装 mariadb 软件包或 postgresql 软件包。
前端安装
安装 zabbix-frontend-php 软件包。 您应该选择一个支持 PHP 的 Web 服务器,例如:
您也可以选择在 Category:Web server 中找到的服务器之一。
配置
将 Zabbix Web 应用程序目录符号链接到您的 http 文档根目录,例如:
$ ln -s /usr/share/webapps/zabbix /srv/http/zabbix
要使 Apache 开箱即用,您需要启用 PHP 集成
在 /etc/php/php.ini
中调整以下变量
extension=bcmath extension=gd extension=sockets extension=mysqli extension=gettext post_max_size = 16M max_execution_time = 300 max_input_time = 300 date.timezone = "UTC"
数据库初始化
MariaDB
在此示例中,我们在 localhost 上为用户 zabbix
创建一个名为 zabbix
的 MariaDB 数据库,密码为 test
,然后导入数据库模板。 此连接稍后将由 Zabbix 服务器和 Web 应用程序使用。
如果您的 MariaDB 安装使用带有密码的 root
帐户,请使用以下命令
$ mariadb -u root -p -e "create database zabbix character set utf8 collate utf8_bin" $ mariadb -u root -p -e "grant all on zabbix.* to zabbix@localhost identified by 'test'"
如果您的 MariaDB 安装使用没有密码的 root
帐户,请使用以下命令
# mariadb -e "create database zabbix character set utf8 collate utf8_bin" # mariadb -e "grant all on zabbix.* to zabbix@localhost identified by 'test'"
使用以下命令导入数据库模板
$ mariadb -u zabbix -p -D zabbix < /usr/share/zabbix-server/mysql/schema.sql $ mariadb -u zabbix -p -D zabbix < /usr/share/zabbix-server/mysql/images.sql $ mariadb -u zabbix -p -D zabbix < /usr/share/zabbix-server/mysql/data.sql
PostgreSQL
对于 PostgreSQL,这些命令将为用户 zabbix
创建一个数据库 zabbix
,这是 zabbix_server.conf
中的默认设置,然后导入架构和初始数据
$ createuser zabbix $ createdb zabbix -O zabbix $ cat /usr/share/zabbix-server/postgresql/{schema,images,data}.sql | psql -U zabbix -d zabbix
数据库配置
现在使用数据库设置编辑 /etc/zabbix/zabbix_server.conf
/etc/zabbix/zabbix_server.conf
DBName=zabbix DBUser=zabbix DBPassword=test LogType=system
ICMP/ping 发现
要在 Zabbix 中使用 ICMP 发现(例如 ping),安装 fping 软件包。
启动
如果您使用的是 MariaDB,启用 并 启动 zabbix-server-mysql.service
单元;如果您使用的是 PostgreSQL,则 启用 并 启动 zabbix-server-pgsql.service
单元。
通过本地 Web 服务器访问 Zabbix,例如:https://127.0.0.1/zabbix/,然后启动安装向导。
默认用户名是 Admin
,密码是 zabbix
。
请参阅附录以获取官方文档的链接,其中解释了使用它的所有后续步骤。
Agent 设置
安装
为每个监控目标安装 zabbix-agent,包括安装了 zabbix-server 的监控服务器。zabbix-server 不再包含 zabbix-agent
。
配置
只需编辑 zabbix_agentd.conf
并将 server 变量替换为您的监控服务器的 IP。 只有来自此/这些 IP 的服务器才被允许访问 agent。
/etc/zabbix/zabbix_agentd.conf
Server=<IP of Zabbix server> ServerActive=<IP of Zabbix server>
此外,请确保您正在监控的设备上的端口 10050
未被阻止且已正确转发。
启动
启用 并 启动 zabbix-agent.service
单元。
技巧和提示
调试 Zabbix agent
在客户端,您可以像这样检查项目的状态
$ zabbix_agentd -t hdd.smart[sda,Temperature_Celsius]
在服务器/监控端,尝试这个
$ zabbix_get -s host -k hdd.smart[sda,Temperature_Celsius]
监控 Arch Linux 系统更新
这里是如何使用自定义 UserParameter
监控您的 Arch Linux 客户端上可用的系统更新的方法
/etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf
/etc/zabbix/zabbix_agentd.conf.d/archlinuxupdates.conf
UserParameter=archlinuxupdates,checkupdates | wc -l
您必须重启 zabbix-agentd
以应用新配置。 您稍后在 Web 前端中使用的项目的关键字是 archlinuxupdates
。 它返回一个整数,表示可用更新的数量。
故障排除
错误 “指定的键过长;最大键长度为 767 字节”
导入数据库时,您可能会收到此错误消息。 为了解决这个问题,您必须更改 MariaDB 数据库的代码页配置:MariaDB#Using UTF8MB4。
由于 MariaDB 数据库版本不受支持,无法启动 Zabbix 服务器
数据库版本很容易超过允许的最大版本。 要绕过此限制,请将以下内容添加到配置文件中
/etc/zabbix/zabbix_server.conf
AllowUnsupportedDBVersions=1
参见
- 官方手册
- Zabbix Share – Zabbix 模板、模块及更多