本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。
本篇文章给大家谈谈zabbix告警收敛,以及zabbix告警等级对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享zabbix告警收敛的知识,其中也会对zabbix告警等级进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
zabbix告警配置
概述
假设我们配置了一些监控项和触发器,现在当触发器状态改变时会获取一些发生的事件,是时候考虑下一步行动了。
我们不可能一直盯着触发器或者事件列表,当发生一些标志性的事件时发送警告再好不过。当问题发生,关注这些的用户都会被通知。
zabbix提供主要的功能就是发送告警就是这个原因。哪些人?在什么时候?应该收到哪些信息是可以被定义的。
为了发送和接收来自zabbix的告警,你必须:
定义媒介
配置发送信息到定义媒介的动作
动作由 触发条件 和 操作 组成。基本上当条件符合时,操作被执行。两个主要的操作是 发送消息 和 执行远程命令
为了发现和自动注册创建的事件,一些额外的操作是可用的,包含添加或者删除主机,链接模板等
一、媒介(Media types)
概述
Media 是用于发送zabbix的消息与告警的递送通道
可以定义一下媒介类型
E-mail
SMS
Jabber
Ez Texting
Custom alertscripts
1、 E-mail
为消息定义E-mail发送通道,需要配置e-mail 作为媒介类型并且传递指定的地址给用户
配置
依次点击 管理——报警媒介类型,点击创建媒介类型(或者点击预先定义的媒介类型 E-mail)
媒介类型表包含通常的媒介类型属性
所有重要的字段都会标记红星
Name 媒介类型名字
Type 选择Email作为类型
SMTP server 设置stmp服务器作为处理信息的出口
SMTP server port 设置smtp服务的端口,这个参数从zabbix3.0开始支持
SMTP helo 这是正确的stmp链接值,通常为域名
SMTP email 这个地址会被用于信息发送者,用来发送消息,添加发送者的显示名 如 Zabbix_info则zabbix_info<gaoxiaoxu@126.com
几个可以生效的配置:
gaoxiaoxu@126.com 只有邮箱地址,不需要尖括号
zabbix_info<gaoxiaoxu@126.com 显示名与邮件地址,地址写在尖括号中
监控系统<gaoxiaoxu@126.com 使用UTF-8格式的显示名
Connection security 选择链接安全级别,None为不使用ssl选项,starttls 使用 CURLOPT_USE_SSL参数,SSL/TLS则CURLOPT_USE_SSL可选
SSL verify peer 标记checkbox同步SMTP服务的SSL证书,
Authentication 认证方法
Username 用户名
Password 密码
Enabled 启用媒介
注意 : 为了使SMTP中的authentication 选项可用,zabbix在编译时,需要带--with-libcurl参数 使用cURL7.20.0或更高版本
第二个选项卡options
第二个选项卡options配置了告警的处理流程。同样的options配置在其他的媒介类型中也存在。
所有媒介都是并行处理的,当前最大会话每个媒介自己定义,但是zabbix服务的告警处理总数被参数(zabbix_sever.conf)StartAlerters所限制。同一触发器生成的告警会序列化的处理
options表
concurrent sessions 并发会话数,三个选项,one(一个),unlimited(不限制),custom(自定义)
Attempts 尝试发送告警的次数,如果设置为1,则zabbix会发送以此通知,并且失败时不会重发
Attempts interval 重发通知的频率,发送失败时重发的间隔
配置用户的媒介
依次点击 Administration(管理)---Users(用户)
点击用户的属性表,在Media(媒介)表中点击add
type 选择Email作为类型
send to 指定email地址,可以点击add添加多个地址,同理此地址也可设置显示名如Zabbix_admin<gaoxiaoxu@126.com或者gaoxiaoxu@126.com
when active 设置发送时间如工作日(1-5,09:00-18:00)可以使用宏
Use if severity 指定想要接受的告警等级
status 启用与否
2、SMS
zabbix发送短信,使用串行GSM调试解调器连接到zabbix server的serial port
先决条件:
串行设备(正常情况下在linux的/dev/ttyS0)的速度取决于modem。zabbix不设置串行链接的速度。
zabbix user拥有对串行设备的读写权限,运行ls -l /dev/ttyS0查看当前权限
GSM调试解调器拥有PIN码,PIN也可以禁用使用命令 AT+CPIN="NNNN"输入PIN, 必须有双引号。
已经测试好的modem Siemens MC35 Teltonika ModemCOM/G10
配置SMS作为发送通道,需要配置SMS作为媒介类型并且在用户界面配置接收手机号
配置
依次点击 Administration---Media types,点击创建media type或使用预先的配置
sms的Media type表属性
Description media type名
Type 选择SMS
GSM modem 选择设备如 /dev/ttyS0
options选项卡见E-mail
配置用户媒介
依次点击 Administration(管理)---Users(用户)
点击用户的属性表,在Media(媒介)表中点击add
types 选择SMS作为媒介
Send to 输入用户手机号
When active 设置发送时间如工作日(1-5,09:00-18:00)可以使用宏
Use if severity 指定想要接受的告警等级
status 启用与否
3、Jabber (略)
4、Ez Texing(略)
5、Custom alertscripts
如果不满足于存在的媒介来发送警告,可以自定义脚本进行发送
警告脚本在zabbix server上执行,这些脚本位于server配置文件AlertScriptsPath变量(默认/usr/local/share/zabbix/alertscripts)
脚本示例:
#!/bin/bash
to=$1
subject=$2
body=$3
cat <<EOF |mail -s "$subject" "$to"
$bodyEOF
从3.4开始zabbix会检查exit code(shell执行返回码,0为成功),若exit code 不等于0,则认为执行失败,zabbix会重复执行
script不保存环境变量,所以环境变量要精确指定
配置
依次点击 Administration---Media types,点击创建media type
mediatype表属性
Name 输入媒介的名字
Type 选择Script作为类型
Script name 输入脚本的名字(zabbix server中的脚本文件)
Script parameters 添加命令行参数到脚本
可支持ALERT.SENDTO}、{ALERT.SUBJECT}、{ALERT.MESSAGE}等宏,
{ALERT.SENDTO} 用户媒介中的send to(收件人)的值
{ALERT.SUBJECT} 动作配置中的Default subject(默认标题)
{ALERT.MESSAGE} 动作配置中的Default message(消息内容)
options表中定义了处理流程,见E-mail的说明
配置用户媒介User media
依次点击 Administration(管理)---Users(用户)
点击用户的属性表,在Media(媒介)表中点击add
用户媒介属性
Type 选择自定义脚本的媒介类型
Send to 指定告警接收人
When active 设置发送时间如工作日(1-5,09:00-18:00)可以使用宏
Use if serverity 指定想要接受的告警等级
status 启用与否
二、动作
如果你希望发生事件时会触发一些操作,那么你需要配置action
动作可以定义回应所有支持的事件类型,
事件类型:
Trigger events触发器事件,当触发器状态从ok改变到problem或相反。
Discovery events 当自动发现产生
Auto registration events当新的agent自动注册时,或者经注册过的主机元数据改变
Internal events当监控项变为不支持或触发器状态变为unknown时
配置一个动作
依次 Configuration ——Actions
从event source中选择需要的源(分为:触发器源,自动发现源,自动注册源,事件源)
点击创建动作
选择操作执行的条件
选择具体操作
选择恢复操作
动作表的属性
Name 唯一动作名
Type of calcaulation 选择条件触发的计算方法
And 必须符合所有条件
Or 只要一个条件符合即可
And/Or 结合二者,不同类型的条件用And,同一类型的条件用Or
Custom expression 用户自定义
Conditions 触发动作的一系列条件、
New condition 选择新的动作触发条件
Enabled 启用动作
条件设置
基于触发器的条件
Application 应用集
Host group 主机组
Template 模板
Host 主机
Tag 标签(串)
tag value 标签值
Trigger 触发器
Trigger name 触发器名字
Trigger severity 触发器等级
Time period 触发时间
Problem is suppressed 触发问题是否意料之中,如主机维护
基于自动发现的条件
Host IP 指定主机ip地址自动发现范围 格式: 单独的ip:192.168.1.33 范围ip: 192.168.1-101.1-254 Ip mask: 192.168.4。0/24
Service type 服务类型
service port 服务端口
Discovery rule 指定自动发现规则
Discovery check
Discovery object
Discovery status
Uptime/Downtime
Received value
Proxy
基于自动注册的条件
Host metadata 由zabbix_agentd.conf 文件中的HostMetadata变量定义
Host name
Proxy
基于内部事件的条件
Application
Event type
Host group
Template
Host
条件匹配后,就需要执行响应的动作了
可以支持以下动作
send a message
execute a remote command
add host
remove host
enable host
disable host
add to host group
remove from host group
link to template
unlink from template
set host inventory mode
执行远程命令
确保配置文件中(zabbix_agentd.conf)EnableRemoteCommands 参数设置为1
加入zabbix用户到sudo,vim /etc/sudoer
zabbix ALL=NOPASS: ALL #所有命令不需密码
zabbix ALL=NOPASS: /etc/init.d/apache restart #指定某一命令不需要密码
触发操作后,使用宏 编辑信息
如 告警信息模板
标题 服务器:{HOST.NAME} - 发生: {TRIGGER.NAME}故障
信息 告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
恢复信息
标题 服务器:{HOST.NAME} - {TRIGGER.NAME} 已恢复
信息 告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.ID}
如何做好运维监控?
统一监控平台,说到底本质上也是一个监控系统,监控的基本能力是必不可少的,回归到监控的本质,先梳理下整个监控体系:
① 监控系统的本质是通过发现故障、解决故障、预防故障来为了保障业务的稳定。
② 监控体系一般来说包括数据采集、数据检测、告警管理、故障管理、视图管理和监控管理6大模块。而数据采集、数据检测和告警处理是监控的最小闭环,但如果想要真正把监控系统做好,那故障管理闭环、视图管理、监控管理的模块也缺一不可。
一、数据采集
1、采集方式
数据采集方式一般分为Agent模式和非Agent模式;
Agent模式包括插件采集、脚本采集、日志采集、进程采集、APM探针等
非Agent模式包括通用协议采集、Web拨测、API接口等
2、数据类型
监控的数据类型有指标、日志、跟踪数据三种类型。
指标数据是数值型的监控项,主要是通过维度来做标识。
日志数据是字符型的数据,主要是从中找一些关键字信息来做监控。
跟踪型数据反馈的是跟踪链路一个数据流转的过程,观察过程中的耗时性能是否正常。
3、采集频率
采集频率分秒级、分钟级、随机三种类型。常用的采集频率为分钟级。
4、采集传输
采集传输可按传输发起分类,也可按传输链路分类。
按传输发起分类有主动采集Pull(拉)、被动接收Push(推)
按传输链路分类有直连模式、Proxy传输。
其中Proxy传输不仅能解决监控数据跨网传输的问题,还可以缓解监控节点数量过多导致出现的数据传输的瓶颈,用Proxy实现数据分流。
5、数据存储
对于监控系统来说,主要有以下三种存储供选择
① 关系型数据库
例如MySQL、MSSQL、DB2;典型监控系统代表:Zabbix、SCOM、Tivoli;
由于数据库本身的限制,很难搞定海量监控的场景,有性能瓶颈,只在传统监控系统常用
② 时序数据库
为监控这种场景设计的数据库,擅长于指标数据存储和计算;例如InfluxDB、OpenTSDB(基于Hbase)、Prometheus等;典型监控系统代表:TICK监控框架、 Open-falcon、Prometheus
③ 全文检索数据库
这类型数据库主要用于日志型存储,对数据检索非常友好,例如Elasticsearch。
二、数据检测
1. 数据加工
① 数据清洗
数据清洗比如日志数据的清洗,因为日志数据是非结构化的数据,信息密度较低,因此需要从中提取有用的数据。
② 数据计算
很多原始性能数据不能直接用来判断数据是否产生异常。比如采集的数据是磁盘总量和磁盘使用量,如果要检测磁盘使用率,就需要对现有指标进行一个简单的四则运算,才能得到磁盘使用率。
③ 数据丰富
数据丰富就是给数据打上一些tags标签,比如打上主机、机房的标签,方便进行聚合计算。
④ 指标派生
指标派生指的是通过已有的指标,通过计算得出新的指标。
2. 检测算法
有固定规则和机器学习算法。固定算法是较为常见的算法,静态阈值、同比环比、自定义规则,而机器学习主要有动态基线、毛刺检测、指标预测、多指标关联检测等算法。
无论是固定规则还是机器学习,都会有相应的判断规则,即常见的< =和and/or的组合判断等。
三、告警管理
1. 告警丰富
告警丰富是为了后续告警事件分析做准备,需要辅助信息去判断该怎么处理、分析和通知。
告警丰富一般是通过规则,联动CMDB、知识库、作业历史记录等数据源,实现告警字段、关联信息的丰富;通过人工打Tags也是一种丰富方式,不过实际场景下由于人工成本高导致难以落地。
2. 告警收敛
告警收敛有三种思路:抑制、屏蔽和聚合
① 抑制
即抑制同样的问题,避免重复告警。常见的抑制方案有防抖抑制、依赖抑制、时间抑制、组合条件抑制、高可用抑制等。
② 屏蔽
屏蔽可预知的情况,比如变更维护期、固定的周期任务这些已经知道会发生的事件,心里已经有预期。
③ 聚合
聚合是把类似或相同的告警进行合并,因为可能反馈的是同一个现象。比如业务访问量升高,那承载业务的主机的CPU、内存、磁盘IO、网络IO等各项性能都会飙升,这样把这些性能指标都聚合到一块,更加便于告警的分析处理。
3. 告警通知
① 通知到人
通过一些常规的通知渠道,能够触达到人。
这样在没有人盯屏的时候,可以通过微信、短信、邮件触发到工作人员。
② 通知到系统
一般通过API推送给第三方系统,便于进行后续的事件处理
另外还需要支持自定义渠道扩展(比如企业里有自己的IM系统,可以自行接入)
四、故障管理
告警事件必须要处理有闭环,否则监控是没有意义的。
最常见还是人工处理:值班、工单、故障升级等。
经验积累可以把人工处理的故障积累到知识库里面,用于后续故障处理的参考。
自动处理,通过提取一些特定告警的固化的处理流程,实现特定场景的故障自愈;比如磁盘空间告警时把一些无用日志清掉。
智能分析主要是通过故障的关联分析、定位、预测等AI算法,进一步提升故障定位和处理的效率;
1. 视图管理
视图管理也属于增值性功能,主要是满足人的心理述求,做到心中有底,面向的角色很多(领导、管理员、值班员等)。
大屏:面向领导,提供全局概览
拓扑:面向运维人员,提供告警关联关系和影响面视图
仪表盘:面向运维人员,提供自定义的关注指标的视图
报表:面向运维人员、领导,提供一些统计汇总报表信息,例如周报、日报等
检索:面向运维人员,用于故障分析场景下的各类数据检索
2. 监控管理
监控管理是企业监控落地过程中的最大挑战。前5个模块都是监控系统对外提供的服务功能,而监控管理才是面向监控系统自身的管理和控制,关注真正落地的过程的功能呈现。主要有以下几个方面:
配置:简单、批量、自动
覆盖率:监控水平的衡量指标
指标库:监控指标的规范
移动端:随时随地处理问题
权限:使用控制
审计:管理合规
API:运维数据最大的来源,用于数据消费
自监控:自身稳定的保障
为了实现上述监控六大基础能力模块,我们可以按如下架构设计我们的统一监控平台。
主要分三层,接入层,能力层,功能层。
接入层主要考虑各种数据的接入,除了本身Agent和插件的采集接入,还需要支持第三方监控源的数据接入,才能算一个完整的统一监控平台。
能力层主要考虑监控的基础通用能力,包含数据采集模块、数据存储模块、数据加工模块、数据检测模块、AI分析模块。
功能层需要贴近用户使用场景,主要有管理、展示两类功能,在建设的过程中可以不断丰富功能场景。
另外,考虑到数据的关联关系,为未来的数据分析打下基础,监控和CMDB也需要紧密联动,所有的监控对象都应该用CMDB进行管理,另外,还可以配置驱动监控为指导理念,实现监控的自动上下线,告警通知自动识别负责人等场景,简化监控的维护管理。
为了统一监控平台能够在企业更好的落地,我们需要配备对应的管理体系,其中最重要的是指标管理体系。
指标管理体系的核心理念:
监控的指标体系是以CMDB为骨架,以监控指标为经脉,将整个统一监控平台的数据有机整合起来。
贯穿指标的生命周期管理,辅以指标的管理规范,保障监控平台长久有序的运行。
从企业业务应用的视角出发,一般将企业监控的对象分为6层,也可以根据企业自己的情况进行调整:
基础设施层
硬件设备层
操作系统层
组件服务层
应用性能层
业务运营层
zabbix 告警等级怎么设置
zabbix的告警通知非常灵活,支持的通知类型有Email、Jabber、sms、script 。其在设备需要修护时,同样可以提供同nagios 一样的设备维护期间,暂停告警的功能有,而且其相对于nagios 更加灵活。本篇就针对zabbix的告警和设备维护功能进行下说明。
一、media types 告警通知本篇以脚本通知为例进行说明
1、配置AlertScriptsPath# vim /etc/zabbix/zabbix_server.conf
找到# AlertScriptsPath=${datadir}/zabbix/alertscripts 行,增加如下内容
AlertScriptsPath=/etc/zabbix/alertscripts配置完成后,需要重启zabbix_server服务生效,在后面media type 写入的脚本名称就会从上面的配置目录中查找并执行。2、创建media type步骤为:登录 zabbix web 页面------Administration--------Media types--------Create Media Type(右上角) ,如下图:配置完成后,save保存即可。
3、创建Action步骤为:登录 zabbix web 页面---- Configuration ---- Actions ---- Create action , 如下图subject为发送主题,message为发送内容(通过message内容的自定义,可以例如在告警时,将其他相关信息也进行通知,可以从侧面了解整个主机的运行情况---某次面试时面试官曾提过的需求),这两者的内容都可以很方便的进行更改。勾选了Recovery message 选项,会在监控项恢复时也会给一个恢复的提示。condeitions 选项中设置的是触发通知的条件,默认情况下只有A、B两项 ,这里可以设置触发级别、主机组、主机、触发值、应用等 。举例说明下:
1、可以根据告警级别进行通知,如severity 级别大于等于average时,通知OPS运维人员,级别为Disater时通知部门经理或者BOSS (这需要配置两个action);
2、也可以根据时间进行定义,如只在工作时间进行告警通知;
3、如果你喜欢的话,也可以指定不同主机组通知到不同的人;
而且所有条件之间的关系可以是AND或者OR ,默认情况下都是AND,即所有条件都满足时,触发通知。
注:个别主机,如DB主机,晚上有备份任务导致晚上某段时间过载(同时又不是所有主机都这样,又不想增大触发条件的话),可以在configuation ---hosts 里的items 选项里配置通知的时间范围,那里也有 time period 配置选项(从另一方面也反映了zabbix的灵活,有宏观调控,也有微观调控,适用性很强) 。不过要尽可能的都在actions 里进行配置,因为这一般查看具体条件都是在这里 。下图是action的Operations部分,该项是必填项: Operation details 是一个比较强的配置项,这里主要有三个知识点---Escalations、remote command 和 event acknowledged,其中Escalations、remote command比较重要 。
operation details 的 step部分主要和escalations 相关,在监控场景中,如果你一天收到100+的短信告警,真有一天“狼”真来了估计你也不会注意到。有了escalations功能,可以实现如下配置(需配置多条operation):
1、在单位时间内(step duration)发送的总的通知次数(to - from +1 次),并通知到相应的组或人;
2、假如条件1中设置的是1800秒内发送1-5 次给OPS运维人员,结果运维人员在该时间段未能处理;我们就可以再增加一个Operations,指定from 5 to 10 (第5到10条告警)通知给 运维经理 ;我们还可以再增加,第11-15条给BOSS ,第16-20条告警时执行一个远程命令。
escalations部分,可以参看官方文档。第二个知识点就是Operation type部分,类型可以是send message进行通知,也可以是remote command :
remote command 可以支持的操作有IPMI、Custom script、ssh、telnet、Global script (其中前两者只能在zabbix server 或 zabbix proxy上操作),该功能是相当牛B的。如,检测到一个tomcat 服务404,我们就可以利用该功能重启tomcat 服务 。
remote command部分可以查看官方页面。第三个功能主要是为有值班人员或上班时间准备的一个功能,当设置这个条件时,如果一个告警的状态被设置为ACK ,则本次告警的后续通知就会停止 。在一线运维人员接到告警信息时,在zabbix 的首页上,移到相应告警提示的部分,选择主机的ACK 部分 ,点选 NO ,会跳出一个message的窗口,在message里输入相关信息 ,如:误报、因什么什么原因在调试、已通知到相关责任人等 ,并点击Acknowledge 提交,此时的ACK 状态会变成YES 。本次告警也将停止不再进行。直到本次告警解决,下次再次出现同样告警时,该项又会重新变成ACK 。Acknowledge部分,可以参看官文页面。二、maintenance 维护在线场景中,经常会遇到这样的情况:在线产品需要进行升级或其他操作,此时又不想将监控系统的完整告警功能进行全部关闭,只临时关闭在线升级主机的告警。这就可以使用zabbix的maintenance功能。具体配置方式如下:
创建maintenance的步骤为:登录 zabbix web 页面---- Configuration-----Maintenance ----- create maintenance period ,如下图所示:第一选项卡配置的是任务名和一个大范围的时间值,其指定了维护所在的磊的时候段在什么范围。maintenance type 指定在维护期间是否仍进行数据搜集。 periods指定的时间段具体的维护时间段,和maintenace中的范围为包含关系。而period type指定了执行的类型,其类型有one time only 一次执行,也有按日、星期或月定期执行 ,如果是后三种方式,date项会变成具体的间隔、开始时间 。无论是何种类型,都有maintenance period length型 ,其指定了具体每次维护的持续时间,如2小时。hosts groups 项太多内容,就是选择某组主机或某个主机在维护期间不进行告警通知。
第五节 实现zabbix报警功能之页面信息报警和页面提示声音报警
1.1 页面提示信息报警和页面提示声音报警
配置-----主机-----点击相应主机zabbix告警收敛的触发器-----创建创建触发器
配置触发器
查看页面报警提示信息
工作中处理页面报警信息zabbix告警收敛的思路
工作中遇见告警信息处理思路步骤:
第一步: 看到告警提示信息,定位主机信息
第二步: 看到主机信息之后,定位报警原因 获得监控项Key值
第三步: 根据key值信息,最终获得报警原因
1.2 页面提示声音报警
用户-----用户设置------正在发送消息--- 勾选前端信息
关于zabbix告警收敛和zabbix告警等级的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
zabbix告警收敛的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于zabbix告警等级、zabbix告警收敛的信息别忘了在本站进行查找喔。
暂时没有评论,来抢沙发吧~