背景
阿里云API网关服务提供API托管服务,提供了强大的适配和集成能力,可以将各种不同的业务系统API实现统一管理。API网关同时支持将API访问日志一键存储到日志服务,通过日志服务强大的查询分析能力,用户可以针对访问日志自定义计算多种指标,监测服务运行情况。继而通过定时SQL将结果指标直接存储到时序库,直接查询API网关指标,而且可以通过较低成本长期存储指标数据。 下面我们一步步从头开始,学习如何利用日志服务监测API网关及其代理的服务。
数据采集
数据采集一直是让开发运维比较头疼的事情,要学习各种不同的采集工具,适配形形色色的环境,解析各式各样的数据格式,在不断试错的情况下,才能够完成第一次的数据采集。而在此之后,还需要不断地完善优化,耗费大量的经历。下面简单介绍下数据采集以及采集到的日志格式,详情可以参考官方文档。
一键采集
阿里云API网关已经很好的集成了日志服务,用户只需要在API网关的日志管理界面关联日志服务,即可完成API访问日志的一键采集,极其方便。
- 在API网关的日志管理界面点击创建日志配置;
- 在弹出窗中选择日志服务的Project/Logstore;
- 点击确认,完成数据采集;
日志格式
下面是采集到的API访问日志示例,
关于各字段的含义,可以查看下表,也可以参考官方文档。访问日志的字段也会随着API网关能力的增强进行补充,不需要用户手动增删,极大的减轻了维护负担。
日志项 | 描述 |
apiGroupUid | API的分组ID |
apiGroupName | API分组名称 |
apiUid | API的ID |
apiName | API名称 |
apiStageUid | API环境ID |
apiStageName | API环境名称 |
httpMethod | 调用的HTTP方法 |
path | 请求的PATH |
domain | 调用的域名 |
statusCode | HttpStatusCode |
errorMessage | 错误信息 |
appId< |