ToB企服应用市场:ToB评测及商务社交产业平台
标题:
如安在 Ubuntu 16.04 上安装和配置 Zabbix 以安全监控远程服务器
[打印本页]
作者:
莫张周刘王
时间:
2024-7-17 07:25
标题:
如安在 Ubuntu 16.04 上安装和配置 Zabbix 以安全监控远程服务器
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给各人。点击跳转到网站。
简介
Zabbix 是用于网络和应用程序的开源监控软件。它提供了对从服务器、虚拟机和任何其他范例的网络装备收集的数千个指标的实时监控。这些指标可以帮助您确定IT基础设施的当前健康状态,并在客户投诉之前检测到硬件或软件组件的标题。有效的信息存储在数据库中,因此您可以随时间分析数据并改进所提供的服务的质量,或者计划升级您的装备。
Zabbix 利用客户端-服务器架构,并在被监督的客户端上利用一个小型署理来收集数据并将其发送到Zabbix服务器。Zabbix 3 版本支持服务器和连接的客户端之间的加密通信,因此您的数据在通过不安全的网络传输时受到掩护。
Zabbix服务器将其数据存储在由MySQL、PostgreSQL或Oracle提供支持的关系型数据库中。它还提供了一个Web界面,以便您可以查看数据并配置体系设置。在本教程中,我们将配置两台机器。一台将被配置为服务器,另一台将被配置为您要监督的客户端。服务器将利用MySQL数据库记载监控数据,并利用Apache提供Web界面。
先决条件
要按照本教程操作,您需要:
两台配置了sudo非root用户的Ubuntu 16.04服务器。您可以按照这篇初始Ubuntu服务器设置文章进行设置。
将运行Zabbix服务器的服务器需要安装Apache、MySQL和PHP。按照本指南在此中一台服务器上配置这些。
步调 1 — 安装 Zabbix 服务器
起首,我们需要在安装了MySQL、Apache和PHP的服务器上安装Zabbix服务器。在本教程中,我们将把这台机器称为“Zabbix服务器”。以非root用户身份登录到此机器:
[本地环境]
ssh sammy@your_zabbix_server_ip_address
复制代码
在安装Zabbix之前,我们需要安装Zabbix所需的一些PHP模块。起首,更新体系的可用软件包列表:
sudo apt-get update
复制代码
然后安装Zabbix所需的PHP模块:
sudo apt-get install php7.0-xml php7.0-bcmath php7.0-mbstring
复制代码
现在我们可以安装Zabbix了。
Zabbix可以在Ubuntu的软件包管理器中找到,但它已经过时,因此我们将利用官方的Zabbix存储库来安装最新的稳定版本。下载并安装存储库配置软件包:
wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.2-1+xenial_all.deb
复制代码
您将看到以下输出:
选择了之前未选择的软件包zabbix-release。
(正在读取数据库 ... 目前已安装 55276 个文件和目录。)
正在准备解包 zabbix-release_3.2-1+xenial_all.deb ...
正在解包 zabbix-release (3.2-1+xenial) ...
正在设置 zabbix-release (3.2-1+xenial) ...
复制代码
更新软件包索引,以便包含新的存储库:
sudo apt-get update
复制代码
然后安装带有MySQL数据库支持的Zabbix服务器和Web前端:
sudo apt-get install zabbix-server-mysql zabbix-frontend-php
复制代码
让我们还安装Zabbix署理,如许我们就可以收集有关Zabbix服务器状态自己的数据。
sudo apt-get install zabbix-agent
复制代码
在利用Zabbix之前,我们必须设置一个数据库来生存Zabbix服务器从其署理收集的数据。
步调 2 — 配置 Zabbix 的 MySQL 数据库
我们需要创建一个新的MySQL数据库,并填充一些基本信息,以使其适用于Zabbix。我们还将为此数据库创建一个特定的用户,以便Zabbix不利用root帐户登录到MySQL。
利用在MySQL服务器安装期间设置的root密码以root用户身份登录到MySQL:
mysql -uroot -p
复制代码
创建具有UTF-8字符支持的Zabbix数据库:
create database zabbix character set utf8 collate utf8_bin;
复制代码
然后创建Zabbix服务器将利用的用户,为该用户授予对新数据库的所有权限,并设置用户的密码:
grant all privileges on zabbix.* to zabbix@localhost identified by 'your_password';
复制代码
然后应用这些新权限:
flush privileges;
复制代码
如许就处置惩罚了用户和数据库。退出数据库控制台。
quit;
复制代码
接下来,我们必须导入初始模式和数据。Zabbix安装为我们提供了一个设置此项的文件。
运行以下命令来设置模式并将数据导入zabbix数据库。我们将利用zcat,由于文件中的数据已经被压缩。
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
复制代码
在提示时输入您为
zabbix
MySQL用户配置的密码。
假如成功,此命令将不会输出任何错误。假如看到错误 ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES),请确保您利用的是zabbix用户的密码,而不是root用户的密码。
为了使Zabbix服务器利用此数据库,您需要在Zabbix服务器配置文件中设置数据库密码。在编辑器中打开配置文件:
sudo nano /etc/zabbix/zabbix_server.conf
复制代码
查找文件中的以下部分:
### 选项:DBPassword
# 数据库密码。对于 SQLite 来说是被忽略的。
# 如果不使用密码,请注释掉这一行。
#
# 必填:否
# 默认值:
# DBPassword=
复制代码
文件中的这些注释解释了怎样连接到数据库。我们需要在文件中设置 DBPassword 的值为我们数据库用户的密码。在这些注释下面添加以下行来配置数据库:
DBPassword=your_zabbix_mysql_password
复制代码
如许就完成了 Zabbix 服务器的配置,但是我们需要对 PHP 设置进行一些修改,以便让 Zabbix web 界面正常工作。
步调 3 — 配置 PHP 以适配 Zabbix
Zabbix web 界面是用 PHP 编写的,需要一些特别的 PHP 服务器设置。Zabbix 安装过程创建了一个包含这些设置的 Apache 配置文件。它位于目次 /etc/zabbix 中,而且会被 Apache 自动加载。我们需要对这个文件进行一些小的修改,因此打开它。
sudo nano /etc/zabbix/apache.conf
复制代码
该文件包含了满意 Zabbix web 界面必要要求的 PHP 设置。你需要做的唯一修改就是设置适当的时区,这个设置默认是被注释掉的。
...
<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 always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga
</IfModule>
复制代码
取消时区行的注释,如上所示,并将其更改为你的时区。你可以利用支持的时区列表来找到适合你的时区。然后生存并关闭文件。
现在重新启动 Apache 以应用这些新设置。
sudo systemctl restart apache2
复制代码
现在可以启动 Zabbix 服务器了。
sudo systemctl start zabbix-server
复制代码
然后检查 Zabbix 服务器是否正常运行:
sudo systemctl status zabbix-server
复制代码
你将看到以下状态:
● zabbix-server.service - Zabbix Server
Loaded: loaded (/lib/systemd/system/zabbix-server.service; disabled; vendor preset: enabled)
Active: :active (running) since Thu 2017-06-08 06:40:43 UTC; 6s ago
Process: 15201 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
...
复制代码
末了,启用服务器以在启动时启动:
sudo systemctl enable zabbix-server
复制代码
服务器已经设置并连接到数据库。现在让我们设置 web 前端。
步调 4 — 配置 Zabbix Web 界面的设置
Web 界面让我们可以查看报告并添加我们想要监督的主机,但在利用它之前,它需要一些初始设置。打开浏览器,转到地点 http://your_zabbix_server_ip_address/zabbix/。在第一个屏幕上,你会看到一个接待消息。点击
下一步
继承。
在下一个屏幕上,你会看到列出运行 Zabbix 所需的所有先决条件的表格。
!先决条件
这个表格中的所有值都必须是
OK
,因此请验证它们。确保向下滚动并查看所有的先决条件。一旦验证了统统都预备就绪,点击
下一步
继承。
下一个屏幕会要求输入数据库连接信息。
!数据库连接
我们告诉 Zabbix 服务器关于我们的数据库,但是 Zabbix web 界面也需要访问数据库来管理主机和读取数据。因此,请输入在步调 2 中配置的 MySQL 根据,然后点击
下一步
继承。
在下一个屏幕上,你可以生存选项的默认值。
!Zabbix 服务器详情
名称
是可选的;假如你有多个监控服务器,它在 web 界面中用于区分一个服务器和另一个服务器。点击
下一步
继承。
下一个屏幕将显示预安装择要,以便你确认统统都是精确的。
!择要
点击
下一步
继承到末了一个屏幕。
Web 界面设置完成!这个过程创建了配置文件 /usr/share/zabbix/conf/zabbix.conf.php,你可以备份并在未来利用。点击
完成
进入登录界面。默认用户是
Admin
,密码是
zabbix
。
在我们登录之前,让我们在另一个服务器上设置 Zabbix 署理。
步调 5 — 安装和配置 Zabbix 署理
现在我们需要配置将监控数据发送到 Zabbix 服务器的署理软件。
登录到第二台服务器,我们将其称为“被监控服务器”。
[本地环境]
ssh sammy@your_monitored_server_ip_address
复制代码
然后,就像在 Zabbix 服务器上一样,运行以下命令安装存储库配置包:
[第二台服务器环境]wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.2-1+xenial_all.deb
复制代码
接下来,更新软件包索引:
[第二台服务器环境]
sudo apt-get update
复制代码
然后安装 Zabbix 署理:
[第二台服务器环境]
sudo apt-get install zabbix-agent
复制代码
虽然 Zabbix 支持基于证书的加密,但设置证书颁发机构超出了本教程的范围,但我们可以利用预共享密钥(PSK)来掩护服务器和署理之间的连接。
起首,生成一个 PSK:
[第二台服务器环境]
sudo sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"
复制代码
显示密钥,以便您可以将其复制到其他地方。您将需要它来配置主机。
[第二台服务器环境]
cat /etc/zabbix/zabbix_agentd.psk
复制代码
密钥看起来像如许:
cd12686e166a80aa09a227ae5f97834eaa3d5ae686d2ae39590f17ef85dd6de5
复制代码
现在编辑 Zabbix 署理设置,以建立其与 Zabbix 服务器的安全连接。在文本编辑器中打开署理配置文件:
[第二台服务器环境]
sudo nano /etc/zabbix/zabbix_agentd.conf
复制代码
该文件中的每个设置都通过文件中的信息性注释进行了文档化,但您只需要编辑此中的一些设置。
起首,您需要编辑 Zabbix 服务器的 IP 地点。找到以下部分:
### 选项: Server
# 逗号分隔的 Zabbix 服务器的 IP 地址(或主机名)列表。
# 只有列在此处的主机才会接受传入连接。
# 如果启用了 IPv6 支持,则 '127.0.0.1'、'::127.0.0.1'、'::ffff:127.0.0.1' 被视为相等。
#
# 必填: 否
# 默认值:
# Server=
Server=127.0.0.1
复制代码
将默认值更改为您的 Zabbix 服务器的 IP:
Server=your_zabbix_server_ip_address
复制代码
接下来,找到配置与 Zabbix 服务器的安全连接并启用预共享密钥支持的部分。找到 TSLConnect 部分,如下所示:
### 选项: TLSConnect
# 代理应如何连接到服务器或代理。用于主动检查。
# 只能指定一个值:
# unencrypted - 不加密连接
# psk - 使用 TLS 和预共享密钥连接
# cert - 使用 TLS 和证书连接
#
# 必填: 是,如果定义了 TLS 证书或 PSK 参数(即使对于 'unencrypted' 连接也是如此)
# 默认值:
# TLSConnect=unencrypted
复制代码
然后添加此行以配置预共享密钥支持:
TLSConnect=psk
复制代码
接下来,找到 TLSAccept 部分,如下所示:
### 选项: TLSAccept
# 接受哪些传入连接。
# 可以指定多个值,用逗号分隔:
# unencrypted - 接受未加密的连接
# psk - 接受使用 TLS 和预共享密钥保护的连接
# cert - 接受使用 TLS 和证书保护的连接
#
# 必填: 是,如果定义了 TLS 证书或 PSK 参数(即使对于 'unencrypted' 连接也是如此)
# 默认值:
# TLSAccept=unencrypted
复制代码
通过添加此行配置传入连接以支持预共享密钥:
TLSAccept=psk
复制代码
接下来,找到 TLSPSKIdentity 部分,如下所示:
### 选项: TLSPSKIdentity
# 用于标识预共享密钥的唯一、区分大小写的字符串。
#
# 必填: 否
# 默认值:
# TLSPSKIdentity=
复制代码
通过添加此行选择一个唯一的名称来标识您的预共享密钥:
TLSPSKIdentity=PSK 001
复制代码
当您通过 Zabbix Web 界面添加主机时,您将利用此作为
PSK ID
。
然后设置指向您先前创建的预共享密钥的选项。找到 TLSPSKFile 选项:
### 选项:TLSPSKFile
# 包含预共享密钥的文件的完整路径名。
#
# 强制性:否
# 默认值:
# TLSPSKFile=
复制代码
添加以下行以将 Zabbix 署理指向您创建的 PSK 文件:
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
复制代码
生存并关闭文件。现在您可以启动 Zabbix 署理并设置其在启动时启动:
[环境 第二步]
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
复制代码
为了确保,检查 Zabbix 署理是否正常运行:
[环境 第二步]
sudo systemctl status zabbix-agent
复制代码
您将看到以下状态,表示署理正在运行:
● zabbix-agent.service - Zabbix Agent
Loaded: loaded (/lib/systemd/system/zabbix-agent.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2017-06-08 08:33:52 UTC; 4s ago
Process: 18185 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
...
复制代码
我们的署理现在已预备好向 Zabbix 服务器发送数据。但是,为了利用它,我们必须从服务器的 Web 控制台链接到它。
步调 6 — 将新主机添加到 Zabbix 服务器
在要监督的服务器上安装署理只是过程的一半。我们要监督的每个主机都需要在 Zabbix 服务器上注册,我们可以通过 Web 界面完成。
通过导航到地点 http://your_zabbix_server_ip_address/zabbix/ 登录到 Zabbix 服务器的 Web 界面。
!Zabbix 登录界面
登录后,单击
Configuration
,然后单击顶部导航栏中的
Hosts
。然后单击屏幕右上角的
Create host
按钮。这将打开主机配置页面。
!创建主机
调整
Host name
和
IP ADDRESS
以反映客户端机器的主机名和 IP 地点。然后通过从列表中选择一个组或创建自己的组来将主机添加到组中。主机可以在多个组中。
Linux Servers
组是一个不错的默认选择。添加组后,单击
Templates
选项卡。
!向主机添加模板
在
Search
字段中键入 Template OS Linux,然后单击
Add
将此模板添加到主机。
接下来,转到
Encryption
选项卡。选择
PSK
作为
Connections to host
和
Connections from host
的值。然后将
PSK identity
设置为 PSK 001,这是我们之前配置的 Zabbix 署理的
TLSPSKIdentity
设置的值。然后将
PSK
值设置为您在署理机器上存储的密钥,即文件 /etc/zabbix/zabbix_agentd.psk 中的密钥。
!设置加密。
末了,单击表单底部的
Add
按钮创建主机。
您将看到新主机,绿色标签表示统统正常工作,连接已加密。
!Zabbix 显示您的新主机。
几秒钟后,您可以导航到
Monitoring
,然后单击
Latest data
查看来自署理的数据。
为了确保统统正常运行,请关闭您要监督的服务器,以便您可以看到 Zabbix 怎样向您发出标题警报。一旦您要监督的服务器脱机,您将在主仪表板上看到告诫:
!Zabbix 显示有关脱机主机的告诫。
假如您有其他需要监督的服务器,请登录到每个主机,安装 Zabbix 署理,生成 PSK,配置署理,并按照添加第一个主机的雷同步调将主机添加到 Web 界面。
结论
在本教程中,您学会了怎样设置一个简单且安全的监控办理方案,这将帮助您监督服务器的状态。它现在可以告诫您有标题,而且您有时机根据获取的数据绘制一些图表,以便您可以对其进行分析并做出相应的计划。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4