介绍

Zabbix是用于网络和应用的开源监控软件。 它提供从服务器,虚拟机和任何其他类型的网络设备收集的数千个度量的实时监控。 这些指标可以帮助您确定IT基础架构的当前运行状况,并在客户投诉之前检测硬件或软件组件的问题。 有用的信息存储在数据库中,您可以随着时间的推移分析数据,提高所提供服务的质量,或计划升级您的设备。

Zabbix使用客户端 - 服务器架构,并在受监视客户端上使用一个小代理来收集数据并将其发送到Zabbix服务器。 Zabbix版本3支持服务器和连接的客户端之间的加密通信,因此您的数据在不安全的网络上传输时受到保护。

Zabbix服务器将其数据存储在由MySQL,PostgreSQL或Oracle支持的关系数据库中。 它还提供了一个Web界面,您可以查看数据并配置系统设置。 在本教程中,我们将配置两台机器。 一个将被配置为服务器,另一个将作为您要监视的客户端。 服务器将使用MySQL数据库记录监控数据,并使用Apache来提供Web界面。

先决条件

要遵循本教程,您将需要:

  • 两个Ubuntu 16.04服务器,每个都配置了一个sudo非root用户。 您可以按照这个初始Ubuntu服务器安装文章进行设置 。
  • 运行Zabbix服务器的服务器需要安装Apache,MySQL和PHP。 按照本指南在您的其中一台服务器上进行配置

第1步 - 安装Zabbix服务器

首先,我们需要在安装MySQL,Apache和PHP的服务器上安装Zabbix Server。 本教程中我们将本机称为“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 您将看到以下输出:
Selecting previously unselected package zabbix-release.
(Reading database ... 55276 files and directories currently installed.)
Preparing to unpack zabbix-release_3.2-1+xenial_all.deb ...
Unpacking zabbix-release (3.2-1+xenial) ...
Setting up zabbix-release (3.2-1+xenial) ...
更新包索引,以便包含新的存储库:
sudo apt-get update 然后安装Zabbix服务器和Web前端与MySQL数据库支持: 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 vim /etc/zabbix/zabbix_server.conf

文件中的这些注释说明了如何连接到数据库。 我们需要将文件中的DBPassword值设置为数据库用户的密码。 在这些注释下方添加一行以配置数据库:
DBPassword=your_zabbix_mysql_password

这需要照顾Zabbix服务器配置,但是我们必须对我们的PHP设置进行一些修改,以使Zabbix Web界面正常工作。

第3步 - 为Zabbix配置PHP

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
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凭据,然后单击下一步继续。

在下一个屏幕上,您可以将选项保留为默认值。

名称是可选的; 如果您有多个监控服务器,则它将在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
sudo nano /etc/zabbix/zabbix_agentd.conf

该文件中的每个设置都通过整个文件中的资料性注释进行记录,但您只需编辑其中的一些。

首先你必须编辑Zabbix服务器的IP地址。 查找以下部分:

### Option: Server
# List of comma delimited IP addresses (or hostnames) of Zabbix servers.
# 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.
#
# Mandatory: no
# Default:
# Server= Server=127.0.0.1
将默认值更改为Zabbix服务器的IP:
Server=your_zabbix_server_ip_address

保存并关闭文件。 现在,您可以启动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控制台链接到它。

注意:如果使用UFW,请将其配置为允许连接到端口10050 :

sudo ufw allow 10050/tcp  

您可以在Ubuntu 16.04中了解如何使用UFW设置防火墙的UFW 。 

第6步 - 将新主机添加到Zabbix服务器

在我们要监控的服务器上安装代理只是一半的过程。 我们要监控的每个主机需要在Zabbix服务器上注册,我们可以通过Web界面进行操作。

通过导航到地址http:// your_zabbix_server_ip_address /zabbix/登录到Zabbix Server Web界面。

当您登录后,单击配置 ,然后单击顶部导航栏中的主机 。 然后点击屏幕右上角的创建主机按钮。 这将打开主机配置页面。

调整主机名IP地址以反映客户机的主机名和IP地址。 然后通过从列表中选择一个组或通过创建自己的组来将主机添加到组中。 主机可以在多个组中。 Linux服务器组是一个很好的默认选择。 添加该组后,单击“ 模板 ”选项卡。




 

 

 

ubuntu16.04下zabbix安装和配置的更多相关文章

  1. ubuntu16.04下hive安装与配置

    Hive是什么? 由Facebook开源用于解决海量 结构化日志的数据统计: Hive是基于Hadoop的一个 数据仓库工具,可以将结构化的数据文件映射 成一张表,并提供类SQL查询功能: 构建在Ha ...

  2. Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python)

    Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python) 前提是已经安装了python2,python3 1)安装各种依赖库 sudo apt-get update ...

  3. Ubuntu16.04 下如何安装搜狗拼音输入法【亲测有效】

    Ubuntu16.04 下如何安装搜狗拼音输入法[亲测有效]   一.添加fcitx键盘输入法系统[系统默认是iBus] 1.将下载源添加至系统源: sudo add-apt-repository p ...

  4. ubuntu16.04下docker安装和简单使用(转)

    ubuntu16.04下docker安装和简单使用   转自:https://www.cnblogs.com/hupeng1234/p/9773770.html 前提条件 操作系统 docker-ce ...

  5. Ubuntu16.04下编译安装及运行单目ORBSLAM2

    官网有源代码和配置教程,地址是 https://github.com/raulmur/ORB_SLAM2 1 安装必要工具 首先,有两个工具是需要提前安装的.即cmake和Git. sudo apt- ...

  6. acm的ubuntu (ubuntu16.04 安装指南,chrome安装,vim配置,git设置和github,装QQ)

    日常手贱把ubuntu14.04更新到了16.04,然后就game over了.mdzz,不然泥萌也看不到这篇博客了=.= 然后花了些时间重装了一个16.04版的,原来那个14.04的用可以用,就是动 ...

  7. ubuntu16.04下编译安装vim8.1

    之前写过一篇centos7下编译安装vim8.0的教程,ubuntu16.04相比centos7下安装过程不同在于依赖包名字的不同,其余都是一样.下面给出ubuntu16.04编译安装vim8.0需要 ...

  8. ubuntu16.04下g++安装及使用

    1)首先在虚拟机中安装Ubuntu16.04,网络模式设置为NAT模式,安装完成后在虚拟机中测试是否能够上网. 2)进入Ubuntu,按Ctrl+alt+T,调出终端,输入sudo su,输入密码切换 ...

  9. ubuntu16.04下docker安装和简单使用

    前提条件 操作系统 docker-ce支持的ubuntu版本: Bionic 18.04 (LTS) Xenial 16.04 (LTS) Trusty 14.04 (LTS) 卸载旧版本docker ...

随机推荐

  1. Redis Eval Script

    简介 从Redis 2.6 版本开始,内嵌支持 Lua 环境.通过使用EVAL或EVALSHA命令可以使用 Lua 解释器来执行脚本. EVAL和EVALSHA的使用是差不多的(下面有讲区别). EV ...

  2. Java框架之Struts2(三)

    一.几种国际化输出方式 国际化:国际化的本质,就是查找,替换.程序界面上输出的是国际化消息的 key 所对应的值.Struts2 中的国际化机制,会根据 key 到资源文件中找对应的文本来替换上面的k ...

  3. HDU5037(SummerTrainingDay01-C)

    Frog Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Subm ...

  4. yum 安装 php5.6.36

    PHP安装测试可以 rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm; rp ...

  5. Python 练习:使用 * 输出直角三角形

    正方向 height = int(input("please input height: ")) tmp = 1 while tmp <= height: width = t ...

  6. Python 字符编码简记

    名称 说明 ASCII 只能存英文和拉丁字符,一个字符占一个字节,8位. ASCII 码是不支持中文的,支持中文的第一张表是 GB2312 GB2312 支持中文,收录了 7445个字符 GBK1.0 ...

  7. 2018-01-15 History in Threads: 火狐插件实现浏览历史按主题显示(树)

    History in Threads似乎是唯一一个业余项目里有确认用户的. 大部分JavaScript源码(300+行)也用了中文命名. 插件功能很简单, 就是根据网页点击顺序生成树, 每个树可以认为 ...

  8. 警告!中国90%AI初创企业将在两年内落败出局

    https://mp.weixin.qq.com/s/-RkyLda1jovaHBlBTsi-BA 近年来,中国涌现了一大批AI初创企业,但AI热潮也伴随着泡沫.由于近期市场资金紧缩,投资者发出警告, ...

  9. JMeter JMeter远程分布式联机性能测试

    JMeter远程分布式联机性能测试   by:授客 QQ:1033553122 测试环境 apache-jmeter-2.13 Java JDK版本:1.8 1.  JMeter分布式测试简介 当一个 ...

  10. 自定义控件详解(五):onMeasure()、onLayout()

    前言: 自定义控件的三大方法: 测量: onMeasure(): 测量自己的大小,为正式布局提供建议 布局: onLayout(): 使用layout()函数对所有子控件布局 绘制: onDraw() ...