如何在Ubuntu 18.04上安装Zabbix

时间:2020-03-05 15:28:19  来源:igfitidea点击:

Zabbix旨在监视服务器性能,服务器,网络设备和其他网络组件的可用性。
使用此工具,我们可以轻松跟踪任何应用程序,系统和网络设备的状态。

在本文中,我将解释如何在最新的Ubuntu 18.04服务器上安装Zabbix 3.4(一种开源监视工具),并向我们展示如何添加远程服务器进行监视。

Zabbix的核心是用Java和C内置的,但是它带有用PHP构建的用户友好的前端接口,这使得跟踪和监视系统更加容易。

安装LAMP服务器

在安装Zabbix服务器之前,我们需要正确配置LAMP服务器。
首先,我们可以使用以下命令安装Apache和PHP以及一些必需的PHP模块:

#apt update -y
#apt install apache2 libapache2-mod-php7.2 php7.2 php7.2-xml php7.2-bcmath php7.2-mbstring -y

安装完所有组件后,我们需要安装MariaDB。
Zabbix使用MySQL,Oracle和PostgreSQL来存储其数据。
其中我们安装MariaDB来存储其数据。
该软件的最新版本可在我们的默认Ubuntu 18.04存储库中获得。
因此,我们可以简单地运行此命令来安装它。

#apt install mariadb-server -y

接下来,我们可以启动并启用所有服务以在启动时启动:

#systemctl start apache2
#systemctl enable apache2
#systemctl start mysql
#systemctl enable mysql

因此,我们完成了LAMP服务器的工作。
接下来,我们可以开始我们的Zabbix安装。

安装和配置Zabbix服务器

根据我们的操作系统平台和要求,我们需要选择/安装最新的支持Zabbix存储库到我们的服务器。

步骤1:使用MySQL下载并安装Zabbix信息库

我们可以使用以下命令为我们的Ubuntu 18.04服务器下载并安装最新的Zabbix 3.4存储库:

# wget https://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+bionic_all.deb
# dpkg -i zabbix-release_3.4-1+bionic_all.deb
# apt update

第2步:安装Zabbix服务器,前端和Zabbix-Agent

其次,我们需要从安装的Zabbix存储库中安装Zabbix服务器,Frontend和Zabbix代理。
请运行以下命令进行安装,如下所示:

# apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent

第3步:创建初始Zabbix数据库

安装完上述所有组件后,我们可以为Zabbix用户创建一个数据库:

~# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 41
Server version: 10.1.29-MariaDB-6 Ubuntu 18.04
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.01 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit

现在,我们可以将初始架构和数据导入到我们新创建的Zabbix数据库中。
在导入过程中,系统将提示我们输入数据库用户密码。

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

步骤4:为Zabbix服务器配置数据库

在此阶段,我们需要正确地更新位于'/etc/zabbix/zabbix_server.conf'的Zabbix配置文件中的数据库密码,如下所示:

# grep -i DBpassword /etc/zabbix/zabbix_server.conf
# For SQLite3 path to database file must be provided. DBUser and DBPassword are ignored.
### Option: DBPassword
DBPassword=password

我们需要取消注释数据库密码选项,并根据需要为其提供确切的Zabbix DB用户密码。

步骤5:为Zabbix前端配置PHP

我们需要配置PHP并设置适当的时区,以便顺利进行Zabbix Frontend安装。
首先,我们可以在“ /etc/php/7.2/apache2/php.ini”中的PHP配置文件中设置适当的时区,并根据首选时区进行相应的修改。
我已更新如下:

# grep -i timezone /etc/php/7.2/apache2/php.ini
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/Riga

接下来,我们需要使用以下相同的时区更新“ /etc/zabbix/apache.conf”中的Zabbix配置文件:

# grep timezone /etc/zabbix/apache.conf
php_value date.timezone Europe/Riga

我们将在提到的配置文件中的“ PHP 7模块”部分中取消注释时区的php_value,并像以前一样使用确切的时区进行更新。

步骤6:启动Zabbix服务器和代理进程

最后,我们可以使用以下命令启动并启用所有必需的Zabbix服务和Apache2:

# systemctl restart zabbix-server zabbix-agent apache2
# systemctl enable zabbix-server zabbix-agent apache2

就这样!现在,我们的Zabbix服务器将启动并运行。
我们可以通过访问URL >>>'http://Server-IP/zabbix'来检查其是否正常运行

安装/配置Zabbix前端

一旦我们启动并运行了Zabbix服务器,就可以使用URL >>'http://Server-IP或者hostname/zabbix'访问我们新安装的Zabbix前端。
这将打开前端安装向导。
为了使其完全正常运行,我们需要完成Zabbix前端的设置过程。

让我们逐一浏览每个设置过程。
我们可以单击“下一步”以检查准备工作。
在此阶段,我们需要确保我们的服务器满足下面列出的所有软件准备工作。
完成后,我们可以单击“下一步”以继续。

在此阶段,请确保更新详细信息以连接到我们的Zabbix数据库,以确保正确的数据库连接,并继续进行Zabbix服务器设置,包括发往该主机的主机和端口10051.

最后,我们可以在“安装前摘要”中再次验证在上述阶段中完成的所有设置,然后单击“下一步”以完成安装。

如果一切顺利,我们将收到上述消息,说明已成功安装Zabbix前端。
现在,我们可以单击“完成”选项卡以退出安装向导。

访问Zabbix仪表板

我们的Zabbix前端已准备就绪。
我们可以使用默认的Zabbix登录凭据(网址为>>>'http://Server-IP/zabbix'),使用用户名“ Admin”和密码“ zabbix”来访问它。

修改管理员密码

使用默认的管理员登录凭据成功登录到Zabbix前端面板后,出于安全原因,必须修改Admin凭据。
我们可以通过以下路径浏览来修改管理员密码:“管理>用户>管理员>密码>更改密码”,如以下屏幕截图所示:

添加监控主机

由于我们的Zabbix服务器已经可以使用,因此我们可以通过添加第一个监视目标主机(即我们的Zabbix服务器本身)来测试其功能。
我们可以通过以下路径进行浏览:“配置>>主机”,如屏幕截图所示。

如我们所见,默认情况下,我们的主机状态设置为禁用状态。
我们需要单击禁用按钮以启用此服务器上的Zabbix代理监视主机。
从屏幕快照中可以看到,“状态”变为“已启用”,并且现在正在监视服务器。

只需等待几分钟,我们的Zabbix服务器即可从服务器获取监控数据并更新图表。
现在,我们可以通过浏览路径来查看主机图:快照中的“监控>屏幕>服务器名称”。

添加远程主机

首先,我们需要在远程主机上安装/启用Zabbix Agent。
Zabbix代理的工作是从设备收集数据,例如CPU,内存,磁盘和网络接口的使用情况。
Zabbix代理可以执行被动(轮询)和主动检查(陷阱)。
这些检查可以间隔执行一次,也可以根据特定的时间表进行。
让我们看看如何在Ubuntu 18.04节点上安装/启用Zabbix代理。

安装Zabbix代理

最初,我们需要SSH到我们的新主机服务器,并下载用于Ubuntu 18.04主机设置的Zabbix 3.4存储库,然后从中安装Zabbix代理。

#wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+bionic_all.deb
#dpkg -i zabbix-release_3.4-1+bionic_all.deb
#apt install zabbix-agent

配置Zabbix代理

现在,我们可以配置我们的Zabbix代理以启动与Zabbix服务器的正确连接。
我们使用预共享密钥(PSK)来保护服务器与代理之间的连接。
Zabbix代理程序配置位于'/etc/zabbix/zabbix_agentd.conf'中。

步骤1:生成并配置PSK密钥。

首先,我们需要生成PSK密钥。
这可以通过运行以下命令获得:

#sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"

我们可以保存此密钥,该密钥将在代理配置期间使用。

# cat /etc/zabbix/zabbix_agentd.psk
abb6a14eace79044b9f3bab0c6cd26d50b4cfb3dc6fe2ef815b96216073b333b

步骤2:将Zabbix服务器添加到代理配置。

现在,我们必须打开Zabbix代理配置文件'/etc/zabbix/zabbix_agentd.conf'并将其配置为在服务器之间建立安全连接。
首先,我们需要使用Zabbix服务器IP编辑“ 95”和“ 136”行号,如下所示。
172.104.210.183是我的Zabbix服务器IP。

# sed -n '95 p' /etc/zabbix/zabbix_agentd.conf
Server=172.104.210.183

接下来,我们需要使用Zabbix服务器信息编辑136行。

# sed -n '136 p' /etc/zabbix/zabbix_agentd.conf
ServerActive=172.104.210.183

步骤3:配置和启用PSK安全连接

为了在服务器之间配置安全连接,我们启用了具有PSK支持的TLS连接。
我们需要在Zabbix代理配置中相应地编辑以下几行,以使其成为可能。

修改/etc/zabbix/zabbix_agentd.conf中的以下行:

# sed -n -e 324p -e 335p -e 385p -e 392p /etc/zabbix/zabbix_agentd.conf
# TLSConnect=unencrypted
# TLSAccept=unencrypted
# TLSPSKIdentity=
# TLSPSKFile=
TO:
# sed -n -e 324p -e 335p -e 385p -e 392p /etc/zabbix/zabbix_agentd.conf
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=PKI 001
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk

定义每个部分:

  • 'TLSConnect = psk'* //这将启用预共享密钥支持//*
  • 'TLSAccept = psk'* //这允许使用PSK支持接受所有传入连接//*
  • 'TLSPSKIdentity = PKI 001'* //提供了一个唯一名称来标识代理预共享密钥//*
  • 'TLSPSKFile =/etc/zabbix/zabbix_agentd.psk'* //这有助于Zabbix代理识别我们创建的PSK文件。 //*

步骤4:启动Zabbix代理

现在,我们可以保存这些更改并启动Zabbix代理,并使用以下这些命令将其设置为在启动时启动:

~# systemctl start zabbix-agent
# systemctl enable zabbix-agent
Synchronizing state of zabbix-agent.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable zabbix-agent

现在,我们的Zabbix代理已准备好将数据发送到Zabbix服务器。
但是为了使用它,我们必须从Zabbix服务器的Web控制台将此代理链接到它。

步骤5:将我们的新主机添加到Zabbix服务器

我们已经在新主机上成功安装/配置了Zabbix代理。
现在,我们需要通过Web控制台将此新节点注册到Zabbix服务器。
我们可以使用创建了管理员登录凭据的URL >>'http://Zabbix_ServerIP/zabbix /'登录到我们的Zabbix服务器Web界面。
现在,我们可以浏览以下路径:“配置>主机>创建主机”

这将打开主机配置页面,我们可以其中添加主机名称,新主机的IP详细信息。
此外,我们可以选择要将新主机添加到的组。
我们可以创建一个新组作为首选项,也可以添加到预先存在的组中。
根据我们的喜好,一台主机可以包含在多个组中。
其中我将新节点添加到默认的“ Linux服务器”组中。

添加主机后,我们可以通过从“主机”列表中选择添加的节点来修改其设置。
我为节点选择了默认模板'Template OS Linux'。
我们可以从“模板”列表中选择任何模板作为首选模板。

接下来,我们需要导航到“加密”选项卡。
正如我们已经决定的那样,我们需要选择“ PSK”作为“到主机的连接”和“从主机的连接”。
然后将“ PSK身份”设置为“ PSK 001”,这是我们在一开始在Zabbix代理中配置的“ TLSPSKIdentity”设置的值。
然后将PSK值设置为我们为Zabbix代理生成的密钥。
它是存储在代理计算机上的文件“ /etc/zabbix/zabbix_agentd.psk”中的文件。

现在,我们将看到带有绿色标签的新主机,表明一切正常,并且连接已加密。

为了确保一切正常,我们甚至可以关闭新主机,然后查看Zabbix是否正在警告该问题。