添加Zabbix存储库
安装存储库配置包。 该软件包包含yum(软件包管理器)配置文件。

rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

前端安装先决条件
Zabbix前端需要额外的基本安装包。 您需要在将运行Zabbix前端的系统中启用可选rpms的存储库:

yum-config-manager --enable rhel--server-optional-rpms

服务器/代理/前端安装
要在MySQL支持下安装Zabbix服务器(适用于RHEL 7,在RHEL 6上弃用):

yum install zabbix-server-mysql zabbix-server     zabbix-agent zabbix-get  

要通过MySQL支持安装Zabbix代理:

yum install zabbix-proxy-mysql

要在MySQL支持下安装Zabbix前端(适用于RHEL 7,在RHEL 6上弃用):

yum install zabbix-web-mysql zabbix-web

数据库创建

必须在安装Zabbix服务器或代理期间创建Zabbix数据库。

shell> mysql -uroot -p<password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';
mysql> flush privileges;
mysql> quit;

导入数据

现在使用MySQL导入服务器的初始模式和数据:

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

对于代理,导入初始架构:

zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix

为Zabbix服务器/代理配置数据库

编辑zabbix_server.conf或zabbix_proxy.conf以使用创建的数据库。例如:

# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<password>

启动Zabbix服务器进程

systemctl enable zabbix-server
systemctl start zabbix-server

Zabbix前端配置

对于RHEL 7及更高版本,Zabbix前端的Apache配置文件位于/etc/httpd/conf.d/zabbix.conf中。

vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time
php_value max_input_vars
php_value always_populate_raw_post_data -
php_value date.timezone Asia/Shanghai #设置中国时区

SELinux配置

在强制模式下启用SELinux状态后,您需要执行以下命令以启用Zabbix前端和服务器之间的通信:

setsebool -P httpd_can_connect_zabbix on 

setsebool -P httpd_can_network_connect_db on

在前端和SELinux配置完成后,您需要重新启动Apache Web服务器:

systemctl restart httpd

安装 Agent

运行以下命令以安装 Zabbix agent :


rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum install zabbix-agent -y

修改配置文件

[root@localhost ~]# cat /etc/zabbix/zabbix_agentd.conf |egrep "(^Server|^Host)"
Server=服务端ip
ServerActive=服务端ip
Hostname=主机名

运行以下命令以启动 Zabbix agent:

systemctl start zabbix-agent
systemctl enable zabbix-agent

                                                             快速入门:

1 登陆和配置用户

 

简介

本章你会学习如何登陆Zabbix,以及在Zabbix内建立一个系统用户。

登陆

这是Zabbix的“欢迎”界面。输入用户名 Admin 以及密码 zabbix 以作为 Zabbix超级用户登陆。

登陆后,你将会在页面右下角看到“以管理员连接(Connected as Admin)”。同时会获得访问 配置(Configuration) and 管理(Administration) 菜单的权限。

暴力破解攻击的保护机制

为了防止暴力破解和词典攻击,如果发生连续五次尝试登陆失败,Zabbix界面将暂停30秒。

在下次成功登陆后,将会在界面上尝试登录失败的IP地址

增加用户

可以在管理(Administration) → 用户(Users)下查看用户信息。

Zabbix在安装后只定义了两个用户。

  • 'Admin' 用户是Zabbix的一个超级管理员,拥有所有权限。
  • 'Guest' 用户是一个特殊的默认用户。如果你没有登陆,你访问Zabbix的时候使用的其实是“guest”权限。默认情况下,“guest”用户对Zabbix中的对象没有任何权限。

点击 创建用户(Create user) 以增加用户。

在添加用户的表单中,确认将新增的用户添加到了一个已有的用户组,比如'Zabbix administrators'。

所有必填字端都以红色星标标记。

默认情况下,没有为新增的用户定义媒介(media,即通知发送方式) 。如需要创建,可以到'媒介(Media)'标签下,然后点击增加(Add)

在这个对话框中,为用户输入一个Email地址。

你可以为媒介指定一个时间活动周期,(访问时间周期说明页面,查看该字段格式的描述)。默认情况下,媒介一直是活动的。你也可以通过自定义触发器严重等级来激活媒介,默认所有的等级都保持开启。

点击新增(Add),然后在用户属性表单中点击新增(Add)。新的用户将出现在用户清单中。

添加权限

默认的情况下,一个新用户没有全选访问任何主机。如果需要提升用户权限,在Groups列(此处以'Zabbix administrators'为例)中点击用户所在的组。在组的属性表单中,访问Permissions标签页。

这个用户对Linux servers组拥有只读权限,所以点击用户组选择区域旁边的Select按钮。

在弹出的表单中,标记'Linux servers'旁边的复选框,然后点击SelectLinux servers应该会出现在选定的区域中。点击'Read'按钮以设定权限等级,然后点击Add以将这个组加入到权限列表中。在用户组属性表单中,点击Update

在Zabbix中,主机的访问权限是被分配到用户组,而不是单个用户。

完成!你现在可以尝试使用这个新用户的凭证进行登录了。

2 新建主机

 

简介

通过本节,你将会学习到如何建立一个新的主机。

Zabbix中的主机(Host)是一个你想要监控的网络实体(物理的,或者虚拟的)。Zabbix中,对于主机的定义非常灵活。它可以时一台物理服务器,一个网络交换机,一个虚拟机或者一些应用。

添加主机

Zabbix中,可以通过配置(Configuration) → 主机(Hosts)菜单,查看已配置的主机信息。默认已有一个名为'Zabbix server'的预先定义好的主机。但我们需要学习如何添加另一个。

点击创建主机(Create host)以添加新的主机,这将向我们显示一张主机配置表格。

所有必填字端均以红色星标标示。

至少需要填写下列字段:

主机名称(Host name)

  • 输入一个主机名称,可以使用字母数字、空格、点”.“、中划线”-“、下划线”_“。

  • 从右边的选择框中,选择一个或者多个组,然后点击 « 移动它们到'所在组(In groups)'选择框。
所有访问权限都分配到主机组,而不是单独的主机。这也是主机需要属于至少一个组的原因。

IP地址

  • 输入主机的IP地址。注意如果这是Zabbix server的IP地址,它必须是Zabbix agent配置文件中‘Server’参数的值。

暂时保持其他选项的默认值。

当完成后,点击添加(Add)。你可以在主机列表中看到你新添加的主机。

如果可用性(Availability)列中的ZBX图标是红色的,通信可能存在一些问题。将你的鼠标移动到上面查看错误信息。如果这个图标是灰色的,说明目前状态还没更新。确认Zabbix server正在运行,同时尝试过会儿刷新这个页面。
 

3 新建监控项

 

简介

本节你会学习如何新建一个监控项(Item)。

监控项是Zabbix中获得数据的基础。没有监控项,就没有数据——因为一个主机中只有监控项定义了单一的指标或者需要获得的数据。

添加监控项

所有的监控项都是依赖于主机的。这就是当我们要配置一个监控项时,先要进入 配置 → 主机 页面查找到新建的主机。

在'新主机(New host)'行中,监控项(Items)的链接旁的数量会显示为'0'。点击这个链接,然后点击创建监控项(Create item),将会显示一个监控项定义表格。

所有必填项均以红色星标标示。

对于监控项的示例,需要输入以下必要的信息:

名称(Name)

  • 输入 CPU Load 作为值。在列表中和其他地方,都会显示这个值作为监控项名称。

值(Key)

  • 手动输入 system.cpu.load 作为值。这是监控项的一个技术上的名称,用于识别获取信息的类型。这个特定值需要是Zabbix Agent预定义值中的一种。

信息类型(Type of information)

  • 在此处选择 Numeric (float)。这个属性定义了想获得数据的格式。
你也需要减少监控项历史保留的天数,7或者14天。对于数据库而言,最佳实践是避免数据库保留过多的历史数据。

我们暂时保持其他选项的默认值。

当完成后,点击添加(Add)。新的监控项将出现在监控项列表中。点击列表中的详细(Details)以查看具体细节。

查看数据

当一个监控项定义完成后,你可能好奇它具体获得了什么值。前往监控(Monitoring) → 最新数据(Latest data), 在过滤器中选择刚才新建的主机,然后点击应用(Apply)

然后点击- other -前面的 + ,然后查看你之前定义的监控项和获得的值。

同时,第一次获得的监控项值最多需要60秒才能到达。默认情况下,这是服务器读取变化后的配置文件,获取并执行新的监控项的频率。

如果你在‘变化(Change)’列中没有看到值,可能到目前为止只获得了一次值。等待30秒以获得新的监控项值。

如果你在没有看到类似截图中的监控项信息,请确认:

  • 你输入的监控项'值(Key)' 和 '信息类型(Type of information)' 同截图中的一致
  • agent和server都在运行状态
  • 主机状态为'监控(Monitored)'并且它的可用性图标是绿色的
  • 在主机的下拉菜单中已经选择了对应主机,且监控项处于启用状态
图表

当监控项运行了一段时间后,可以查看可视化图表。 简单图表 适用于任何被监控的数值型(numeric)监控项,且不需要额外的配置。这些图表会在运行时生成。

前往监控(Monitoring) → 最新数据(Latest data),然后点击监控项后的'图表(Graph)'链接以查看图表。

4 新建触发器

 

概述

本节你会学习如何配置一个触发器(trigger)。

监控项只是用于收集数据。如果需要自动评估收到的数据,我们则需要定义触发器。触发器包含了一个表达式,这个表达式定义了数据的可接受的阈值级别。

如果收到的数据超过了这个定义好的级别,触发器将被“触发”,或者进入“异常(Problem)”状态——从而引起我们的注意,让我们知道有问题发生。如果数据再次恢复到合理的范围,触发器将会到“正常(Ok)”状态。

添加触发器

为监控项配置触发器,前往配置(Configuration) → 主机(Hosts),找到'新增主机(New host)',点击旁边的触发器(Triggers) ,然后点击创建触发器(Create trigger)。这将会向我们展现一个触发器定义表单。

所有必填字端均以红色星标标示。

对于触发器,有下列必填项:

名称(Name)

  • 输入 CPU load too high on 'New host' for 3 minutes 作为值。这个值会作为触发器的名称被现实在列表和其他地方。

表达式(Expression)

  • 输入:{New host:system.cpu.load.avg(3m)}>2

值时触发器的表达式。确认这个表达式输入正确,直到最后一个符号。此处,监控项值(system.cpu.load)用于指出具体的监控项。这个特定的表达式大致是说如果3分钟内,CPU负载的平均值超过2,那么就触发了问题的阈值。你可以查看更多的触发器表达式语法信息。

完成后,点击添加(Add)。新的触发器将会显示在触发器列表中。

显示触发器状态

当一个触发器定义完毕后,你可能想查看它的状态。

如果CPU负载超过了你在触发器中定义的阈值,这个问题将显示在监控(Monitoring) → 问题(Problems)中。

闪烁意味着这个触发器状态最近30分钟内发生过变化。

5 获取问题通知

 

简介

在本节中,你会学习如何在Zabbix中以通知(notifications)的方式配置报警(alerting)。

当监控项收集了数据后,触发器会根据异常状态触发报警。根据一些报警机制,它也会通知我们一些重要的事件,而不需要我们直接在Zabbix前端进行查看。

这就是通知(Notifications)的功能。E-mail是最常用的异常通知发送方式。我们将会学习如何配置e-mail通知。

E-mail设置

Zabbix中最初内置了一些预定义的通知发送方式E-mail 通知是其中的一种。

前往管理(Administration) → 媒体类型(Media types),点击预定义媒体类型列表中的Email,以配置E-mail。

这将向我们展现e-mail设置定义表单。

所有必填字段均以红色星标标示。

根据你的环境,设置SMTP服务器,SMTP helo, SMTP e-mail的值。

'SMTP email'将作为Zabbix通知的'发件人(From)'地址。

一切就绪后,点击 更新(Update)

现在你已经配置了'Email'作为一种可用的媒体类型。一个媒体类型必须通过发送地址来关联用户(如同我们在配置一个新用户中做的),否则它将无法生效。

新建动作

发送通知是Zabbix中动作(actions)执行的操作之一。因此,为了建立一个通知,前往配置(Configuration) → 动作(Actions),然后点击创建动作(Create action)

所有必填字段均以红色星标标示。

在这个表单中,输入这个动作的名称。

在大多数简单的例子中,如果我们不添加更多的指定条件,这个动作会在触发器从 'Ok' 变为 'Problem'时发生。

我们还需要定义这个动作具体做了什么 —— 即在 操作(Operations) 标签页中执行的操作。点击新建(New),将会打开一个操作表单。

所有必填字段均以红色星标标示。

这里,在发送给用户(Send to Users)块中点击添加(Add),然后选择我们之前定义的用户('user')。选择'Email'作为Send only to的值。完成后,在操作明细区域中,点击添加(Add)

默认主题(Default subject) 和 默认消息(Default message)字段可看到{TRIGGER.STATUS} 和 {TRIGGER.NAME} 宏(或者变量),它们会被具体的触发器状态和触发器名称替换。

这是一个简单的动作配置步骤,即点击动作表单中的添加(Add)

获得通知

现在,发送通知配置完成,我们看看它如何将通知发送给实际接收人。为了实现这个目的,我们需要你主机的负载,这样我们的触发器才会被触发,我们会收到问题通知。

打开主机的控制台,并运行:

cat /dev/urandom | md5sum

你需要运行一个或者多个这样的进程

现在,前往监控(Monitoring) → 最新数据(Latest data),查看'CPU Load'的值是否已经增长。记住,为了使我们的触发器触发(fire),'CPU Load'的值需要在在3分钟运行的过程中超过2。一旦满足这个条件:

  • 监控(Monitoring) → 问题(Problems)中,你可以看到闪烁‘Problem’状态的触发器。
  • 你的e-mail中,会收到一个问题通知
如果通知功能没有正常工作:

  • 再次验证e-mail设置和动作设置已经被正确配置
  • 确认你创建的用户对生成事件的主机至少拥有读(read)权限。正如添加用户步骤中提到的,'Zabbix administrators'用户组中的用户必须对'Linux servers'主机组(该主机所属组)至少拥有读(read)权限。
  • 另外,你可以在报告(Reports) → 动作日志(Action log)中检查动作日志。

6 新建模版

 

概述

在本节中,你将会学习如何配置一个模版。

我们在之前的章节中学会了如何配置监控项、触发器,以及如果从主机上获得问题的通知。

虽然这些步骤提供了很大的灵活性,但仍然需要很多步骤才能完成。如果我们需要配置上千台主机,一些自动化操作会带来更多便利性。

模版(templates)功能可以实现这一点。模版允许对有用的监控项、触发器和其他对象进行分组,只需要一步就可以对监控主机应用模版,以达到反复重用的目的。

当一个模版链接到一个主机后,主机会继承这个模版中的所有对象。简单而言,一组预先定义好的检查会被快速应用到主机上。

添加模版

开始使用模版,你必须先创建一个。在配置(Configuration) → 模版(Templates)中,点击创建模版(Create template)。这将会像我们展现一个模版配置表格。

所有必填字段以红色星标标示。

需要输入以下必填字段:

模版名称(Template name)

  • 输入一个模版名称。可以使用数字、字母、空格及下划线。

组(Groups)

  • 使用选择(Select)按钮选择一个或者多个组。模版必须属于一个组。

完成后,点击添加(Add)。你新建的模版可以在模版列表中查看。

你可以在这看到模版信息。但这个模版中没有任何信息——没有监控项、触发器或者其他对象。

在模版中添加监控项

为了在模版中添加监控项,前往'New host'的监控项列表。在配置(Configuration) → 主机(Hosts),点击‘New host’旁边的监控项(Items)

然后:

  • 选中列表中'CPU Load'监控项的选择框
  • 点击列表下方的复制(Copy)
  • 选择想要复制这个监控项的目标模版

所有必填字段以红色星标标示。

  • 点击复制(Copy)

你现在可以前往配置(Configuration) → 模版(Templates),'新模版(New template)'中会有一个新的监控项。

我们目前至创建了一个监控项,但你可以用同样的方法在模版中添加其他的监控项,触发器以及其他对象,直到完成满足特定需求(如监控OS,监控单个应用)的完整的对象组合。

链接模版到主机

准备一个模版后,将它链接到一个主机。前往配置(Configuration) → 主机(Hosts),点击'新主机(New host)'打开表单,前往模版(Templates)标签页。

点击链接新模版(Link new templates)旁边的选择(Select),在弹出的窗口中,点击我们创建模版的名称('New template'),它会出现在链接新模版(Link new templates)区域,点击添加(Add)。这个模版会出现在已链接模版(Linked templates)列表中。

点击更新(Update)保存配置。现在,新模版及其所有的对象被添加到了主机。

你可能会想到,我们可以使用同样的方法将模版应用到其他主机。任何在模版级别的监控项、触发器及其他对象的变更,也会传递给所有链接该模版的主机。

链接预定义模版到主机

你可能注意到,Zabbix为各种操作系统、设备以及应用准备一些预定义的模版。为了快速部署监控,你可能会将它们中的一些与主机关联。但请注意,一些模版需要根据你的实际环境进行合适的调整。比如:一些检查项是不需要的,一些轮询周期过于频繁。

可参考该链接,查看更多关于模版的信息。

Red Hat Enterprise Linux / CentOS 7 yum安装zabbix4.0的更多相关文章

  1. Red Hat Enterprise Linux Server(RHEL) yum安装软件时This system is not registered with RHN. RHN support will be disabled. 的解决方法(转)

    新安装了redhat6.5.安装后,登录系统,使用yum update 更新系统.提示: This system is not registered to Red Hat Subscription M ...

  2. 在Red Hat Enterprise Linux 7.3上安装SQL Server 2017

    必要条件: 1.在此快速安装过程中,您需要安装SQL Server 2017或SQL Server 2019上Red Hat Enterprise Linux (RHEL) 7.3 +.然后使用sql ...

  3. Red Hat Enterprise Linux Server 6.5安装GCC 4.9.2

    现在很多程序员都应用GCC,怎样才能更好的应用GCC.目前,GCC可以用来编译C/C++.FORTRAN.JAVA.OBJC.ADA等语言的程序,可根据需要选择安装支持的语言.本文以在RedHat L ...

  4. 转: Red Hat/Fedora Linux 上使用 yum 安装 python pip 模块

    from: http://www.cnblogs.com/moinmoin/archive/2012/03/07/red-hat-Fedora-python-pip-install-how.html ...

  5. Red Hat Enterprise Linux(RHEL)中yum的repo文件详解

    Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载 ...

  6. Red Hat Enterprise Linux 7.4上安装Oracle 11.2.0.4

    1. 配置Yum源及关闭SeLinux [root@localhost ~]# mkdir /media/rhel [root@localhost ~]# mount /dev/cdrom /medi ...

  7. Red Hat Enterprise Linux 6.6安装体验

    Red Hat Enterprise Linux 6.6的安装首界面有五个选项,这跟以前的Red Hat Enterprise Linux 5.x的安装界面是有一些区别的.   安装或者升级现有系统( ...

  8. SQL Server on Red Hat Enterprise Linux——RHEL上的SQL Server(全截图)

    本文从零开始一步一步介绍如何在Red Hat Enterprise Linux上搭建SQL Server 2017,包括安装系统.安装SQL等相关步骤和方法(仅供测试学习之用,基础篇). 一.   创 ...

  9. SQL Server on Red Hat Enterprise Linux

    本文从零开始一步一步介绍如何在Red Hat Enterprise Linux上搭建SQL Server 2017,包括安装系统.安装SQL等相关步骤和方法(仅供测试学习之用,基础篇). 一.   创 ...

随机推荐

  1. 调试libRTMP代码来分析RTMP协议

    RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写.该协议基于TCP,是一个协议族,常用在视频直播领域.RTMP协议的默认端口是1935. 学习一个协议 ...

  2. spring boot 输入参数统一校验

    1 引入spring boot validate    maven 依赖 <!-- 验证 --> <dependency> <groupId>org.hiberna ...

  3. Web | Webpack快速上手

    概述 Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 一般我们在开发中都是使用终端去进行安装,使用npm,关于npm ...

  4. Runtime - ② - NSObject类

    首先,我们都知道NSObject是大多数类的根类,但是,这个类的是怎么实现的呢?我们可以去下载开源的Runtime源码,探究下NSObject类的实现. 1. NSObject.h文件 我们可以直接使 ...

  5. python3爬虫-通过requests爬取图虫网

    import requests from fake_useragent import UserAgent from requests.exceptions import Timeout from ur ...

  6. vue 父子组件的生命周期顺序

    一.加载渲染过程 父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount ...

  7. BZOJ 2648: SJY摆棋子(K-D Tree)

    Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 6051  Solved: 2113[Submit][Status][Discuss] Descript ...

  8. keil编译运行错误,缺少error:#5:#include "core_cm3.h"

    用Keil  vision5编译时出现以下错误:error:  #5: cannot open source input file "core_cm3.h": No such fi ...

  9. Mysql Explain的简单使用

    Mysql Explain 主要重要的字段有上面红色方框圈出来的那几个. type: 连接类型,一个好的SQL语句至少要达到range级别,杜绝出现all级别. key: 使用到的索引名,如果没有选择 ...

  10. 2014年第五届蓝桥杯B组(C/C++)预赛题目及个人答案(欢迎指正)

    参考:https://blog.csdn.net/qq_30076791/article/details/50573512 第3题: #include<bits/stdc++.h> usi ...