使用日志服务告警为您的OSS保驾护航

日志服务SLS告警作为一站式运维告警平台,为OSS的访问提供了定制化的告警规则。您只需要在日志服务控制台进行简单配置,即可完成对OSS访问指标的监控,并在指标出现异常时及时收到告警通知。

场景描述

客户A是一家多媒体公司,主要产品有短视频App。用户可以在上面发布和观看短视频。客户A使用了OSS中名为examplebucket的存储空间来存储用户产生的短视频,App每天的用户活动具有一定的周期性,一般情况下深夜的PV较低,其他时段PV较高。

每天9点~10点之间的PV访问基本持平。例如每月5号9点~10点的PV是50万,6号9点~10点的PV是51万可以理解为正常波动。如果6号9~10点的PV出现陡增至100万或者陡降至20万的情况,您可以通过创建日志服务告警规则,指定在某个时间段内PV陡增或者陡降20%时发出告警,并通过钉钉机器人推送告警信息。

前提条件

已为目标存储空间examplebucket开启实时日志查询并记录生成的Project名称。

说明

开启实时日志查询后,日志服务将自动生成名为oss-log-store的Logstore,该Logstore保存在格式为oss-log-阿里云账号ID-region的Project下。请记录生成的Project名称,用于配置后续的通知渠道及告警阈值。开启实时日志查询的具体步骤,请参见查询实时日志

操作步骤

  1. 通过SLS OSS内置行动策略设置告警触发后的通知渠道。

    1. 登录日志服务控制台

    2. 在Project列表区域,单击目标Project。

    3. 在左侧导航栏中,单击告警

    4. 告警中心页面,选择通知策略 > 行动策略

    5. 行动策略页面,单击SLS内置行动策略名右侧的修改

    6. 第一行动列表页签,渠道选择钉钉自定义,然后将请求地址修改为钉钉群的机器人WebHook地址。其他选项,保留默认配置。

      关于如何获取WebHook地址的具体操作,请参见钉钉-自定义。同时,日志服务支持多种通知渠道,例如通过短信、语音、邮件等形式推送给指定用户或用户组。详情请参见通知渠道说明

    7. 单击确认

  2. 设置触发告警阈值。

    1. 告警规则页签,新建告警下拉选择从模版新建

    2. 单击OSS监控,然后单击OSS访问PV同比昨日变化率过高告警,触发条件选择有数据匹配,表达式修改为(change_rate >= 0 && change_rate > 20) || (change_rate < 0 && (-1) * change_rate > 20),其他参数保留默认配置。

    3. 单击确定

  3. 满足以上触发条件时,将发送告警通知。

常见问题

问题描述:告警渠道选择钉钉机器人,但是钉钉通知发送失败,且出现如下错误。

{"errcode":310000,"errmsg":"sign not match"}
{"errcode":310000,"errmsg":"keywords not in content"}

问题原因:机器人的安全设置有误,导致通知被钉钉拦截。

解决方法:将安全设置配置为自定义关键字,其中一个关键字设置为“告警”,因为通知内容中至少包含其中1个关键字才可以发送成功。配置详情,请参见钉钉-自定义

当用户的请求量超出OSS使用限制后会触发OSS流控,触发流控会对用户的请求产生一定的影响。您只需要在云监控管理控制台进行简单的配置,即可完成对OSS请求指标的实时监控,并在触发流控时及时收到告警通知。

背景信息

OSS提供了用户级别和Bucket级别的流控,支持的类别主要包括带宽流控和QPS流控。当您访问OSS的QPS、带宽超出OSS使用限制时,访问速度会受到OSS流控的限制。如果触发了带宽流控,则访问OSS的延迟会增加。如果触发了QPS流控,则OSS会丢弃部分请求。关于带宽流控和QPS流控的限制信息,请参见使用限制

您可以通过云监控管理控制台创建OSS流控事件告警规则,并指定在监测到用户发送到OSS指定类型的请求量触发流控或达到汇报阈值时,以短信、邮件和钉钉机器人的方式向指定联系人组发送报警信息。

前提条件

已创建用于接收流控报警信息的联系人组,并向联系人组添加多个联系人。具体操作,请参见创建报警联系人或报警联系人组

创建报警规则

  1. 登录云监控控制台

  2. 在左侧导航栏,选择事件中心 > 系统事件

  3. 事件监控页签,单击另存为报警

  4. 创建/修改事件报警面板,设置以下参数,其他参数保留默认值,然后单击确定

参数

说明

报警规则名称

设置为rule1。

产品类型

选择对象存储OSS

事件类型

选择全部类型

事件等级

选择警告信息

事件名称

选择全部事件。关于云监控支持的OSS流控事件的含义及说明,请参见云监控支持的OSS流控事件

报警联系人组

选中报警方式下的报警通知,然后选择已创建的报警联系人组。

通知方式

选择Warning(短信+邮件+WebHook)

以上事件告警规则配置完成后,如果请求触发OSS流控或者超过汇报阈值,则云监控会自动向指定的联系人发送报警通知。报警通知中包含报警资源、事件名称、事件类别以及事件详情等信息。关于报警通知的更多信息,请参见报警通知

重要

流控报警为每分钟一次,一分钟内如果有30s或以上时间触发流控则产生报警。汇报阈值为每10分钟一次,只要1s内触发汇报阈值则产生报警。

报警通知

如果指定联系人收到了流控触发报警通知,请参见以下表格了解各类流控事件触发的原因、影响、对应的解决方法以及事件的详细内容。

重要

如果您希望在收到User级别的报警事件后,查看归属当前用户下所有Bucket的流量使用情况,请提前创建OSS监控大盘。具体步骤,请参见创建系统预置大盘

报警通知事件名称

说明

下表中的汇报阈值=流控阈值*0.8。

事件名称

触发原因

影响

解决方法

BucketIngressBandwidthThresholdExceeded

当前Bucket的上行带宽之和大于Bucket的上行流控阈值时触发此事件。

上传请求将会被流控且请求延迟会增加。

合理降低上传请求并发数。

BucketEgressBandwidthThresholdExceeded

当前Bucket的下行带宽之和大于Bucket下行带宽流控阈值时触发此事件。

下载请求将会被流控且请求延迟会增加。

合理降低下载请求并发数。

BucketQpsThresholdExceeded

当前Bucket的每秒请求数之和大于Bucket每秒请求数流控阈值时触发此事件。

OSS会拒绝响应部分请求并返回503。

合理降低每秒请求数。

UserIngressBandwidthThresholdExceeded

归属当前用户的所有Bucket的上行带宽之和大于上行带宽流控阈值时触发此事件。

上传请求将会被流控且请求延迟会增加。

合理降低上传请求并发数。

UserEgressBandwidthThresholdExceeded

归属当前用户的所有Bucket的下行带宽之和大于下行带宽流控阈值时触发此事件。

下载请求将会被流控且请求延迟会增加。

合理降低下载请求并发数。

UserQpsThresholdExceeded

归属当前用户的所有Bucket的每秒请求数之和大于每秒请求数流控阈值时触发此事件。

OSS会拒绝响应部分请求。

合理降低每秒请求数。

BucketImageCpuThresholdExceeded

当前Bucket中所有用于处理图片请求的CPU核数之和大于Bucket CPU核数流控阈值时触发此事件。

图片处理类型的请求延迟会增加。

合理降低图片处理请求并发数。

UserImageCpuThresholdExceeded

归属当前用户的所有Bucket中用于处理图片请求的CPU核数之和大于该用户的CPU核数流控阈值时触发此事件。

图片处理类型的请求延迟会增加。

合理降低图片处理请求并发数。

BucketMirrorIngressBandwidthThresholdExceeded

当前Bucket的所有镜像回源类型请求的带宽之和大于流控阈值时触发此事件。

镜像回源请求延迟会增加。

合理降低镜像回源类型请求并发数。

BucketMirrorQpsThresholdExceeded

当前Bucket的所有镜像回源类型的每秒请求数之和大于镜像回源QPS流控阈值时触发此事件。

OSS会拒绝部分镜像回源类型请求。

合理降低镜像回源类型每秒请求数。

UserMirrorIngressBandwidthThresholdExceeded

归属当前用户的所有Bucket内的镜像回源类型上传请求流量之和大于用户镜像回源带宽流控阈值时触发此事件。

镜像回源请求延迟会增加。

合理降低镜像回源类型请求并发数。

UserMirrorQpsThresholdExceeded

归属当前用户的所有Bucket每秒发出的镜像回源类型请求数之和大于用户镜像回源QPS流控阈值时触发此事件。

OSS将拒绝响应部分镜像回源类型的请求。

合理降低镜像回源类型每秒请求数。

BucketIngressBandwidth

当前Bucket的上行请求带宽之和大于汇报阈值时触发此事件。

Bucket的上行请求延迟会增加。

合理降低上行请求并发数。

BucketEgressBandwidth

当前Bucket的下行请求带宽之和大于汇报阈值时触发此事件。

Bucket的下行请求延迟会增加。

合理降低下行请求并发数。

UserIngressBandwidth

归属当前用户的所有Bucket的上行请求带宽之和大于汇报阈值时触发此事件。

用户的上行请求延迟会增加。

合理降低上行请求并发数。

UserEgressBandwidth

归属当前用户的所有Bucket的下行请求带宽之和大于汇报阈值时触发此事件。

用户的下行请求延迟会增加。

合理降低下行请求并发数。

报警通知详细内容

参数

说明

示例值

AvgSeverity

流控的程度。数值越高代表流控越强,延时越高。取值范围为0~100。

10

QosType

触发的流控类型。取值如下:

  • IngressBandwidth:上行带宽流量。

  • EgressBandWidth:下行带宽流量。

  • Qps:每秒请求数。

IngressBandwidth

TrafficSource

触发流控的流量来源。取值如下:

  • intranet:内网带宽。

  • extranet:外网带宽。

  • net_all:总带宽(同时包含内网带宽和外网带宽)。

net_all

如何查看User级别的流量使用情况?

以下以收到报警事件UserEgressBandwidthThresholdExceeded为例,您可以通过以下步骤查看归属当前用户下各个Bucket的流量使用情况。

  1. 登录云监控控制台

  2. 在左侧导航栏,选择企业云监控 监控大盘

  3. 监控大盘页面,单击OSS监控大盘右侧的查看

  4. 根据流控报警类型,在流量监控区域查看具体哪些Bucket占用了较高的流量。

    traffic

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

soso1968

你的鼓励是我继续创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值