Ubuntu 18.04 上 Zabbix 4.0 安装配置图文详解

2022-08-08 15:42:09 浏览数 (1)

Zabbix 是最受欢迎的开源监控软件工具之一。 Zabbix 从您的网络设备,系统和应用程序收集指标,并确保它们正常运行。 如有任何问题,Zabbix 将通过各种方法发送通知警报。

Zabbix 可以部署用于基于代理和无代理的监控。 Zabbix 代理占用空间小,可以在各种平台上运行,包括 Linux,UNIX,macOS 和 Windows。

本教程介绍如何使用 MySQL 作为数据库后端在 Ubuntu 18.04.4 LTS 服务器上安装和配置最新版本的 Zabbix 4.0。 我们还将向您展示如何在远程主机上安装 Zabbix 代理并将主机添加到 Zabbix 服务器。

必要条件

在继续本教程之前,请确保以具有sudo权限的用户身份登录。

创建MySQL数据库

Zabbix 支持 MySQL/MariaDB 和 PostgreSQL。 在本教程中,我们将使用 MySQL 作为数据库后端。

如果您在Ubuntu服务器上未安装MySQL,则可以参考《如何在Ubuntu 18.04上安装Joomla内容管理系统  https://www.linuxidc.com/Linux/2020-03/162723.htm》。

键入以下命令登录MySQL shell:

[linuxidc@linux:~/www.linuxidc.com]$ sudo mysql [sudo] linuxidc 的密码: Welcome to the MariaDB monitor.  Commands end with ; or g. Your MariaDB connection id is 152 Server version: 10.1.44-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04

Copyright (c) 2000, 2018, 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.05 sec)

从mysql控制台内部,运行上面这条SQL语句以创建新数据库。

接下来,创建一个MySQL用户帐户并授予对数据库的访问权限:

MariaDB [(none)]> GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'change-with-strong-password'; Query OK, 0 rows affected (0.07 sec)

确保使用强密码更改change-with-strong-password。

刷新数据库

MariaDB [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.03 sec)

完成后,键入以下命令退出mysql控制台:

MariaDB [(none)]> EXIT; Bye

在Ubuntu上安装Zabbix

在撰写本文时,Zabbix的最新稳定版本是4.0版。 Ubuntu存储库中提供的Zabbix软件包经常过时,因此我们将使用官方的Zabbix存储库。

1、安装Zabbix

使用以下wget命令下载最新的Zabbix存储库.deb包:

[linuxidc@linux:~/www.linuxidc.com]$ wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2 bionic_all.deb

下载文件后,键入以下命令将Zabbix存储库添加到Ubuntu 18.04系统:

[linuxidc@linux:~/www.linuxidc.com]$ sudo apt install ./zabbix-release_4.0-2 bionic_all.deb

更新软件包索引并安装Zabbix服务器,带有MySQL数据库支持的Web前端和Zabbix代理:

[linuxidc@linux:~/www.linuxidc.com]$ sudo apt update

[linuxidc@linux:~/www.linuxidc.com]$ sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent

上面的命令还将安装Apache,PHP和所有必需的PHP模块。

2、为Zabbix前端配置PHP

在安装过程中,会创建一个包含所有必需的Apache和PHP设置的Apache配置文件。 您只需进行一些小改动并设置适当的时区。

打开配置文件,取消注释时区线并将其更改为您的时区。您可以在此处找到PHP支持的完整时区列表。

[linuxidc@linux:~/www.linuxidc.com]$ sudo vim /etc/apache2/conf-enabled/zabbix.conf

...     <IfModule mod_php7.c>         php_value max_execution_time 300         php_value memory_limit 128M         php_value post_max_size 16M         php_value upload_max_filesize 2M         php_value max_input_time 300         php_value max_input_vars 10000         php_value always_populate_raw_post_data -1         php_value date.timezone Asia/Shanghai     </IfModule> ...

完成后,保存配置文件并重新启动Apache服务以使更改生效:

[linuxidc@linux:~/www.linuxidc.com]$ sudo systemctl restart apache2

3、为Zabbix Server配置MySQL数据库

Zabbix安装包提供了一个转储文件,其中包含Zabbix服务器和MySQL的初始模式和数据。

通过运行以下命令导入MySQL转储文件:

[linuxidc@linux:~/www.linuxidc.com]$ zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix Enter password:

出现提示时,输入您之前创建的用户密码。 成功时,没有给出输出。

接下来,我们需要编辑Zabbix配置并设置数据库密码。

在编辑器中打开配置文件:

[linuxidc@linux:~/www.linuxidc.com]$ sudo vim /etc/zabbix/zabbix_server.conf

搜索以下部分,取消注释DBPassword指令并添加数据库密码。

[linuxidc@linux:~/www.linuxidc.com]$ sudo vim /etc/zabbix/zabbix_server.conf

...

### Option: DBPassword #      Database password. #      Comment this line if no password is used. # # Mandatory: no # Default: DBPassword=change-with-strong-password ...

保存并关闭文件。

重新启动Zabbib服务器和代理服务,并使它们在系统引导时启动:

[linuxidc@linux:~/www.linuxidc.com]$ sudo systemctl restart zabbix-server zabbix-agent

[linuxidc@linux:~/www.linuxidc.com]$ sudo systemctl enable zabbix-server zabbix-agent

Synchronizing state of zabbix-server.service with SysV service script with /lib/systemd/systemd-sysv-install.

Executing: /lib/systemd/systemd-sysv-install enable zabbix-server

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服务器是否正在运行,请执行以下操作:

[linuxidc@linux:~/www.linuxidc.com]$ sudo systemctl status zabbix-server ● zabbix-server.service - Zabbix Server   Loaded: loaded (/lib/systemd/system/zabbix-server.service; enabled; vendor pr   Active: active (running) since Sat 2020-04-04 16:00:32 CST; 1min 29s ago  Main PID: 75143 (zabbix_server)     Tasks: 34 (limit: 4637)   CGroup: /system.slice/zabbix-server.service           ├─75143 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf           ├─75188 /usr/sbin/zabbix_server: configuration syncer [synced configu           ├─75268 /usr/sbin/zabbix_server: housekeeper [startup idle for 30 min           ├─75269 /usr/sbin/zabbix_server: timer #1 [updated 0 hosts, suppresse           ├─75270 /usr/sbin/zabbix_server: http poller #1 [got 0 values in 0.00           ├─75271 /usr/sbin/zabbix_server: discoverer #1 [processed 0 rules in

安装和配置Zabbix前端

Zabbix Web界面是用PHP编写的,允许我们配置服务器,查看收集的数据并添加我们想要监控的主机。

在开始使用Web界面之前,我们需要安装它。

打开您喜欢的浏览器并键入您的服务器的域名或公共IP地址,然后键入 /zabbix:

https://www.linuxidc.com/zabbix

在第一个屏幕上,您将看到欢迎信息。 单击下一步继续。

Zabbix 4.0 安装截图

接下来,您将看到以下信息页面,其中列出了运行Zabbix前端所需的所有PHP先决条件。 此表中的所有值都应该是正常的,向下滚动以验证是否所有内容都已正确设置。 验证后,单击“下一步”继续。

Check of pre-requisites

在下一个屏幕上,安装向导将要求您输入数据库连接详细信息。 输入您之前创建的MySQL用户和数据库详细信息。

zabbix-configure-db-connection

输入服务器的名称是可选的。 如果您有多个Zabbix监控服务器,请输入它。 如果提供,它将显示在菜单栏和页面标题中。

单击下一步继续。

zabbix-server-details

在下一个屏幕上,您将看到安装前摘要。

Pre-installation summary

单击下一步,安装完成后,您将进入一个页面,通知您已安装Zabbix Web界面。 要访问Zabbix登录页面,请单击“完成”按钮。

zabbix-install

恭喜你! 您已成功安装Zabbix前端。 配置文件“ /usr/share/zabbix/conf/zabbix.conf.php”已创建。

默认用户为“Admin”,密码为“zabbix”。 输入用户名和密码,然后单击“登录”按钮。

zabbix-login-screen

登录后,您将被重定向到Zabbix管理仪表板。

从这里开始,您可以开始自定义Zabbix安装并添加新主机。 您的第一步应该是更改当前密码。 要执行此操作,请单击顶部导航上的配置文件图标导航到用户配置文件页面。

将新主机添加到Zabbix服务器

将用于监视的新主机添加到Zabbix服务器的过程包括两个步骤。

首先,您需要在远程主机上安装Zabbix代理,然后通过Web界面将主机添加到Zabbix服务器。

安装Zabbix代理

本教程假设主机也使用Ubuntu 18.04。

与安装Zabbix服务器时相同,运行以下命令以启用Zabbix存储库: wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2 bionic_all.deb sudo apt install ./zabbix-release_4.0-2 bionic_all.deb

更新程序包索引并安装Zabbix代理程序包:

sudo apt update sudo apt install zabbix-agent

Zabbix支持两种方法用于服务器 - 客户端通信加密,预共享密钥(PSK)和基于证书的加密。 在本教程中,我们将使用预共享密钥(PSK)方法来保护服务器和代理之间的连接。

使用以下命令生成预共享密钥并将其保存到文件中:

[linuxidc@linux:~/www.linuxidc.com]$ openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk [sudo] linuxidc 的密码:

PSK键看起来像这样:

d29afe7076f78793aef43dfc6459a9c148050afca95968a77eaad2d1c0349b2e

打开Zabbix代理配置文件:

[linuxidc@linux:~/www.linuxidc.com]$ sudo vim /etc/zabbix/zabbix_agentd.conf

搜索服务器IP地址并将其从默认值更改为Zabbix服务器IP:

/etc/zabbix/zabbix_agentd.conf

... ### Option: Server #      List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies. #      Incoming connections will be accepted only from the hosts listed here. #      If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally #      and '::/0' will allow any IPv4 or IPv6 address. #      '0.0.0.0/0' can be used to allow any IPv4 address. #      Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com # # Mandatory: yes, if StartAgents is not explicitly set to 0 # Default: # Server=

Server=127.0.0.1 ...

接下来,找到TSLConnect选项,取消注释并将其设置为psk:

/etc/zabbix/zabbix_agentd.conf

... ### Option: TLSConnect #      How the agent should connect to server or proxy. Used for active checks. #      Only one value can be specified: #              unencrypted - connect without encryption #              psk        - connect using TLS and a pre-shared key #              cert        - connect using TLS and a certificate # # Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection) # Default: TLSConnect=psk ...

找到TLSAccept选项,取消注释并将其设置为psk:

/etc/zabbix/zabbix_agentd.conf

... ### Option: TLSAccept #      What incoming connections to accept. #      Multiple values can be specified, separated by comma: #              unencrypted - accept connections without encryption #              psk        - accept connections secured with TLS and a pre-shared key #              cert        - accept connections secured with TLS and a certificate # # Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection) # Default: TLSAccept=psk ...

接下来,找到TLSPSKIdentity选项,取消注释并将其设置为PSK 001该值必须是唯一的字符串:

/etc/zabbix/zabbix_agentd.conf

... ### Option: TLSPSKIdentity #      Unique, case sensitive string used to identify the pre-shared key. # # Mandatory: no # Default: TLSPSKIdentity=PSK 001 ...

最后,找到TLSPSKFile选项,取消注释并将其设置为指向先前创建的预共享密钥:

/etc/zabbix/zabbix_agentd.conf

... ### Option: TLSPSKFile #      Full pathname of a file containing the pre-shared key. # # Mandatory: no # Default: TLSPSKFile=/etc/zabbix/zabbix_agentd.psk ...

完成后,保存并关闭文件。

启动Zabbix代理服务并将其设置为在启动时启动:

[linuxidc@linux:~/www.linuxidc.com] sudo systemctl start zabbix-agent[linuxidc@linux:~/www.linuxidc.com] sudo systemctl enable zabbix-agent

接下来,您需要添加防火墙规则,以便在TCP端口10050上启用来自Zabbix服务器的流量。

假设您正在使用UFW来管理防火墙,并且您希望允许从192.168.166.189 IP地址进行访问,那么您将运行以下命令:

[linuxidc@linux:~/www.linuxidc.com]$ sudo ufw allow proto tcp from 192.168.166.189 to any port 10050

设置新主机

既然已安装并配置了要监视的远程主机上的代理,则下一步骤是在Zabbix服务器上注册主机。

以admin用户登录Zabbix Server Web界面:

https://www.linuxidc.com/zabbix

进入内部后,在顶部导航栏中单击“配置”,然后单击“主机”

接下来,单击屏幕右上角的蓝色“创建主题”按钮,将打开主机配置页面:

zabbix-hosts-host

输入要监视的远程主机的主机名和IP地址。 通过从列表中选择组,将主机添加到一个或多个组,或输入不存在的组名称以创建新组。 Linux servers组是一个不错的选择(如图)。

zabbix-hosts-templateszabbix-hosts-templates

完成后,单击“模板”选项卡。 选择Template OS Linux并单击Add链接将模板添加到主机。

接下来,单击“加密”选项卡。 为主机连接和主机连接选择PSK。

将PSK标识值设置为PSK 001,即您在上一步中配置的Zabbix代理的TLSPSKIdentity选项的值。

在PSK值字段中,添加为Zabbix代理生成的密钥,即存储在/etc/zabbix/zabbix_agentd.psk文件中的密钥。

zabbix-hosts-encryptionzabbix-hosts-encryption

最后,要添加主机,请单击蓝色的“添加”按钮。

总结

您已在Ubuntu系统上成功安装了最新的Zabbix,并学习了如何添加要监视的新主机。

您现在应该查看Zabbix文档并了解有关如何配置和使用Zabbix的更多信息。

如果您遇到问题或有反馈,请在下面留言。

0 人点赞