Zabbix6.0、Agent2 安装配置步骤 (Ubuntu操作系统) 实现对Agent的监控

1,085 阅读6分钟

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

  1. 添加 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
  1. 安装 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 初始化数据库

  1. 使用命令初始化数据库,可能需要几分钟时间
  zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -u{DB用户名: zabbix} -p {数据库名: zabbix}
  1. 初始化完成 关闭 MySQL 的 log_bin_trust_function_creators 选项
  mysql -uroot -p
  set global log_bin_trust_function_creators = 0;
  quit;
  1. 初始化完成后可以进入数据库查看初始化新建的表
  mysql -u{DB用户名: zabbix} -p
  use {数据库名: zabbix};
  show table;

2.3 修改 zabbix-server 的配置

  1. 配置数据库密码
  # 配置数据库密码 可以使用这种命令的方式 也可以直接使用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 管理端

  1. 浏览器打开前端页面根据步骤进行配置(http://[IP]:[端口号]/) 配置完成后自动进入系统,可看到当前的 server 主机已被添加到设备列表,并且设置好了几个相关的模板,监控了 server 服务器的一些信息。 配置信息会自动写入 /etc/zabbix/web/zabbix.conf.php 后期如需更改配置可以直接编辑此文件:
  sudo vim /etc/zabbix/web/zabbix.conf.php
  1. 配置完成后,自动跳转到登录页面,输入默认的账号密码进行登录:
  用户名:Admin
  密码:zabbix
  1. 登录后找到 User settings,将字体改为简体中文、时区改为 (UTC+08:00) Asia/Shanghai,然后检查服务器的时区,设置为和 rabbix 一致
  # 查看当前时区
  date -R
  # 修改当前时区 具体命令自行查询
  1. 进入 "监测 -> 主机 -> 图形" 页面,会发现中文字体存在乱码,需要替换 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 系统,安装步骤如下

  1. 添加 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
  1. 安装 zabbix-agent2
  sudo apt install zabbix-agent2 zabbix-agent2-plugin-*
  1. 配置。

    • 如果是在 zabbix-server 上安装的 agent,则 agent 会自动连接 server,无需再额外配置。
    • 如果是在被监控的主机上安装 agent,请参考3.2 agent 的配置。
  2. 启动并设置开机自启

  sudo systemctl restart zabbix-agent2
  sudo systemctl enable zabbix-agent2

3.1.2 其它系统离线安装

各操作系统均可进行离线安装,步骤如下:

  1. 访问 Zabbix 官方资源库 repo.zabbix.com
  2. 找到目录 zabbix/6.0(版本号)
  3. 找到对应操作系统的对应版本,下载 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
  4. 正常安装、启动、设置开机自启即可

3.2 agent 的被动(passive)检查、主动(active)检查模式,以及配置

  1. 被动检查,agent 被动接受 server 的访问 (默认的模式):
    • [ zabbix-server ] - 访问 => [ zabbix-agent 的 10050 端口 ]
  2. 主动检查,agent 主动访问 server:
    • [ zabbix-agent ] - 访问 => [ zabbix-server 的 10051 端口 ]
  3. 两种检查模式可以同时存在、同时配置,互不冲突,推荐在配置时同时将两种模式都配置好。

3.2.1 配置

  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
  1. agent 配置完成后,需要将 agent 服务器添加到 server,建立关联   在 server 的 Web 管理页面中,配置 -> 主机 -> 创建主机:  
    • 填写主机名称,可随意填写(一般推荐填写上面配置的 Hostname),然后在 interface 中添加客户端,填写 agent 客户端的服务器 IP  
    • 群组可以选择已有的,也可以创建一个新的  
    • 选择模板,可以根据需要选择 (使用什么模板,就是监控什么内容,模板中包含监控项、触发器、图形等):
      • 主动模式的模板 (一般后缀 active,如 Linux 系统监控模板:Linux by Zabbix agent active)
      • 被动模式的模板 (一般无特殊后缀,如 Linux 系统监控模板:Linux by Zabbix agent)
      • 对于 Linux 系统的主机,我们一般会在上述两个模板中选择一个。  
    • 填写好配置,点击添加按钮,主机添加完成。  
    • 选择被动模式模板时,一般需要等待片刻,“可用性图标”变成绿色,表示连接成功。
    • 选择主动模式模板时,server 不会访问 agent,“可用性图标”会一直保持灰色,可以等待片刻后查看最新数据,有数据即连接成功。