如何在 Ubuntu 上安装 Zabbix 并将其配置为监控多个 VPS 服务器
状态:已弃用
本文涵盖不再受支持的 Ubuntu 版本。如果您目前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:
- 升级到 Ubuntu 14.04。
- 从 Ubuntu 14.04 升级到 Ubuntu 16.04
- 将服务器数据迁移到支持的版本
原因:
请参阅:
介绍
Zabbix 是一个网络服务器和软件监视器。它可用于跟踪多个物理或虚拟专用服务器实例。
Zabbix 采用的客户端-服务器模型允许云服务器收集丰富的数据集,用于绘制历史趋势图。这对于监控 VPS 上托管的网站和应用程序的性能非常有用。
对于本指南,我们将配置两台机器。一个将配置为服务器,另一个将配置为客户端。他们都将在 20GB Droplets 上运行 Ubuntu 12.04 LTS。
安装 Zabbix 服务器
我们将首先在用作监控站的 VPS 上安装 Zabbix 服务器。
Ubuntu 的存储库中有 Zabbix,但它已经过时了。我们将改用带有更新包的 PPA。
编辑 apt 源列表以添加 PPA:
sudo nano /etc/apt/sources.list
在文件末尾添加以下项目:
# Zabbix Application PPA
deb http://ppa.launchpad.net/tbfr/zabbix/ubuntu precise main
deb-src http://ppa.launchpad.net/tbfr/zabbix/ubuntu precise main
保存并关闭文件。
接下来,我们需要添加 PPAs 密钥,以便 apt-get 信任来源:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C407E17D5F76A32B
我们现在可以安装 Zabbix。它还将引入必要的 LAMP 依赖项:
sudo apt-get update
sudo apt-get install zabbix-server-mysql php5-mysql zabbix-frontend-php
在安装过程中,系统会要求您为 MySQL root 帐户选择一个密码。进行选择并确认您的选择。
配置 Zabbix 服务器
接下来,我们需要配置刚刚安装的包。
首先,我们将编辑主要的 Zabbix 服务器配置文件。以root权限打开文件:
sudo nano /etc/zabbix/zabbix_server.conf
搜索以下属性并相应地进行设置。有些可能已经正确设置,有些您可能需要添加。还要选择一个密码:
DBName=zabbix
DBUser=zabbix
DBPassword=Your.Password.Here
保存并关闭文件。
MySQL配置
接下来,我们将进入包目录并解压缩将定义我们的数据库环境的 SQL 文件:
cd /usr/share/zabbix-server-mysql/
sudo gunzip *.gz
我们会将 SQL 文件导入到我们的数据库中。但是,我们首先必须创建数据库并进行一些初始配置。
使用您在安装期间设置的密码以 root 用户身份登录 MySQL:
mysql -u root -p
首先,为 Zabbix 创建一个与我们在“/etc/zabbix/zabbix_server.conf”文件中输入的信息相匹配的用户。确保使用相同的信息:
create user 'zabbix'@'localhost' identified by 'Your.Password.Here';
接下来,我们将创建 Zabbix 数据库:
create database zabbix;
将新数据库的控制权交给我们创建的新用户:
grant all privileges on zabbix.* to 'zabbix'@'localhost';
以下行将实现我们的新权限:
flush privileges;
我们现在完成了初始 MySQL 配置。退出回到 shell:
exit;
现在我们已经设置了数据库,我们可以导入 Zabbix 运行所需的文件。输入您在出现提示时配置的用户“zabbix”的密码:
mysql -u zabbix -p zabbix < schema.sql
对图像文件做同样的事情:
mysql -u zabbix -p zabbix < images.sql
最后,导入数据文件:
mysql -u zabbix -p zabbix < data.sql
PHP配置
我们需要为监控数据的 php 处理调整一些值。打开php配置文件:
sudo nano /etc/php5/apache2/php.ini
搜索并调整以下条目。如果它们不存在,请添加它们:
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = UTC
保存并关闭文件。
接下来,我们将 Zabbix 特定的 php 文件复制到配置目录中:
sudo cp /usr/share/doc/zabbix-frontend-php/examples/zabbix.conf.php.example /etc/zabbix/zabbix.conf.php
打开文件:
sudo nano /etc/zabbix/zabbix.conf.php
编辑以下值。使用与之前设置数据库时相同的信息:
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'Your.Password.Here'
保存并关闭文件。
配置附加文件
我们还需要配置几个文件。
首先,从包目录中移动 Zabbix apache 文件:
sudo cp /usr/share/doc/zabbix-frontend-php/examples/apache.conf /etc/apache2/conf.d/zabbix.conf
确保在 Apache 中启用了 \alias\ mod:
sudo a2enmod alias
重新启动 Apache 以使用复制的配置文件:
sudo service apache2 restart
编辑 Zabbix init 文件以确保它执行正确的操作:
sudo nano /etc/default/zabbix-server
转到底部并将“START”属性调整为“是”:
START=yes
保存并关闭文件。我们现在可以启动 Zabbix:
sudo service zabbix-server start
安装和配置 Zabbix 代理
接下来,我们需要配置向 Zabbix 服务器报告的代理软件。我们将在我们的服务器机器和一台额外的客户端机器上安装代理软件。
在两台机器上执行这些步骤。调整命令以反映正确的信息。
一、安装代理软件:
sudo apt-get update
sudo apt-get install zabbix-agent
接下来,我们需要更新配置文件:
sudo nano /etc/zabbix/zabbix_agentd.conf
编辑 \Server\ 属性以反映 Zabbix 服务器的 IP 地址。 Zabbix服务器上的代理配置,可以使用“127.0.0.1”:
Server=Zabbix.Server.IP.Address
调整“主机名”属性以反映被监控机器的主机名。
Hostname=Hostname_Of_Current_Machine
<p>Save and close the file.</p>
<p>Restart the agent software:</p>
sudo service zabbix-agent restart
首次登录
在您的 Web 浏览器中,导航到您的 Zabbix 服务器 IP 地址,后跟 \/zabbix\:
Your.Zabbix.IP.Address/zabbix
您将看到一个登录屏幕。默认凭据如下:
Username = admin
Password = zabbix
登录后,单击“配置”按钮,然后单击顶部导航栏中的“主机”。
单击服务器的名称(默认情况下,这应该是“Zabbix 服务器”)。这将打开主机配置页面。
调整主机名以反映 Zabbix 服务器的主机名(这应该与您在服务器机器的代理配置中输入的主机名相同)。
在底部,将“Status”属性更改为“Monitored”。点击保存。
您将返回到主机配置页面。再次重新单击主机名。
这一次,单击页面底部的“克隆”按钮。
我们将配置它以反映客户端机器的设置。更改主机名和 IP 地址以反映来自客户端代理文件的正确信息。
在“组”部分,选择“Zabbix 服务器”并单击右箭头图标删除该组。选择“Linux 服务器”并单击左箭头图标以添加该组设置。
单击底部的“保存”。
几分钟后,您应该可以通过转到“监控”然后单击“最新数据”来查看两台计算机。
应该有关于服务器和客户端计算机的信息。
如果单击项目旁边的箭头,则可以看到收集的信息。
如果单击“图表”,您将看到已收集数据点的图形表示:
与所有监控软件一样,服务器运行的时间越长,这些图表就会变得越有趣。
您可以使用许多其他选项来关注您的 VPS。探索界面,熟悉强大的监控工具。