校园学生网站开发自己如何建设微信网站
news/
2025/10/6 22:07:09/
文章来源:
校园学生网站开发,自己如何建设微信网站,设计素材网站会员,wordpress更换头像背景
阿里云API网关服务提供API托管服务#xff0c;提供了强大的适配和集成能力#xff0c;可以将各种不同的业务系统API实现统一管理。API网关同时支持将API访问日志一键存储到日志服务#xff0c;通过日志服务强大的查询分析能力#xff0c;用户可以针对访问日志自定义计…背景
阿里云API网关服务提供API托管服务提供了强大的适配和集成能力可以将各种不同的业务系统API实现统一管理。API网关同时支持将API访问日志一键存储到日志服务通过日志服务强大的查询分析能力用户可以针对访问日志自定义计算多种指标监测服务运行情况。继而通过定时SQL将结果指标直接存储到时序库直接查询API网关指标而且可以通过较低成本长期存储指标数据。 下面我们一步步从头开始学习如何利用日志服务监测API网关及其代理的服务。
数据采集
数据采集一直是让开发运维比较头疼的事情要学习各种不同的采集工具适配形形色色的环境解析各式各样的数据格式在不断试错的情况下才能够完成第一次的数据采集。而在此之后还需要不断地完善优化耗费大量的经历。下面简单介绍下数据采集以及采集到的日志格式详情可以参考官方文档。
一键采集
阿里云API网关已经很好的集成了日志服务用户只需要在API网关的日志管理界面关联日志服务即可完成API访问日志的一键采集极其方便。
在API网关的日志管理界面点击创建日志配置在弹出窗中选择日志服务的Project/Logstore点击确认完成数据采集日志格式
下面是采集到的API访问日志示例 关于各字段的含义可以查看下表也可以参考官方文档。访问日志的字段也会随着API网关能力的增强进行补充不需要用户手动增删极大的减轻了维护负担。
日志项描述apiGroupUidAPI的分组IDapiGroupNameAPI分组名称apiUidAPI的IDapiNameAPI名称apiStageUidAPI环境IDapiStageNameAPI环境名称httpMethod调用的HTTP方法path请求的PATHdomain调用的域名statusCodeHttpStatusCodeerrorMessage错误信息appId调用者应用IDappName调用者应用名称clientIp调用者客户端IPexception后端返回的具体错信息providerAliUidAPI提供者帐户IDregion区域如cn-hangzhourequestHandleTime请求时间UTCrequestId请求ID全局唯一requestSize请求大小单位字节responseSize返回数据大小单位字节serviceLatency访问后端资源耗时总和包括申请连接资源耗时建立连接耗时调用后端服务耗时单位毫秒errorCode错误码code如X500ERrequestProtocol客户端请求协议HTTP/HTTPS/WSinstanceIdAPI服务所在的网关实例IDinitialRequestIdAPI网关自调用时例如API-1调用API-2 那么API-2的日志中会用initialRequestId来记录API-1的requestid。clientNonce客户端X-Ca-Nonce头requestQueryString客户端请求的queryStringrequestHeaders客户端请求的header内容requestBody客户端请求的body内容最多1024个字节responseHeadersAPI响应的header内容responseBodyAPI响应的response内容最多1024个consumerAppKeyAPI请求的appKeytotalLatencyAPI请求的总延迟单位毫秒customTraceId全链路日志的traceIdjwtClaims从JWT中解析出来的Claim可以在分组上配置pluginAPI请求命中的插件列表及相关上下文
查询分析
有了日志就可以针对访问日志进行简单的查询分析查看自己感兴趣的指标。日志服务即支持简单的查询也支持复杂的聚合分析下面进行简单的介绍。
简单过滤
最常见的情况是查看错误请求可以通过查询语句: * not statusCode: 200来查看所有的异常请求。 当然还可以通过更多的字段进行过滤详情可以参考官方文档。
聚合分析
对于更复杂的分析例如不同错误码的的错误数量不同api的平均响应时间就需要用到聚合分析。下面以平均响应时间为例介绍下如何使用聚合分析。
在查询框中输入过滤以及分析语句
* and statusCode: 200 | select avg(serviceLatency) as rt, (__time__ - __time__ % 300) as ts from log group by ts order by ts limit 10000
其中* and statusCode: 200 用来过滤出正常请求其余的sql语句则用来计算过滤后的数据并通过图表展示出来如下图所示。可以清楚地看到平均请求延迟的变化曲线。 确认指标
了解了如何进行基本的查询分析我们能做的事情就非常多了。可以根据自己的需求以及业务场景自定义多种不同的业务指标满足自己的日常运维、监测需求。下面列出一些常用的指标以及对应指标的查询分析语句。
请求延迟
在查询分析中本文已经介绍过简单的平均延迟计算方法下面介绍下更完整的请求延迟指标平均延迟、P99延迟、P95延迟、P90延迟、P50延迟、最大延迟以及最小延迟。
*| select approx_percentile(serviceLatency, 0.99) as p99_latency, approx_percentile(serviceLatency, 0.95) as p95_latency, approx_percentile(serviceLatency, 0.90) as p90_latency, approx_percentile(serviceLatency, 0.50) as p50_latency, min(serviceLatency) as min_latency, min(serviceLatency) as max_latency, avg(serviceLatency) as avg_latency, (__time__ - __time__ % 60) as ts from log group by ts order by ts limit 1000000 错误码分布
*| select count(1) as cnt, statusCode, (__time__ - __time__ % 60) as ts from log group by statusCode, ts order by ts limit 1000000 请求/响应大小
*| select approx_percentile(requestSize, 0.99) as p99_req_size, approx_percentile(requestSize, 0.95) as p95_req_size, approx_percentile(requestSize, 0.90) as p90_req_size, approx_percentile(requestSize, 0.50) as p50_req_size, min(requestSize) as min_req_size, min(requestSize) as max_req_size, avg(requestSize) as avg_req_size, approx_percentile(responseSize, 0.99) as p99_resp_size, approx_percentile(responseSize, 0.95) as p95_resp_size, approx_percentile(responseSize, 0.90) as p90_resp_size, approx_percentile(responseSize, 0.50) as p50_resp_size, min(responseSize) as min_resp_size, min(responseSize) as max_resp_size, avg(responseSize) as avg_resp_size, (__time__ - __time__ % 60) as ts from log group by ts order by ts limit 1000000 地域分布
* | select region, count(1) as cnt , (__time__ - __time__ % 60) as ts from log group by region, ts order by ts 定时任务
可以看到日志服务强大的查询分析能力允许用户多网关日志进行多种查询分析得到期望的结果。如果需要把上一小节计算的定时保存下来就要用到定时任务。下面介绍如何将上一小节中计算的请求/响应大小指标定时保存到时序库中从而可以快速获取指标。
创建时序库
点击左侧边栏的时序存储按钮在时序库管理界面点击号填入名称即可创建一个时序库用来存储希望保存的时序指标。 保存定时任务
创建好时序库就可以创建任务定时保存分析结果以供实时查看。下面简单介绍下定时任务配置步骤详情可以参考官方文档。
点击创建任务
在查询分析界面点击定时保存分析结果即可弹出任务创建窗口。 选择存储格式
在弹出窗口中选择日志库导入时序库确定数据存储格式。 确定存储指标
在sql配置中选择期望保存的指标列以及指标对应的时间列即完成了指标配置。 配置任务调度
点击下一步调度间隔选择15分钟开始时间选择当前时间 SQL时间窗口同样选择15分钟即完成了调度配置。当然用户也可以根据自己的场景自行选择。最后点击确认完成任务配置。 查看结果指标
点击刚刚创建的时序存储在Metrics一行点击刷新即可查看该时序存储包含的所有指标。选择max_resp_size点击预览即可查看该指标无需编写查询分析语句。 添加报表
有了指标就可以使用这些指标构建监控大盘查看整体指标构建自己的专属监控大盘。在指标查询界面点击添加到仪表盘在弹出窗中选择新建仪表盘填入名称点击确认即完成了仪表盘的创建。 点开仪表盘即可看到刚刚创建的图标。 结语
API网关是服务的入口通过网关日志可以计算出丰富的服务监控指标。本文以部分常用指标为例介绍了从数据接入到定时任务创建的整个流程供用户参考。可以看出日志服务提供了及其简便的日志采集入口丰富的查询分析功能简便的定时任务帮助用户简单快速的建立起一个完整的日志采集、指标分析、大盘查看系统减轻了运维负担。
原文链接
本文为阿里云原创内容未经允许不得转载。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929748.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!