[原创] zabbix学习之旅五:如何快速搭建一个报警系统

  通过之前的文章,我们已搭建好zabbix server、agent和mail客户端,现在万事俱备,只差在server的界面中进行相应配置,即可快速搭建一个报警系统。总的来说,快速搭建一个报警系统的顺序如下:

  1. 配置Host groups。在生产环境中,可能会有多个不同的业务,每个业务下又有自己的服务器。因此,通过定义Host group可以进行业务分组。
  2. 配置Template。顾名思义模板的意思,假设我们有多台Mysql服务器或应用服务器,他们的机器配置、开放端口都基本相同,那么我们没有必要一台台机器进行监控配置,只需要定义一个模板,便可以适用于所有类似的机器。而Host group和Template的对应关系可理解为多对多关系:一个Host group可以拥有多个Template,比如该Host group下所有windows机器可用windows Template,所有Linux机器可用Linux Template;而一个Template可以被多个Host group复用。
  3. 配置Host。即被监控的机器,指定该Host属于哪些Host group,并可适用于哪些模板。Host与Host group 及Template也是多对多的关系,不过实际环境中,某台主机应是可以确定属于哪个业务,应用哪个模板的,这样简单明了。
  4. 配置Media Types。即设计报警类型,默认的类型有email、SMS、script、Jabber等,我们采用自定义脚本类型,并指明调报警时调用哪个脚本。
  5. 配置Users。首先要创建用户组,才能创建用户。创建的用户组需要指明Permission,即该用户组可以对哪些Host group进行读、写或拒绝的权限操作,那么该用户组下所有用户都能继承该用户组的权限。
  6. 配置User。指明创建的用户属于哪个用户组,更为重要的一点是设置Media,也就是该用户可以使用哪些Media Type,当报警发生时,发送给哪些收件人,在什么时间段发送,指明发送的报警级别。
  7. 配置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命令会在一定时间内发现被监控机断开,就会触发报警。

  邮件内容大致如下:

  

时间: 2024-12-17 03:28:45

[原创] zabbix学习之旅五:如何快速搭建一个报警系统的相关文章

[原创] zabbix学习之旅三:agent安装

部署完zabbix server后,自然要部署zabbix agent.在官方描述中,agent是部署在被监控的机器上,用于采集CPU.内存.磁盘等统计信息,并上报给server用于进一步处理.agent的采集信息方式也非常高效,是通过本机操作系统的系统调用完成. agent主要通过被动和主动两种方式上报本机信息,顾名思义,被动方式意味着server下达采集命令时,agent才会去收集信息:而主动方式意味着agent会在第一次时就从server处获取要采集的items,并定期将每个item的新值

[原创] zabbix学习之旅二:yum安装

对于允许连接公网的环境下,显然通过yum安装是最为简单方便的,也是官网推荐的安装方式.通过这种方式安装,会将php.apache.zabbix本身都一并安装,解决了烦人的依赖包问题. 本文将介绍如何进行yum安装. 安装Mysql zabbix支持安装在多种数据库上,本方案中数据库为mysql.安装及库表建立如下: 安装mysql5.6.28,安装方式为rpm安装,安装前若本机已有老旧mysql,请卸载. rpm –ivh MySQL-server-5.6.28-1.el6.x86_64.rpm

[原创] zabbix学习之旅四:mail客户端安装

相信大家使用zabbix的最主要目的就是当被监控机器发生故障时,能通过zabbix获得第一时间的报警提醒.zabbix常用的报警媒介有email,短信,jabber和脚本,这其中脚本类型最为灵活,尤其当邮件服务器.短信服务器不与zabbix server在同一台服务器时,自定义脚本基本上成为我们唯一可靠的方式. 在本文中,我们将在zabbix server上安装邮件客户端,并以脚本方式将报警信息通过邮件发出来,若以后想做短信提醒.微信提醒,技术路径都是一样的. 安装msmtp msmtp是一个S

Android学习路线(五)开启另一个Activity

在完成了 上一篇课程后,你已经有了一个应用.这个应用展示了一个包含一个文本框和一个按钮的activity(一个单独的界面).在这次的课程中,你将会通过在MainActivity中添加一些代码,来让当给你点击Send按钮时能够跳转到另一个activity中. 响应Send按钮 为了响应按钮的点击事件,打开fragment_main.xml 布局文件,然后在 <Button> 元素中加入android:onClick属性: <Button     android:layout_width=&

本地使用 docker 快速搭建一个 PHP7.4 学习环境 | Laravel China 社区

原文:本地使用 docker 快速搭建一个 PHP7.4 学习环境 | Laravel China 社区 安装 docker# 安装方法:https://hub.docker.com/?overlay=onboarding 文档手册:https://docs.docker.com/docker-hub/ 安装完成后使用命令查看版本 $ docker --version 下载镜像# 1.拉取需要的镜像# 去 hub.docker.com 拉取需要的镜像 2.查看拉取方法# 3.转到终端界面# 拉取

如何快速搭建一个完整的移动直播系统?

移动直播行业的火热会在很长一段时间内持续,通过和各行业的整合,从而成为具有无限可能性的行业.主要因为以下三个原因: 第一,移动直播的UGC生产模式比PC端的直播更明显,人人都有设备,随时随地开播,完全顺应了互联网时代的开放性原则,能刺激更多人去创造和传播优质内容. 第二,网络带宽和速度在逐渐提高,网络成本在逐渐下降,为移动直播提供一个极佳的发展环境.文字.声音.视频.游戏等都会在移动直播中呈现,创造出更加丰富的用户体验.直播可以以SDK的形式接入到自己的应用中,比如,教育领域中的课后辅导完全可以

【SpringBoot】2.快速搭建一个SpringBoot应用

上一篇博客我们介绍了SpringBoot的概念,这里我们通过快速搭建一个SpringBoot应用来体验SpringBoot的特色. 1.创建工程首先我们打开MyEclipse,创建一个Maven工程:然后选择创建模式,这里我们选择不需要骨架:最后填写项目相关参数:项目创建之后工程目录如下:pom.xml文件中有一些错误,我们先去配置它,在POM文件中添加SpringBoot的依赖,配置如下: [html] view plain copy <project xmlns="http://mav

快速搭建一个“微视”类短视频 App

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云视频发表于云+社区专栏 关注公众号"腾讯云视频",一键获取 技术干货 | 优惠活动 | 视频方案 "爱就像蓝天白云晴空×××,突然暴风雨--"偷偷在上班期间看微视里美丽的×××姐,不巧被老大当场抓包"看来还是给你安排的工作太少了,这样吧,竟然你那么喜欢看微视,那就给你三天时间搭建出类似微视的短视频APP,要搭建不起来,这个月的绩效奖金就取消!"我的天!除了绝望还是绝望!人们常

使用TestStand默认ProcessModel--SequentialModel,快速搭建一个自定义过程模型Demo

TestStand 版本:2012 SP1 实现的的目标效果,如下图:使用TestStand默认ProcessModel--SequentialModel,快速搭建一个自定义过程模型Demo 步骤一: .准备工作 将TestStand ProcessModel 设置成--SequentialModel 设置Result Processing,这边启用Report记录  步骤二:  添加Model Callback 右击Sequence区域,选择Sequence File Callbacks,在出