前言

之前用过AIDA64来监控自己的电脑
但是之后觉得电脑重装了
退役的二手手机也有点问题就放弃了
前几天在群里看到大佬们说
直接用Zabbix对局域网设备进行性能监控

安装 Zabbix

这里我们直接跟着官方教程走就OK
我们这次就基于Ubuntu Server 22.04 LTS
来安装Zabbix 6.0 LTS

1
https://www.zabbix.com/cn/download

安装 Zabbix 存储库

1
2
3
sudo wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
sudo apt update

安装 Zabbix Server 及其依赖组件

1
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent

安装 MySQL 数据库

1
sudo apt install mysql-server

配置 MySQL 数据库权限

初次登录

初次登录 MySQL 时密码为

1
sudo mysql -uroot -p

修改密码

1
ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'Root_Password';

创建局域网访问用户

出于安全考虑,通常不建议使用 'root'@'%'
相反,您应该创建一个具有更严格主机限制的用户,例如 'user'@'localhost''user'@'192.168.1.%'

1
2
# 创建能在局域网的 Root 用户
CREATE USER 'root'@'192.168.8.%' IDENTIFIED BY 'Root_Password';

授权所有操作权限给 Root 用户

1
2
3
4
# 授予 Root 权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.8.%' WITH GRANT OPTION;
# 刷新权限
FLUSH PRIVILEGES;

配置 Zabbix 数据库及用户

首先我们先来进入我们的MySQL数据库

1
2
# 输入我们的 Root 密码进行创建数据库
sudo mysql -uroot -p<Root Password>

配置数据库和用户

然后我们创建 Zabbix 数据库和配置管理用户

1
2
3
4
5
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;
set global log_bin_trust_function_creators = 1;
quit;

导入 Zabbix 初始架构和数据

1
sudo zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

禁用 log_bin_trust_function_creators 选项

我们先登录我们的数据库

1
mysql -uroot -p

然后我们进入数据库后配置该选项

1
2
set global log_bin_trust_function_creators = 0;
quit;

为 Zabbix Server 配置数据库

编辑zabbix_server.conf,添加刚创建的数据表

1
sudo vim /etc/zabbix/zabbix_server.conf

我们主要关注的就是下面这三项

1
2
3
DBName=zabbix
DBUser=zabbix
DBPassword=<zabbix_password>

配置 PHP for Zabbix frontend

因为PHP的配置文件里的时区信息默认是Europe/Riga
所以我们现在需要修改成本地时区

1
sudo vim /etc/zabbix/apache.conf

因为配置文件里同时有PHP5PHP7
所以我们都同时修改吧

1
2
- #php_value date.timezone Europe/Riga
+ php_value date.timezone Asia/Shanghai

配置服务开机自启

之前所有的配置我们都🆗了
那我们就来重启服务看看效果
还有顺便把服务设置为开机自启

1
2
3
4
# 重启服务
sudo systemctl restart zabbix-server zabbix-agent apache2
# 配置服务开启自启
sudo systemctl enable zabbix-server zabbix-agent apache2

配置 Ubuntu Server 中文支持

因为要使用Zabbix自带的中文语言包
我们需要Ubuntu Server也安装上中文环境

安装中文语言包

1
sudo apt-get install language-pack-zh-hans

安装中文字体

我们这里学习dalao
使用文泉驿的字体
因为免费又方便
直接apt拉取就OK

1
sudo apt-get install fonts-wqy-zenhei fonts-wqy-microhei

Zabbix 替换字体

替换Zabbix默认的graphfont字体为wqy-microhei中文字体
因为Zabbix只能识别出ttf字体文件
需要将ttc扩展名改为ttf

1
2
3
4
5
6
sudo find / -name defines.inc.php
cat /usr/share/zabbix/include/defines.inc.php
sudo find / -name wqy.*
sudo cp /usr/share/fonts/truetype/wqy/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/wqy-microhei.ttf
sudo cp /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc /usr/share/zabbix/assets/fonts/wqy-zenhei.ttf
sudo sed -i 's/graphfont/wqy-microhei/g' /usr/share/zabbix/include/defines.inc.php

通过命令更新语言设置

1
2
sudo dpkg-reconfigure locales
sudo locale-gen

配置 Zabbix 前端

登录 Zabbix Web 安装界面

前面的配置都搞好之后
我们就直接打开浏览器输入

1
http://<Zabbix_Server_IP>/zabbix

然后我们能看到Zabbix Web安装界面
而且因为我们刚刚配置了中文语言环境
我们这里可以选择Chinese(zh-cn)

必要条件检测

然后我们检测Zabbix所需要组件是否满足

配置 Zabbix 数据库连接参数

然后我们输入我们MySQLzabbix用户的密码

确认 Zabbix Server 参数

安装前汇总

在这里我们还能再Confirm一下

完成安装

然后我们会跳转到Zabbix的主页

1
2
默认账号: Admin
默认密码: zabbix

已知 Bug

我们在使用了好几天Zabbix之后
发现了某些图表中会出现乱码

图表字体乱码

我们修改一下配置文件
让他也用上我们之前下载好的字体就🆗

添加字体

因为之前我们汉化系统时已经下载好字体了
大家想换其他字体就把字体文件拉来这个目录把

1
/usr/share/zabbix/assets/fonts

修改图表页面字体配置

1
sudo vim /usr/share/zabbix/include/defines.inc.php

然后我们直接进行修改

1
2
- define('ZBX_GRAPH_FONT_NAME','graphfont');
+ define('ZBX_GRAPH_FONT_NAME','wqy-microhei');

然后保存配置文件
重新刷新页面即可

参考 & 引用

https://www.zabbix.com/cn/download
https://www.jianshu.com/p/9d4e163b7e51
https://zhuanlan.zhihu.com/p/587415883
https://blog.51cto.com/u_14845098/3832872