Red Hat Enterprise Linux / CentOS 7 yum安装zabbix4.0
添加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'旁边的复选框,然后点击Select。Linux servers应该会出现在选定的区域中。点击'Read'按钮以设定权限等级,然后点击Add以将这个组加入到权限列表中。在用户组属性表单中,点击Update。
完成!你现在可以尝试使用这个新用户的凭证进行登录了。
2 新建主机
简介
通过本节,你将会学习到如何建立一个新的主机。
Zabbix中的主机(Host)是一个你想要监控的网络实体(物理的,或者虚拟的)。Zabbix中,对于主机的定义非常灵活。它可以时一台物理服务器,一个网络交换机,一个虚拟机或者一些应用。
添加主机
Zabbix中,可以通过配置(Configuration) → 主机(Hosts)菜单,查看已配置的主机信息。默认已有一个名为'Zabbix server'的预先定义好的主机。但我们需要学习如何添加另一个。
点击创建主机(Create host)以添加新的主机,这将向我们显示一张主机配置表格。
所有必填字端均以红色星标标示。
至少需要填写下列字段:
主机名称(Host name)
- 输入一个主机名称,可以使用字母数字、空格、点”.“、中划线”-“、下划线”_“。
组
- 从右边的选择框中,选择一个或者多个组,然后点击 « 移动它们到'所在组(In groups)'选择框。
IP地址
- 输入主机的IP地址。注意如果这是Zabbix server的IP地址,它必须是Zabbix agent配置文件中‘Server’参数的值。
暂时保持其他选项的默认值。
当完成后,点击添加(Add)。你可以在主机列表中看到你新添加的主机。
3 新建监控项
简介
本节你会学习如何新建一个监控项(Item)。
监控项是Zabbix中获得数据的基础。没有监控项,就没有数据——因为一个主机中只有监控项定义了单一的指标或者需要获得的数据。
添加监控项
所有的监控项都是依赖于主机的。这就是当我们要配置一个监控项时,先要进入 配置 → 主机 页面查找到新建的主机。
在'新主机(New host)'行中,监控项(Items)的链接旁的数量会显示为'0'。点击这个链接,然后点击创建监控项(Create item),将会显示一个监控项定义表格。
所有必填项均以红色星标标示。
对于监控项的示例,需要输入以下必要的信息:
名称(Name)
- 输入 CPU Load 作为值。在列表中和其他地方,都会显示这个值作为监控项名称。
值(Key)
- 手动输入 system.cpu.load 作为值。这是监控项的一个技术上的名称,用于识别获取信息的类型。这个特定值需要是Zabbix Agent预定义值中的一种。
信息类型(Type of information)
- 在此处选择 Numeric (float)。这个属性定义了想获得数据的格式。
我们暂时保持其他选项的默认值。
当完成后,点击添加(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的值。
一切就绪后,点击 更新(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的更多相关文章
- 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 ...
- 在Red Hat Enterprise Linux 7.3上安装SQL Server 2017
必要条件: 1.在此快速安装过程中,您需要安装SQL Server 2017或SQL Server 2019上Red Hat Enterprise Linux (RHEL) 7.3 +.然后使用sql ...
- Red Hat Enterprise Linux Server 6.5安装GCC 4.9.2
现在很多程序员都应用GCC,怎样才能更好的应用GCC.目前,GCC可以用来编译C/C++.FORTRAN.JAVA.OBJC.ADA等语言的程序,可根据需要选择安装支持的语言.本文以在RedHat L ...
- 转: 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 ...
- Red Hat Enterprise Linux(RHEL)中yum的repo文件详解
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载 ...
- 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 ...
- Red Hat Enterprise Linux 6.6安装体验
Red Hat Enterprise Linux 6.6的安装首界面有五个选项,这跟以前的Red Hat Enterprise Linux 5.x的安装界面是有一些区别的. 安装或者升级现有系统( ...
- SQL Server on Red Hat Enterprise Linux——RHEL上的SQL Server(全截图)
本文从零开始一步一步介绍如何在Red Hat Enterprise Linux上搭建SQL Server 2017,包括安装系统.安装SQL等相关步骤和方法(仅供测试学习之用,基础篇). 一. 创 ...
- SQL Server on Red Hat Enterprise Linux
本文从零开始一步一步介绍如何在Red Hat Enterprise Linux上搭建SQL Server 2017,包括安装系统.安装SQL等相关步骤和方法(仅供测试学习之用,基础篇). 一. 创 ...
随机推荐
- 调试libRTMP代码来分析RTMP协议
RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写.该协议基于TCP,是一个协议族,常用在视频直播领域.RTMP协议的默认端口是1935. 学习一个协议 ...
- spring boot 输入参数统一校验
1 引入spring boot validate maven 依赖 <!-- 验证 --> <dependency> <groupId>org.hiberna ...
- Web | Webpack快速上手
概述 Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 一般我们在开发中都是使用终端去进行安装,使用npm,关于npm ...
- Runtime - ② - NSObject类
首先,我们都知道NSObject是大多数类的根类,但是,这个类的是怎么实现的呢?我们可以去下载开源的Runtime源码,探究下NSObject类的实现. 1. NSObject.h文件 我们可以直接使 ...
- python3爬虫-通过requests爬取图虫网
import requests from fake_useragent import UserAgent from requests.exceptions import Timeout from ur ...
- vue 父子组件的生命周期顺序
一.加载渲染过程 父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount ...
- BZOJ 2648: SJY摆棋子(K-D Tree)
Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 6051 Solved: 2113[Submit][Status][Discuss] Descript ...
- keil编译运行错误,缺少error:#5:#include "core_cm3.h"
用Keil vision5编译时出现以下错误:error: #5: cannot open source input file "core_cm3.h": No such fi ...
- Mysql Explain的简单使用
Mysql Explain 主要重要的字段有上面红色方框圈出来的那几个. type: 连接类型,一个好的SQL语句至少要达到range级别,杜绝出现all级别. key: 使用到的索引名,如果没有选择 ...
- 2014年第五届蓝桥杯B组(C/C++)预赛题目及个人答案(欢迎指正)
参考:https://blog.csdn.net/qq_30076791/article/details/50573512 第3题: #include<bits/stdc++.h> usi ...