[原创] zabbix学习之旅五:如何快速搭建一个报警系统
通过之前的文章,我们已搭建好zabbix server、agent和mail客户端,现在万事俱备,只差在server的界面中进行相应配置,即可快速搭建一个报警系统。总的来说,快速搭建一个报警系统的顺序如下:
- 配置Host groups。在生产环境中,可能会有多个不同的业务,每个业务下又有自己的服务器。因此,通过定义Host group可以进行业务分组。
- 配置Template。顾名思义模板的意思,假设我们有多台Mysql服务器或应用服务器,他们的机器配置、开放端口都基本相同,那么我们没有必要一台台机器进行监控配置,只需要定义一个模板,便可以适用于所有类似的机器。而Host group和Template的对应关系可理解为多对多关系:一个Host group可以拥有多个Template,比如该Host group下所有windows机器可用windows Template,所有Linux机器可用Linux Template;而一个Template可以被多个Host group复用。
- 配置Host。即被监控的机器,指定该Host属于哪些Host group,并可适用于哪些模板。Host与Host group 及Template也是多对多的关系,不过实际环境中,某台主机应是可以确定属于哪个业务,应用哪个模板的,这样简单明了。
- 配置Media Types。即设计报警类型,默认的类型有email、SMS、script、Jabber等,我们采用自定义脚本类型,并指明调报警时调用哪个脚本。
- 配置Users。首先要创建用户组,才能创建用户。创建的用户组需要指明Permission,即该用户组可以对哪些Host group进行读、写或拒绝的权限操作,那么该用户组下所有用户都能继承该用户组的权限。
- 配置User。指明创建的用户属于哪个用户组,更为重要的一点是设置Media,也就是该用户可以使用哪些Media Type,当报警发生时,发送给哪些收件人,在什么时间段发送,指明发送的报警级别。
- 配置Action。在此可以指定报警的触发条件,报警后的标题和内容,恢复后的标题和内容,报警时发送频率、发送给哪些用户组或用户、用什么样的Media进行发送。
以上配置完成后,即完成了一个报警系统。当有报警发生时,比如web服务器挂了,那我们除了收邮件或短信外,在server的界面中如何看到呢?可以在两个地方看到。
一个是Trigger,在此可以看到每条报警的具体信息,如报警名称、级别、状态、哪台主机报警的、是否已有人处理了;
另一个是Events,在此除了可以看到上述报警信息外,最重要一点是可以看到是否触发了action,也就是报警信息是否成功处理,就在此查看。
zabbix支持中文界面,可以在右上角的Profile->User->Language中进行设置。不过中文支持的还是有不足之处,最典型的例子当属你设置的主机visiable name 为中文时,当看图形统计时,可能会显示成乱码。
下面的内容将按照上述配置过程一一明细出来,
配置Host groups
从Configuration->Host groups,即可看到Host groups列表,默认zabbix已创建了些分组。我们可以创建一个属于自己的分组。
简单取个名称即可
配置Template
很多人可能对zabbix提供的众多监控项感到不知所措,如何设置监控项才是最正确的呢?其实zabbix早已想到了这些问题,在它提供的模板列表中就有适合于不同场景的模板供你参考选择。即使你不知道某些监控项为什么这样做,但参照模板给的配置那是绝对错不了的。下面我们来看看如何快速搭建一个自定义的模板。
先从Configuration->Templates查看下既有的模板列表:
对于生产环境而言,windows服务器和linux服务器应算是最多的了,我们可以以他们为基础快速创建自定义模板。每个Template都进行了进一步的细分:
- Application:自定义的分类名,可以使每个item都有相应分类。
- Items:监控项,如监控端口、内存、CPU、磁盘使用情况、网卡项。
- Triggers:触发器,在此设定一个阀值,当item的值达到这个阀值时,触发器将生效报警。
- Graphs:设置某些item的图形化界面,如磁盘空间的分布、内存使用情况、CPU变化情况等。
- Screens:将多个Graph整合在一个界面中。
- Discovery:自动发现条目,最典型的两个应用,一个是磁盘分区的自动发现,你无须告诉zabbix这台机器有多少个分区,只需要进行Discovery配置,zabbix可以自动把某台机器的所有分区都找出来,若是后加的分区,zabbix也能找出来;另一个应用是网卡的自动发现,若网卡数量有变化,zabbix也能感知。
本文不会对上述项的内容进行详述,感兴趣的同学可以自行查看官网相关文档。
在此我们会快速地基于默认模板创建自定义模板,默认模板中的item内容很全面,但实际中我们可能仅需要其中一部分即可。我们以windows机器为例,看看如何做。
首先创建一个自定义的模板
简单取名,指定所属Host group即可
建立完自己的模板后,我们可以手动建立自己的Application分类
再次进入Template OS Windows的item分类中,我们筛选感兴趣的内容,并拷贝至我们创建的模板中。
如法炮制,我们将Triggers、Graphs等感兴趣项拷贝进模板中,对于无法拷贝的Screens和Discovery rules,可以手动复制即可。zabbix还提供了import和export功能,方便你定义的模板在其他机器上导入。
配置Host
接下来要定义被监控的机器,进入Configuration->Hosts->Create Host,创建一个Host
设置该Host对应的模板
配置好后,agent可以重启后与该Host进行通信。
配置Media Type
从Administration->Media Types->Create media type,创建一个script的media type,还记得上一篇提到的script路径吗?对,这个脚本需要放在/usr/local/zabbix/share/zabbix/alertscripts目录下。
配置Users
从Administration->Users->Create user group,创建一个新的用户组
设置该用户组可以拥有的host group权限
配置User
选择某用户组后,点击Create user按钮,创建一个新用户
设置该用户的媒介类型
配置Action
从Configuration->Actions->Create action,创建一个action。
可保持默认条件不变
设置相关动作
至此,配置完成。若想试试报警是否成功,可以尝试将被监控机网络断开,server的ping命令会在一定时间内发现被监控机断开,就会触发报警。
邮件内容大致如下:
[原创] zabbix学习之旅五:如何快速搭建一个报警系统的更多相关文章
- VMware 克隆linux后找不到eth0(学习hadoop,所以想快速搭建一个集群)
发生情况: 由于在学习hadoop,所以想快速搭建一个集群出来.所以直接在windows操作系统上用VMware安装了CentOS操作系统,配置好hadoop开发环境后,采用克隆功能,直接克 ...
- [原创] zabbix学习之旅六:如何解决zabbix server在内网,而邮件发送服务器在外网的问题
通过前面的文章,你已经可以快速地搭建一个报警系统,并能正常的收到报警邮件了.不过在很多企业级环境下,邮件发送服务器往往放在外网,而zabbix server放置在内网,在这种情况下,zabbix的报警 ...
- [原创] zabbix学习之旅七:如何远程操作被监控机器
虽然我们已经创建了一个报警系统,但在实际场景中,运维人员从得到报警到实际解决问题有一定的时差,若业务系统没有做高可用,那业务不得不中断,对于某些要求严格的企业级环境,这是不可容忍的,那有没有方法能让z ...
- [原创] zabbix学习之旅一:源码安装
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存 ...
- [原创] zabbix学习之旅二:yum安装
对于允许连接公网的环境下,显然通过yum安装是最为简单方便的,也是官网推荐的安装方式.通过这种方式安装,会将php.apache.zabbix本身都一并安装,解决了烦人的依赖包问题. 本文将介绍如 ...
- [原创] zabbix学习之旅四:mail客户端安装
相信大家使用zabbix的最主要目的就是当被监控机器发生故障时,能通过zabbix获得第一时间的报警提醒.zabbix常用的报警媒介有email,短信,jabber和脚本,这其中脚本类型最为灵活,尤其 ...
- [原创] zabbix学习之旅三:agent安装
部署完zabbix server后,自然要部署zabbix agent.在官方描述中,agent是部署在被监控的机器上,用于采集CPU.内存.磁盘等统计信息,并上报给server用于进一步处理.age ...
- 快速搭建一个Quartz定时任务【转载,好文 ,值得收藏,亲身试用 效果不错】
Quartz.NET 入门 概述 Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔 ...
- 快速搭建一个本地的FTP服务器 win10及win7
快速搭建一个本地的FTP服务器 如果需要开发FTP文件上传下载功能,那么需要在本机上搭建一个本地FTP服务器,方便调试. (win10) 第一步:配置IIS Web服务器 1.1 控制面板中找到“ ...
随机推荐
- Raspberry Pi B+ 定时向物联网yeelink上传CPU GPU温度
Raspberry Pi B+ 定时向物联网yeelink上传CPU GPU温度 硬件平台: Raspberry Pi B+ 软件平台: Raspberry 系统与前期安装请参见:树莓派(Ros ...
- sublime text2支持ng
这里面记录了sublime text3的一些破解和sublime text2支持ng的方法. http://weblogs.asp.net/dwahlin/archive/2013/08/30/usi ...
- PL/SQL Developer中文注释乱码的解决办法
1.检查服务器编码: 执行SQL语法: select * from v$nls_parameters; 2.设置本地客户端编码: 进入 我的电脑,属性,高级,环境变量,添加2项:LANG=zh_CN. ...
- 修改Hosts后对火狐不起作用解决办法
修改Hosts后对火狐不起作用: 重启火狐浏览器仍不起作用的话,执行下面操作即可. FireFox - 选项 - 高级 - 网络 - 立即清除(缓存) 就解决了
- XP极限编程
13个核心实战 团队协作(Whole Team) 规划策略(The Planning Game) 软件发布计划(ReleasePlanning) 周期开发计划(IterationPlanning) ...
- php qr生成二维码
二维码就是用在平面上用特定的几何图形记录数据信息的,QR码是常见的一种二维码.推荐使用生成QR码的php类库PHP QR Code. 例子: <?php ini_set('display_e ...
- Yii中使用PHPexcel获取excel中数据
1.view中代码如下: <form name="frmBatchSettle" id="" action="" method=&qu ...
- UltraEdit20 注册
UltraEdit v20下载与注册机 UltraEdit是一套功能强大的文本编辑器,可以编辑文本.十六进制.ASCII 码.HTML.PHP.Perl.Java 和 JavaScript等众多流行计 ...
- windows7安装IE11点击图标没反应
可以通过修改 Windows 注册表的方式解决: Win+R 打开“运行”后输入 regedit 打开 注册表编辑器 打开注册表编辑器(regedit)以后,找到注册表项HKEY_CURRENT_US ...
- sql server查询数据库中所有表的行数
select a.name,b.rows from sysobjects a,sysindexes b where a.name = b.name order by b.rows desc