资讯专栏INFORMATION COLUMN

2小时快速搭建后端接口报警系统(基于阿里云日志服务分析nginx访问日志)

lemanli / 1832人阅读

摘要:目标后端任一接口一分钟内响应超过一定的量,马上收到报警提示报警及慢接口有详细列表可以查看低成本。相关报警请求的详细信息列表慢响应分析

目标

后端任一接口一分钟内5xx响应超过一定的量,马上收到报警提示

报警及慢接口有详细列表可以查看

低成本。几年前公司的日志报警系统是自研的,开发成本比较高,也没有达到阿里云日志服务这种产品化程度

机器部署情况

阿里云EC服务器

功能概述

阿里云日志服务,采集并分析nginx访问日志;写日志分析SQL,每分钟调度执行,符合条件就触发报警;

根据响应状态码提供:接口5xx响应报警、接口4xx响应报警;报警通知方式为钉钉群机器人,5xx跟4xx响应分别通知到专用的后端跟前端同学群;

修改日志分析SQL,在专用dashboard展示相关报警请求的详细信息列表

根据响应时间提供:慢响应请求列表,同样放到dashboard

效果图

钉钉群报警【c是符合条件的个数,st是响应状态码】

阿里云日志服务仪表盘-5xx报警接口详情

操作步骤 配置日志采集

新建Project;新建Logstore;

配置nginx日志采集;

日志路径:/path_to_logs/**/access.log

模式:nginx配置;从线上nginx.conf文件里拷贝 log_format main,配置到页面;

Topic生成方式:文件路径正则;自定义正则:/path_to_logs/([^/]+)/access.log,正好把域名提取出来。可参考生成主题

Logtail机器组:配置nginx机器内网IP

nginx机器安装Logtail采集器;

参考文档

五分钟快速入门

分析Nginx日志

日志服务(SLS)用户手册

配置日志分析SQL及报警

日志库》查询分析》查询,可以写SQL实时查询/分析,然后另存为告警

配置告警条件

配置告警通知。一个告警可配置多个通知列表,可以同时通知到钉钉群跟短信

5xx报警SQL

为了方便查看具体的错误接口,基于uri分组统计并报警,报警内容里包含uri信息

为了方便确认严重程度,报警内容里包含响应状态码

__topic__:www.xyz.com and status in [500 600) | select count(1) as c, avg(status) as st, case when strpos(request_uri, "?") > 0 then split_part(request_uri, "?", 1) else request_uri end as uri group by uri having count(1)>=5 order by count(1) desc

分析SQL的写法可参考

告警-实时监控Nginx访问日志

实时分析简介。支持的SQL语法及计算函数都有

告警条件配置

告警通知配置

上面的配置图可能会变,这个产品一直在进化,18年12月的时候发现有一次大的改版。

dashboard相关报警请求的详细信息列表SQL:

__topic__:www.xyz.com and status in [500 600) | select time_local, status, upstream_addr, __topic__ as vhost, case when strpos(request_uri, "?") > 0 then split_part(request_uri, "?", 1) else request_uri end as uri order by time_local desc

dashboard慢响应分析SQL:

__topic__:www.xyz.com and request_time > 0.3 | select count(1) as count, avg(request_time) as avg_request_time, min(__topic__) as vhost, case when strpos(request_uri, "?") > 0 then split_part(request_uri, "?", 1) else request_uri end as uri group by uri order by avg_request_time desc

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40369.html

相关文章

  • 人工智能帮助千万用户完成「隐形征信」计算

    摘要:量化派是一家数据驱动的科技金融公司,通过人工智能大数据机器学习等前沿技术提供消费信贷撮合及消费场景下的白条服务,每年处理千万级用户信用及信用消费申请。 「小杨」最近装修房子,准备去银行贷款,但是听说好多人会因为个人征信问题被银行拒绝贷款!于是,他先查了一下自己的央行征信,发现竟然没有自己的征信信息,「小杨」陷入了沉思,自己经常在淘宝、jd 上买东西,也有淘宝花呗和京东白条,怎么会没有征...

    Developer 评论0 收藏0
  • 人工智能帮助千万用户完成「隐形征信」计算

    摘要:量化派是一家数据驱动的科技金融公司,通过人工智能大数据机器学习等前沿技术提供消费信贷撮合及消费场景下的白条服务,每年处理千万级用户信用及信用消费申请。 「小杨」最近装修房子,准备去银行贷款,但是听说好多人会因为个人征信问题被银行拒绝贷款!于是,他先查了一下自己的央行征信,发现竟然没有自己的征信信息,「小杨」陷入了沉思,自己经常在淘宝、jd 上买东西,也有淘宝花呗和京东白条,怎么会没有征...

    coordinate35 评论0 收藏0
  • 到底什么是TAE

    摘要:回滚部署开发者每次部署的程序包会自动备份到历史版本,发布异常时,可以指定回滚部署到某一历史版本。网络方面采用了硬件防火墙设施,提供四层到七层的全面防护,防护类型包括等所有攻击方式,支持清洗和黑洞机制,还接入了防护等功能。 TAE2.0(Taobao App Engine)是针对移动互联网场景的定制化PaaS云服务,基于阿里云基础设施,采用Docker容器技术封装应用运行环境,并且针对互...

    Lin_YT 评论0 收藏0
  • 到底什么是TAE

    摘要:回滚部署开发者每次部署的程序包会自动备份到历史版本,发布异常时,可以指定回滚部署到某一历史版本。网络方面采用了硬件防火墙设施,提供四层到七层的全面防护,防护类型包括等所有攻击方式,支持清洗和黑洞机制,还接入了防护等功能。 TAE2.0(Taobao App Engine)是针对移动互联网场景的定制化PaaS云服务,基于阿里云基础设施,采用Docker容器技术封装应用运行环境,并且针对互...

    novo 评论0 收藏0
  • 到底什么是TAE

    摘要:回滚部署开发者每次部署的程序包会自动备份到历史版本,发布异常时,可以指定回滚部署到某一历史版本。网络方面采用了硬件防火墙设施,提供四层到七层的全面防护,防护类型包括等所有攻击方式,支持清洗和黑洞机制,还接入了防护等功能。 TAE2.0(Taobao App Engine)是针对移动互联网场景的定制化PaaS云服务,基于阿里云基础设施,采用Docker容器技术封装应用运行环境,并且针对互...

    yankeys 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<