想在Ubuntu上部署zabbix6,我的Ubuntu版本为23,
但zabbix官方仓库,支持的Ubuntu版本只有22,24
先用22的包:
# 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
# apt update
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
到这一步,提示翻译过来大概就是:23的依赖版本太高,真想用得回退
那就别了,我用24的包,删掉22包之后,
# wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-6+ubuntu24.04_all.deb
# dpkg -i zabbix-release_6.0-6+ubuntu24.04_all.deb
# apt update
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
这回提示缺依赖,但升级的话目前没有这个依赖...
可快算了,我老实用Ubuntu24.04。
下好镜像,装好后,先把open-vm-tools,openssh-server,net-tools这三样装好。
配置清华源,ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-backports main restricted universe multiverse # 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换 deb http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse # deb-src http://security.ubuntu.com/ubuntu/ noble-security main restricted universe multiverse # 预发布软件源,不建议启用 # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-proposed main restricted universe multiverse # # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ noble-proposed main restricted universe multiverse
apt update
出现预警:
在 /etc/apt/sources.list:13 和 /etc/apt/sources.list.d/ubuntu.sources:2 中被配置了多次
就是说source.list中配置的源内容,与source.list.d/ubuntu.source中配置的冲突了,这个后续可以注释掉。
Ubuntu apt源文件的讲解可以看这位作者写的:
详解Ubuntu的source.list文件_sources.list-CSDN博客
看到zabbix官方文档说:
那就给他确保一下,先装MySQL8
给MySQL APT仓库添加MySQL8的仓库:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
报404.
那就直接apt install -y mysql-server
systemctl start mysql
systemctl enable mysql
MySQL提供了一个安全安装脚本,可以帮助设置root密码并删除不必要的测试数据库和匿名用户。
sudo mysql_secure_installation
这的MySQL直接一个mysql就进去了,没有加skip-grant-tables就进去了
查阅了MySQL官方文档:
MySQL :: MySQL 8.4 Reference Manual :: 2.9.4 Securing the Initial MySQL Account
MySQL :: MySQL 8.4 Reference Manual :: 2.9.1 Initializing the Data Directory
MySQL :: MySQL 8.4 Reference Manual :: 7.1.8 Server System Variables
估摸是这些原因,数据库软件不是主要目的,不浪费时间了,主要是把zabbix整体环境搭出来,MySQL不好卸干净,直接快照回去,安装Postgresql:
步骤 1:更新系统包
apt update
步骤 2:安装PostgreSQL服务器和客户端。
apt install postgresql postgresql-contrib
步骤 3:启动和启用PostgreSQL服务
systemctl start postgresql
systemctl enable postgresql
步骤 4:切换到PostgreSQL用户
PostgreSQL默认创建一个名为postgres的用户。需要切换到该用户以进行进一步配置。
sudo -i -u postgres
步骤 5:访问PostgreSQL命令行界面
以postgres用户身份登录PostgreSQL命令行界面。
psql
步骤 6:设置PostgreSQL用户密码
在PostgreSQL命令行界面中,设置postgres用户的密码。
\password postgres
系统会提示输入并确认新密码。
步骤 7:退出PostgreSQL命令行界面和用户
设置完成后,退出PostgreSQL命令行界面。
\q
然后退出postgres用户。
exit
pgsql目前就算安好了,接下来安装zabbix:产品手册
Install Zabbix repository
# wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-6+ubuntu24.04_all.deb
# dpkg -i zabbix-release_6.0-6+ubuntu24.04_all.deb
# apt update
安装Zabbix server,Web前端,agent
# apt install zabbix-server-pgsql zabbix-frontend-php php8.3-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-agent
在数据库主机上运行以下代码。
# sudo -u postgres createuser --pwprompt zabbix
# sudo -u postgres createdb -O zabbix zabbix
导入初始架构和数据,系统将提示您输入新创建的密码。
# zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
这一步zabbix低版本的下下来,不提供这个压缩包了,可以下载对应版本zabbix源码包,本地解压缩后,把database中对应数据库的sql文件ftp上去。
为Zabbix server配置数据库
编辑配置文件 /etc/zabbix/zabbix_server.conf
DBPassword=密码
配置 PHP 前端
编辑 PHP 配置文件 /etc/zabbix/apache.conf 或 /etc/zabbix/php-fpm.conf(具体路径可能因安装方式不同而异),确保设置合适的时区:
vim /etc/zabbix/apache.conf
找到并设置:
php_value date.timezone Asia/Shanghai
去清华大学 TUNA 协会主页找ntp服务器配置,
使用 systemd-timesyncd 的用户需要修改 /etc/systemd/timesyncd.conf
,将其中 NTP=
一行取消注释,修改为 NTP=ntp.tuna.tsinghua.edu.cn
。同时建议校内用户在 FallbackNTP
一栏中添加服务总览中提到的备用 NTP。修改好后,可使用 systemctl restart systemd-timesyncd
使配置生效。
使用 ntpd 的用户需要在 /etc/ntp.conf
中添加一行 server ntp.tuna.tsinghua.edu.cn
。(若您的发行版使用 Chrony,请修改对应的配置文件 /etc/chrony.conf
。)
为了确保 ntpd 服务正在运行,使用你的发行版的 initscripts 脚本或 systemctl
(若有)进行检查和修正。
如果你的机器的时钟发生跳变不会有严重后果 (例如在你的笔记本上),你可以使用 sudo sntp ntp.tuna.tsinghua.edu.cn
进行一次性的同步。
启动Zabbix server和agent进程
启动Zabbix server和agent进程,并为它们设置开机自启:
# systemctl restart zabbix-server zabbix-agent apache2
# systemctl enable zabbix-server zabbix-agent apache2
配置防火墙
ufw allow 80/tcp
ufw allow 10051/tcp
我自己添加了5432端口,/etc/postgresql/16/main/postgresql.conf下能看到pgsql的默认端口号
根据pgsql官方文档 PostgreSQL: Documentation: 16: Chapter 55. Frontend/Backend Protocol
PostgreSQL uses a message-based protocol for communication between frontends and backends (clients and servers). The protocol is supported over TCP/IP and also over Unix-domain sockets. Port number 5432 has been registered with IANA as the customary TCP port number for servers supporting this protocol, but in practice any non-privileged port number can be used.
走的也是TCP,所以:
ufw allow 5432/tcp
ufw reload
浏览器里输入http://host/zabbix,按照向导完成安装
默认的登录信息是:
用户名:Admin
密码:zabbix
完成后
注意:下面解决字体问题,建议先停掉zabbix等相关服务,否则会报警告:
systemctl stop zabbix-server zabbix-agent apache2
在 监测-主机-图形 中,图表下方会有小白方框,那是字体没设置好,根据这两篇文章
ubuntu20.04解决zabbix5.0 图形显示乱码问题 - 向往明天-tsingyun - 博客园 (cnblogs.com)
Ubuntu添加和设置默认中文字体_修改ubuntu默认中文字体-CSDN博客
在C:\Windows\Fonts目录下,找到字体,如雅黑,复制出来ttc后缀改为ttf,ftp到ubuntu上,
上传到zabbix-server的指定目录下 /usr/share/zabbix/assets/fonts
chmod +777 msyhl.ttf
修改zabbix-server配置文件如下:
vim /usr/share/zabbix/include/defines.inc.php
注释掉graphfont那一行,在其底下新增一行:
#define('ZBX_GRAPH_FONT_NAME', 'graphfont');
define('ZBX_GRAPH_FONT_NAME', 'msyhl');
接着重启apache2,zabbix-server服务
systemctl restart zabbix-server apache2
若未修改前关闭服务,会出现告警:
这个警告表示 apache2.service 的单元文件或其源配置文件已在磁盘上更改。如果你修改了 Apache 的配置文件或安装了新的软件包,需要重新加载 systemd 以应用这些更改。
可以通过以下命令来重新加载 systemd 配置:
systemctl daemon-reload
然后,重启 Apache 服务以确保所有更改生效:
systemctl restart apache2
若是已经关闭,直接
systemctl start zabbix-server zabbix-agent apache2
接着刷新web图形界面,乱码消失:
参考文章:
4 Installation from packages (zabbix.com)
MySQL :: A Quick Guide to Using the MySQL APT Repository
MySQL :: MySQL 8.4 Reference Manual
PostgreSQL: Documentation: 16: Chapter 55. Frontend/Backend Protocol
TUNA NTP (网络授时) 服务使用说明 | 清华大学 TUNA 协会
ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
详解Ubuntu的source.list文件_sources.list-CSDN博客
ubuntu20.04解决zabbix5.0 图形显示乱码问题 - 向往明天-tsingyun - 博客园 (cnblogs.com)