记录我在设置 Zabbix 6.4 时的备忘。
将采用 Zabbix + Nginx + php-fpm + PostgreSQL + TimescaleDB 的构成。
| 目标环境 | 版本 |
|---|---|
| Ubuntu | 22.04 |
| Zabbix | 6.4 |
| PostgreSQL | 15 |
| Nginx | 1.18.0 |
| php-fpm | 8.1.2 |
仓库的注册
# wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb
# dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb
# apt update
Zabbix 的安装
# apt install zabbix-server-pgsql zabbix-frontend-php php8.1-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
postgresql 的安装
# apt install
PostgreSQL 的安装
- 添加仓库和安装
# apt install software-properties-common gnupg postgresql-common apt-transport-https lsb-release wget
# /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
# echo "deb https://packagecloud.io/timescale/timescaledb/ubuntu/ $(lsb_release -c -s) main" | sudo tee /etc/apt/sources.list.d/timescaledb.list
# wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo apt-key add -
# apt update
# apt install timescaledb-2-postgresql-15
- 启用 localhost 监听
# sed -i "/#listen_addresses/a listen_addresses = 'localhost'" /etc/postgresql/15/main/postgresql.conf
- 启用 TimescaleDB
# sed -i "/#shared_preload/a shared_preload_libraries = 'timescaledb'" /etc/postgresql/15/main/postgresql.conf
- 反映
# systemctl restart postgresql
数据库的设置
- 设置密码和创建数据库
# 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
- 启用 TimescaleDB
# echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
- 导入 TimescaleDB 的初始模式
# cat /usr/share/zabbix-sql-scripts/postgresql/timescaledb.sql | sudo -u zabbix psql zabbix
nginx 的设置
- 删除 nginx 的默认配置
# rm -v /etc/nginx/sites-enabled/default
由于会显示欢迎使用 nginx,因此需要删除。
- /etc/zabbix/nginx.conf
有用于 Zabbix 的 nginx 配置。
由于已在 /etc/nginx/conf.d 中创建符号链接,请适时进行修改。
- 反映 nginx 的设置
# systemctl reload nginx
UI 的设置
- 在网页浏览器中访问。
http://<服务器IP地址>/
欢迎
- 将“默认语言”设置为
Japanise(ja_JP)
此时,如果 Ubuntu 的 locales 中不包含 ja_JP.UTF-8,则无法选择。
- 安装 ja_JP.UTF-8
# apt install language-pack-ja
- 重启 php-fpm
# systemctl restart php8.1-fpm
这样就可以选择 Japanise(ja_JP) 了。
前提条件的检查
- 确保所有项都为 OK
数据库连接设置
- 设置数据库密码
设置参数的确认
- 设置适当的 Zabbix 服务器名称
- 将“默认时区”设为
(UTC+09:00) Asia/Tokyo
登录
| 登录信息 | - |
|---|---|
| 用户名 | Admin |
| 密码 | zabbix |
请在登录后更改密码。
zabbix-server 的启动
# systemctl start zabbix-server
图表的文字化问题修复
如果未安装日文字体,图表中的日文将会乱码。
- 安装日文字体
# apt install fonts-ipafont-gothic
- 注册为 zabbix 使用的字体
# update-alternatives --install /usr/share/zabbix/assets/fonts/graphfont.ttf zabbix-frontend-font /usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf 20
- 确认已设置为 ipafont-gothic。
# update-alternatives --config zabbix-frontend-font
这样就可以解决图表的文字乱码问题。