如何在 Ubuntu 22.04 上安装和配置 Zabbix Server 6

2022年 10月 22日 162.6k 0

Zabbix 是一个开源监控软件工具,适用于各种 IT 组件,包括网络、服务器、虚拟机和云服务。Zabbix 提供监控指标,其中包括网络利用率、CPU 负载和磁盘空间消耗。Zabbix 具有丰富的功能集,使用户能够监控的不仅仅是主机,在为每种情况选择最合适的选项时为管理员提供了极大的灵活性。

Zabbix 使用基于 XML 的模板,其中包含要监控的元素。Zabbix 的后端是用 C 编程编写的,PHP 用于 Web 前端。 Zabbix 可以根据为您的 IT 环境定义的指标和阈值向您发送 警报 以通知不同的事件和问题。它支持基于代理和无代理的监控。但是 Zabbix 代理安装可以帮助您获得详细的监控,例如 CPU 负载、网络、磁盘空间利用率。

在撰写本文时,最新的 Zabbix 版本是 6.0。在本指南中,我们将学习如何在 Ubuntu 22.04 上安装和配置 Zabbix。

1、确保服务器包是最新的

在继续之前,让我们使用以下命令确保我们的服务器包是最新的:

sudo apt update
sudo apt -y upgrade

让我们也安装一些我们需要的常用包

sudo apt install -y vim

2.安装Mariadb

Zabbix 需要 mysql 才能运行。Mariadb 是一个流行的开源关系管理系统。我们将在本指南中使用它。它在默认存储库中以 mariadb-server. 有关详细指南,请查看如何在 Ubuntu 22.04 中安装和配置 Mariadb 10。

安装 Mariadb:

sudo apt install -y mariadb-server

安装 mariadb 后,您可以使用以下命令确认详细信息:

$ apt-cache policy mariadb-server
mariadb-server:
  Installed: 1:10.6.7-2ubuntu1.1
  Candidate: 1:10.6.7-2ubuntu1.1
  Version table:
 *** 1:10.6.7-2ubuntu1.1 500
        500 http://europe-west1.gce.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages
        100 /var/lib/dpkg/status
     1:10.6.7-2ubuntu1 500
        500 http://europe-west1.gce.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages

该服务将默认启动。使用以下命令确认状态:

$ sudo systemctl status mariadb
● mariadb.service - MariaDB 10.6.7 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-10-20 18:48:44 UTC; 18s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 104565 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Process: 104566 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 104568 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
    Process: 104607 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 104609 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
   Main PID: 104597 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 11 (limit: 4392)
     Memory: 56.9M
        CPU: 594ms
     CGroup: /system.slice/mariadb.service
             └─104597 /usr/sbin/mariadbd

Oct 20 18:48:44 unstable-ubuntusrv mariadbd[104597]: Version: '10.6.7-MariaDB-2ubuntu1.1'  socket: '/run/mysqld/mysqld.sock'  port: 3306  Ubuntu 22.04
Oct 20 18:48:44 unstable-ubuntusrv systemd[1]: Started MariaDB 10.6.7 database server.
Oct 20 18:48:44 unstable-ubuntusrv /etc/mysql/debian-start[104611]: Upgrading MySQL tables if necessary.
Oct 20 18:48:44 unstable-ubuntusrv /etc/mysql/debian-start[104614]: Looking for 'mysql' as: /usr/bin/mysql
Oct 20 18:48:44 unstable-ubuntusrv /etc/mysql/debian-start[104614]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Oct 20 18:48:44 unstable-ubuntusrv /etc/mysql/debian-start[104614]: This installation of MariaDB is already upgraded to 10.6.7-MariaDB.
Oct 20 18:48:44 unstable-ubuntusrv /etc/mysql/debian-start[104614]: There is no need to run mysql_upgrade again for 10.6.7-MariaDB.
Oct 20 18:48:44 unstable-ubuntusrv /etc/mysql/debian-start[104614]: You can use --force if you still want to run mysql_upgrade
Oct 20 18:48:44 unstable-ubuntusrv /etc/mysql/debian-start[104622]: Checking for insecure root accounts.
Oct 20 18:48:44 unstable-ubuntusrv /etc/mysql/debian-start[104628]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables

要确保 mariadb 在启动时启动,请使用以下 systemd 命令启用它:

sudo systemctl enable mariadb

一旦 mysql 服务运行,您需要对其进行保护。Mysql 提供了一个命令行实用程序来执行此操作:

sudo mysql_secure_installation

上面的命令将引导您通过提示来保护和设置 mysql 实例的 root 密码。

要确认安装的 MariaDB 版本,请运行以下命令:

$ mysql -V
mysql  Ver 15.1 Distrib 10.3.32-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

3、为Zabbix创建mysql用户

我们将为 zabbix 创建一个专用用户。在此处查看有关管理 mysql 权限的指南 。

连接到mysql服务器:

mysql -u root -p

提供您的 root 密码后,在 mysql 提示符下输入以下内容:

create database zabbix character set utf8 collate utf8_bin;
create user 'zabbix_user'@'%' identified by 'S0mStrongPa$$word';
grant all privileges on zabbix.* to 'zabbix_user'@'%';

保存用户名、数据库名和密码,稍后我们将需要它们。

现在我们已经配置了 mysql 连接,让我们进入下一部分安装和配置 PHP。

4、安装PHP和所需的php模块

Zabbix 服务器使用 PHP。我们需要安装和配置 PHP 以使 zabbix 工作。

安装 PHP 和Zabbix安装所需的 PHP 模块 :

sudo apt install -y \
    php \
    php-cli \
    php-common \
    php-fpm \
    php-curl \
    php-mysqlnd

检查php版本

$ php -v
PHP 8.1.2 (cli) (built: Aug  8 2022 07:28:23) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies

5、安装 Apache Web 服务器

接下来,让我们在系统中安装 Apache。使用此命令安装 Apache Web 服务器。

sudo apt install -y apache2

Apache 2 将默认启动。使用以下命令检查状态:

$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-10-20 18:50:48 UTC; 3min 36s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 113972 (apache2)
      Tasks: 34 (limit: 4392)
     Memory: 34.9M
        CPU: 308ms
     CGroup: /system.slice/apache2.service
             ├─113972 /usr/sbin/apache2 -k start
             ├─114005 /usr/sbin/apache2 -k start
             ├─114006 /usr/sbin/apache2 -k start
             ├─114007 /usr/sbin/apache2 -k start
             ├─114008 /usr/sbin/apache2 -k start
             ├─114009 /usr/sbin/apache2 -k start
             └─114010 /usr/sbin/apache2 -k start

Oct 20 18:50:47 unstable-ubuntusrv systemd[1]: Starting The Apache HTTP Server...
Oct 20 18:50:48 unstable-ubuntusrv systemd[1]: Started The Apache HTTP Server.

Active: active (running) 表示该服务现在已启动并正在运行。

要在启动时启用服务,请使用以下命令:

sudo systemctl enable apache2

6、为 Zabbix 编辑 PHP 和 php-fpm 配置

更新 php 配置以优化 Zabbix 安装。

打开php.ini文件

sudo vim /etc/php/8.1/cli/php.ini

然后将这些设置修改为显示的值。更新时区以适合您的。

memory_limit = 2G
max_execution_time = 360
date.timezone = Africa/Nairobi
cgi.fix_pathinfo=0

接下来让我们编辑 php-fpm 设置。

sudo vim /etc/php/8.1/fpm/pool.d/www.conf

然后更新这些值

listen = /run/php/php8.1-fpm.sock
 
user = www-data
group = www-data

listen.allowed_clients = 0.0.0.0
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
pm = dynamic

保存更改并退出文件。

7、启动并启用php-fpm服务

php-fpm 服务默认启动。通过检查状态确认:

$ sudo systemctl status php8.1-fpm
● php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-10-20 18:50:53 UTC; 9min ago
       Docs: man:php-fpm8.1(8)
   Main PID: 114987 (php-fpm8.1)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
      Tasks: 3 (limit: 4392)
     Memory: 8.2M
        CPU: 129ms
     CGroup: /system.slice/php8.1-fpm.service
             ├─114987 "php-fpm: master process (/etc/php/8.1/fpm/php-fpm.conf)" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             ├─114988 "php-fpm: pool www" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
             └─114989 "php-fpm: pool www" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""

Oct 20 18:50:53 unstable-ubuntusrv systemd[1]: Starting The PHP 8.1 FastCGI Process Manager...
Oct 20 18:50:53 unstable-ubuntusrv systemd[1]: Started The PHP 8.1 FastCGI Process Manager.

使服务在启动时启动

sudo systemctl enable php8.1-fpm

至此,我们已经成功安装了 LAMP 堆栈。我们现在可以安装 Zabbix

8、安装Zabbix

Zabbix 在默认的 Ubuntu 存储库中不可用,但它提供了一个存储库。

首先下载并安装zabbix仓库

curl -LO https://repo.zabbix.com/zabbix/6.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.2-2%2Bubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.2-2%2Bubuntu22.04_all.deb

安装存储库后,安装 Zabbix 服务器、Zabbix 代理和相关的 Zabbix 包。

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

接下来,导入数据库模式:

sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix_user -p zabbix

当提示输入密码时,提供 Zabbix 用户的密码。

编辑 Zabbix 配置文件并更新数据库凭据

sudo vim /etc/zabbix/zabbix_server.conf

确保 DBName、 DBUser、 DBPassword 值反映您为数据库提供的值

DBHost=localhost
DBName=zabbix
DBUser=zabbix_user
DBPassword=S0mStrongPa$$word

保存更改并退出配置文件。

要应用所做的所有更改,请重新启动所有服务,如图所示

sudo systemctl restart zabbix-server zabbix-agent apache2

此外,请考虑在启动时启用它们。

sudo systemctl enable zabbix-server zabbix-agent apache2

9、配置防火墙

如果您安装并启用了 ufw 防火墙,请启用 web 和 Zabbix 端口

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10050:10051/tcp
sudo ufw enable

10、完成Zabbix安装

要完成安装,请启动您的浏览器,然后转到此 URL:

http://server-ip/zabbix

迎接您的第一页是 Zabbix 欢迎页面,它粗体显示您正在安装的版本。选择安装语言并单击“下一步”按钮。

如何在 Ubuntu 22.04 上安装和配置 Zabbix Server 6

在下一页中,您将获得先决条件列表,一直向下滚动并确保所有先决条件都在最后一列中获得“ OK ”标签。必须满足所有要求。然后点击“下一步”按钮。

如何在 Ubuntu 22.04 上安装和配置 Zabbix Server 6

在“配置数据库连接”页面上。填写您的数据库详细信息。对于数据库端口,将其保留为 0。按“下一步”。

如何在 Ubuntu 22.04 上安装和配置 Zabbix Server 6

然后指定您的服务器名称,确认您的时区并随意选择您喜欢的主题。然后按“下一步”。

如何在 Ubuntu 22.04 上安装和配置 Zabbix Server 6

确认所有设置,如果一切正常,请按“下一步”以完成安装。

如何在 Ubuntu 22.04 上安装和配置 Zabbix Server 6

如果您提供的所有设置都正确,您将收到一条祝贺消息,通知您成功设置 Zabbix 的前端。按“完成”按钮。

如何在 Ubuntu 22.04 上安装和配置 Zabbix Server 6

这会将您定向到 Zabbix 登录页面。使用以下凭据登录:

Username: Admin
Password: zabbix
如何在 Ubuntu 22.04 上安装和配置 Zabbix Server 6

然后单击“登录”以访问 Zabbix 仪表板。您可以稍后更改密码以增加安全性,因此不必担心。

最后,您将可以访问 Zabbix 的仪表板

如何在 Ubuntu 22.04 上安装和配置 Zabbix Server 6

这就对了!我们已经 在Ubuntu 22.04上成功安装了Zabbix 监控工具 。

相关文章

KubeSphere 部署向量数据库 Milvus 实战指南
探索 Kubernetes 持久化存储之 Longhorn 初窥门径
征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
那些年在 Terraform 上吃到的糖和踩过的坑
无需 Kubernetes 测试 Kubernetes 网络实现
Kubernetes v1.31 中的移除和主要变更

发布评论