前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给各人。点击跳转到网站。
简介
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模块。起首,更新体系的可用软件包列表:
然后安装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) ...
复制代码 更新软件包索引,以便包含新的存储库:
然后安装带有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:
创建具有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';
复制代码 然后应用这些新权限:
如许就处置惩罚了用户和数据库。退出数据库控制台。
接下来,我们必须导入初始模式和数据。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
复制代码 然后添加此行以配置预共享密钥支持:
接下来,找到 TLSAccept 部分,如下所示:
- ### 选项: TLSAccept
- # 接受哪些传入连接。
- # 可以指定多个值,用逗号分隔:
- # unencrypted - 接受未加密的连接
- # psk - 接受使用 TLS 和预共享密钥保护的连接
- # cert - 接受使用 TLS 和证书保护的连接
- #
- # 必填: 是,如果定义了 TLS 证书或 PSK 参数(即使对于 'unencrypted' 连接也是如此)
- # 默认值:
- # TLSAccept=unencrypted
复制代码 通过添加此行配置传入连接以支持预共享密钥:
接下来,找到 TLSPSKIdentity 部分,如下所示:
- ### 选项: TLSPSKIdentity
- # 用于标识预共享密钥的唯一、区分大小写的字符串。
- #
- # 必填: 否
- # 默认值:
- # TLSPSKIdentity=
复制代码 通过添加此行选择一个唯一的名称来标识您的预共享密钥:
当您通过 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企服之家,中国第一个企服评测及商务社交产业平台。 |