1 安装配置 MySQL 8.0
1.1 下载 MySQL 官方的 APT 配置包
访问 dev.mysql.com/downloads/r… 获取最新下载链接 攥写本文时最新下载链接为: dev.mysql.com/get/mysql-a…
# 下载
wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb
# 安装此APT配置包 安装过程中可能会出现选择项,通过上下键选择OK继续安装即可
sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb
# 更新APT软件源
sudo apt update
1.2 安装 mysql-server
# 安装 安装过程会出现选择项 按照提示设置root用户的密码即可
sudo apt install mysql-server
# 安装完成后会自动启动 使用命令查看服务是否启动
sudo systemctl status mysql
1.3 创建 zabbix 的数据库
mysql -uroot -p
{password}
create database zabbix character set utf8mb4 collate utf8mb4_bin
1.4 创建 zabbix 的用户名、密码,并授予其数据库的所有权限
-- create user zabbix@localhost identified with mysql_native_password by '密码';
create user {DB用户名: zabbix}@localhost identified by '密码';
-- 授予zabbix数据库的所有权限给到zabbix用户
grant all privileges on {数据库名: zabbix}.* to zabbix@localhost;
-- 启用log_bin_trust_function_creators选项 zabbix数据库初始化完成后再关闭
set global log_bin_trust_function_creators = 1;
quit;
2 安装配置 zabbix
2.1 安装 zabbix
- 添加 zabbix 6.0 的仓库
# 摘自官方文档 如有速度问题 可另寻其它源
wget wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4%2Bubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
sudo apt update
- 安装 zabbix-server、zabbix-fronted-php、zabbix-nginx-conf、zabbix-sql-scripts (数据库初始化脚本)
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts
2.2 使用 zabbix-sql-script 初始化数据库
- 使用命令初始化数据库,可能需要几分钟时间
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -u{DB用户名: zabbix} -p {数据库名: zabbix}
- 初始化完成 关闭 MySQL 的 log_bin_trust_function_creators 选项
mysql -uroot -p
set global log_bin_trust_function_creators = 0;
quit;
- 初始化完成后可以进入数据库查看初始化新建的表
mysql -u{DB用户名: zabbix} -p
use {数据库名: zabbix};
show table;
2.3 修改 zabbix-server 的配置
- 配置数据库密码
# 配置数据库密码 可以使用这种命令的方式 也可以直接使用vi编辑: sudo vim /etc/zabbix/zabbix_server.conf
sudo sed -i 's#\# DBPassword=#DBPassword={数据库密码}#g' /etc/zabbix/zabbix_server.conf
# 查看配置的数据库密码
sudo grep "DBPassword=" /etc/zabbix/zabbix_server.conf
2.4 配置 nginx
编辑配置文件 /etc/zabbix/nginx.conf,取消注释并设置“listen”和“server_name”
# 使用vim编辑配置文件 配置以下两项
sudo vim /etc/zabbix/nginx.conf
# listen 8080;
# server_name example.com;
2.5 启动 server、nginx 进程
# 启动
sudo systemctl start zabbix-server nginx php8.1-fpm
# 设置开机自启动
sudo systemctl enable zabbix-server nginx php8.1-fpm
# 检查状态
sudo systemctl status zabbix-server nginx php8.1-fpm
2.6 配置 PHP 管理端
- 浏览器打开前端页面根据步骤进行配置(http://[IP]:[端口号]/) 配置完成后自动进入系统,可看到当前的 server 主机已被添加到设备列表,并且设置好了几个相关的模板,监控了 server 服务器的一些信息。 配置信息会自动写入 /etc/zabbix/web/zabbix.conf.php 后期如需更改配置可以直接编辑此文件:
sudo vim /etc/zabbix/web/zabbix.conf.php
- 配置完成后,自动跳转到登录页面,输入默认的账号密码进行登录:
用户名:Admin
密码:zabbix
- 登录后找到 User settings,将字体改为简体中文、时区改为 (UTC+08:00) Asia/Shanghai,然后检查服务器的时区,设置为和 rabbix 一致
# 查看当前时区
date -R
# 修改当前时区 具体命令自行查询
- 进入 "监测 -> 主机 -> 图形" 页面,会发现中文字体存在乱码,需要替换 zabbix 网页的图形字体文件来修复乱码问题:
# 安装开源的"文泉驿微米黑"字体
sudo apt install ttf-wqy-microhei
# 查看目录 目录下应该存在一个字体文件:wqy-microhei.ttc
ls -l /usr/share/fonts/truetype/wqy/
# 使用此字体文件替换 zabbix 的图形字体
sudo cp /usr/share/fonts/truetype/wqy/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf
# 再次打开"图形"页面 查看中文文字 正常显示
3 安装配置 agent2
3.1 安装
3.1.1 zabbix-server 安装 agent2
我的 zabbix-server 为 Ubuntu 系统,安装步骤如下
- 添加 zabbix-agent2 的仓库
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4%2Bubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
sudo apt update
- 安装 zabbix-agent2
sudo apt install zabbix-agent2 zabbix-agent2-plugin-*
-
配置。
- 如果是在 zabbix-server 上安装的 agent,则 agent 会自动连接 server,无需再额外配置。
- 如果是在被监控的主机上安装 agent,请参考3.2 agent 的配置。
-
启动并设置开机自启
sudo systemctl restart zabbix-agent2
sudo systemctl enable zabbix-agent2
3.1.2 其它系统离线安装
各操作系统均可进行离线安装,步骤如下:
- 访问 Zabbix 官方资源库 repo.zabbix.com
- 找到目录 zabbix/6.0(版本号)
- 找到对应操作系统的对应版本,下载 agent2 安装包及其两个 plugin 依赖,如 CentOS7 的:
- zabbix-agent2-6.0.13-release1.el7.x86_64.rpm
- zabbix-agent2-plugin-mongodb-6.0.13-release1.el7.x86_64.rpm
- zabbix-agent2-plugin-postgresql-6.0.13-release1.el7.x86_64.rpm
- 正常安装、启动、设置开机自启即可
3.2 agent 的被动(passive)检查、主动(active)检查模式,以及配置
- 被动检查,agent 被动接受 server 的访问 (默认的模式):
- [ zabbix-server ] - 访问 => [ zabbix-agent 的 10050 端口 ]
- 主动检查,agent 主动访问 server:
- [ zabbix-agent ] - 访问 => [ zabbix-server 的 10051 端口 ]
- 两种检查模式可以同时存在、同时配置,互不冲突,推荐在配置时同时将两种模式都配置好。
3.2.1 配置
- 配置 agent 为被动检查模式
# 修改 agent 的配置文件:/etc/zabbix/zabbix_agent2.conf
Server={zabbix-server的IP}
Hostname={本机agent的主机名,通常可以写成本机IP,也可注释掉不设置:默认为设备的hostname}
- 还要配置 agent 服务器的防火墙开放 10050 端口,以供 server 访问
2. 配置 agent 为主动检查模式
# 修改 agent 的配置文件:/etc/zabbix/zabbix_agent2.conf
ServerActive={zabbix-server的IP}
Hostname={本机agent的主机名,通常可以写成本机IP;也可注释掉不设置:默认为设备的hostname}
- 还要配置 zabbix-server 服务器的防火墙开放 10051 端口,以供 agent 访问
- 由于攥写本文时 zabbix-server 使用的 Ubuntu22.04 默认关闭防火墙,所以无需配置开放端口
# Ubuntu检查防火墙是否开启的命令:
sudo ufw status
- agent 配置完成后,需要将 agent 服务器添加到 server,建立关联
在 server 的 Web 管理页面中,配置 -> 主机 -> 创建主机:
- 填写主机名称,可随意填写(一般推荐填写上面配置的 Hostname),然后在 interface 中添加客户端,填写 agent 客户端的服务器 IP
- 群组可以选择已有的,也可以创建一个新的
- 选择模板,可以根据需要选择 (使用什么模板,就是监控什么内容,模板中包含监控项、触发器、图形等):
- 主动模式的模板 (一般后缀 active,如 Linux 系统监控模板:Linux by Zabbix agent active)
- 被动模式的模板 (一般无特殊后缀,如 Linux 系统监控模板:Linux by Zabbix agent)
- 对于 Linux 系统的主机,我们一般会在上述两个模板中选择一个。
- 填写好配置,点击添加按钮,主机添加完成。
- 选择被动模式模板时,一般需要等待片刻,“可用性图标”变成绿色,表示连接成功。
- 选择主动模式模板时,server 不会访问 agent,“可用性图标”会一直保持灰色,可以等待片刻后查看最新数据,有数据即连接成功。