更新时间:2020-01-13 09:42
本文以ECS上的Nginx日志为例,介绍如何通过日志服务将日志数据写入AnalyticDB for MySQL。
日志作为一种特殊的数据,对处理历史数据、诊断问题以及了解系统活动等有着非常重要的作用。对数据分析人员、开发人员或者运维人员而言,日志都是其工作过程中必不可缺的数据来源。
阿里云从用户角度出发,支持通过日志服务(Log Service,简称LOG/原SLS)将云服务器ECS(Elastic Compute Service)上的Nginx访问日志、Log4j日志、Apache日志以及结构化文本等文件实时同步至AnalyticDB for MySQL,从而使用AnalyticDB for MySQL进行实时日志分析。
在LOG中完成以下准备工作。
开启并获取当前阿里云账号的Access Key。
登录日志服务控制台,将鼠标放在右上方的用户名区域,在弹出的快捷菜单中选择accesskeys。
系统弹出安全提示对话框,单击继续使用AccessKey,页面显示AccessKeyId和AccessKeySecret。
参照分析型数据库MySQL版快速入门、创建表组和创建表,在AnalyticDB for MySQL中创建目标数据库、表组以及表。
Logtail接入服务是日志服务提供的日志采集Agent,通过日志服务控制台帮助您实时采集阿里云ECS、自建IDC或者其他云厂商等服务器上的日志。
在ECS服务器上安装Logtail客户端,然后添加Logtail采集配置,Logtail即可采集日志到日志服务。Logtail日志采集流程为:监听文件、读取文件、处理日志、过滤日志、聚合日志以及发送数据到日志服务。
在ECS中安装Logtail。
登录日志服务控制台,单击Project名称。
在概览页面,单击接入数据,选择Nginx-文本日志。
在选择日志空间步骤中,日志库Logstore设置为之前创建的nginx-logstore Logstore。
单击下一步,在创建机器组步骤中,选择ECS机器,系统自动拉取与日志服务地域相同的ECS实例,勾选您需要的ECS实例ID,单击确认安装完毕。
设置机器组名称和ECS服务器的IP地址,单击下一步。
您可以将多台ECS服务器的IP地址添加到IP地址中。
在我的机器组中选中源机器组,然后单击右移按钮将其移动到应用机器组中,单击下一步。
在Logtail配置中,按照页面提示进行参数配置。
参数含义请参见采集并分析Nginx访问日志。
确认Nginx键名称。
日志服务自动提取Nginx日志中的键名,请确认是否正确。
Nginx日志格式中的
$request
会被提取为request_method
和request_uri
两个键。
确认是否丢弃解析失败日志,并单击下一步。
开启该功能后,解析失败的Nginx访问日志不会上传到日志服务;关闭该功能后,Nginx访问日志解析失败时将上传原始Nginx访问日志到日志服务。
确保日志机器组心跳正常,即可预览采集上来的数据。
通过日志服务数据处理模块的导出功能,您可以将Logstore中采集到的日志投递到AnalyticDB for MySQL。
登录日志服务控制台,单击Project名称。
在日志库列表中,单击目标Logstore名称前的> > 数据处理 > 导出 > AnalyticDB,选择需要的AnalyticDB for MySQL集群。
您需要为日志服务授权,允许日志数据写入AnalyticDB for MySQL。
单击AnalyticDB后的+,系统自动提示您进行授权操作,单击权限。
在云资源访问授权页面,单击同意授权,将角色AliyunAnalyticDBAccessingLogRole授予日志服务。
在日志库列表中,单击目标Logstore名称前的> > 数据处理 > 导出 > AnalyticDB后的+,在数据投递参数配置页面进行参数配置。
参数 | 说明 |
---|---|
投递名称 | 为数据投递取一个名字,便于后续管理。 |
投递描述 | 为数据投递添加一段描述。 |
数据库名称 | 目标AnalyticDB for MySQL数据库的名字。 |
表组名 | 目标AnalyticDB for MySQL中的表组。 |
表名 | 目标AnalyticDB for MySQL中的表名,投递过来的日志数据将存储在该表中。 |
AccessKeyID | 当前阿里云账号的AccessKeyId,请参见获取阿里云账号的AccessKeyId和AccessKeySecret获取AccessKeyId和AccessKeySecret。 |
AccessKeySecret | 当前阿里云账号的AccessKeySecret。 |
字段映射 | 日志字段与AnalyticDB for MySQL表字段的映射。 可以单击增加一条添加字段。 |
投递时间 | 设置日志数据的投递时间。 |
完成上述参数配置后,单击确定,系统将在设定的投递时间点将日志数据实时投递到AnalyticDB for MySQL。
在文档使用中是否遇到以下问题
更多建议
匿名提交