【大数据新手上路】“零基础”系列课程--日志服务(Log Service)采集 ECS 日志数据到 MaxCompute

随着公司业务的增多,云服务器 ECS 上的日志数据越来越多,存储开销越来越大,受限于日志的大小和格式,分析的速度非常缓慢,导致海量数据在沉睡,不知道发挥作用,如何能将这些数据进行归集、提炼和智能化的处理始终是一个困扰。通过日志服务投递日志数据到MaxCompute便可以让用户按照不同的场景和需求、以不同的方式复用数据,充分发挥日志数据的价值。

使用日志服务投递日志数据到MaxCompute具有如下优势:

  • 使用非常简单。用户只需要完成2步配置即可以把日志服务Logstore的日志数据迁移到MaxCompute中。
  • 避免重复收集工作。由于日志服务的日志收集过程已经完成不同机器上的日志集中化,无需重复在不同机器上收集一遍日志数据后再导入到MaxCompute。
  • 充分复用日志服务内的日志分类管理工作。用户可让日志服务中不同类型的日志(存在不同Logstore中)、不同Project的日志自动投递到不同的MaxCompute表格,方便管理及分析MaxCompute内的日志数据。

备注:大部分情况下日志数据在写入Logstore后的0.5~1个小时导入到MaxCompute,用户可以在控制台“投递任务管理”查看导入状态。导入成功后用户即可在MaxCompute内查看到相关日志数据。

下面介绍一个适用于中小企业用户,高效率低成本的日志采集存储方案:

对于云服务器 ECS 上的日志,可以通过日志服务进行收集,然后投递至 MaxCompute 进行存储与分析,流程图如下:

ECS:云服务器 ECS 是一种简单高效、可以弹性伸缩的计算服务;

日志服务(Log Service):针对日志类数据的一站式服务,用户无需开发便可快速完成数据采集、消费、投递以及查询分析等功能;

MaxCompute:原名 ODPS,是由阿里云自主研发的一款服务,提供针对TB/PB级数据、实时性要求不高的分布式处理能力,它适用于海量数据的存储、计算,商业智能等领域。

实验目的和前期说明

实验目的:
通过 Log Service 采集 ECS 日志并投递到 MaxCompute 上。

前期说明:
1. 本实验在 Windows 环境下操作; (拥有 Linux 环境的用户在准备 ECS 日志数据时请参见:Linux 实例 进行操作)
2. 用户拥有阿里云官网实名认证账号,并且创建好账号 Access Key ;
3. 用户拥有一定的开发经验。

实验前的准备工作

开通MaxCompute

阿里云实名认证账号访问 https://www.aliyun.com/product/odps ,开通 MaxCompute,选择按量付费进行购买 。

准备 ECS 日志数据

购买云服务器 ECS 并创建 Windows 实例

1 . 进入 云服务器 ECS 产品页,点击 立即购买

2 . 根据自身需求对弹出框中的计费方式、地域、网络、实例、带宽、镜像、存储和购买量进行配置,更为详细的步骤说明请参见:创建 Windows 实例;

3 . 单击页面右侧下方的 立即购买,确认订单并付款 。

您可进入 云服务器管理控制台 单击实例 ID 或者 管理,进入 实例详情 页面查看实例的相关信息 。

连接 windows 实例并准备日志数据

连接 Windows 实例
连接 Windows 实例的方式有三种:远程桌面连接、管理控制台连接和手机连接,本教程以远程桌面连接作为示例,具体操作如下:

注意:采用这种方式登录,请确保实例能访问公网 。如果在创建实例时没有购买带宽,则不能使用远程桌面连接 。如果您需要通过其他方式连接实例,请参见:连接 Windows 实例 进行操作 。

1 . 单击 开始 图标 > 远程桌面连接;

2 . 在 远程桌面连接 对话框中,输入实例的公网 IP 地址,单击 显示选项

3 . 输入用户名,默认为 Administrator,如果您希望以后连接时不再手动输入密码,可以勾选 允许我保存凭据 。如果不需要再做其它设置,可以直接单击 连接按钮;

备注:如果您未设置或忘记实例的登录密码(不是管理终端的密码),请 重置密码 。

4 . 单击 本地资源 选项卡进行设置,选择 剪贴板 后,点击 详细信息,选择 驱动器,然后选择文件存放的盘符 。如下图所示:

备注:通过以上设置可以方便地将本地文件拷贝到实例中 。

准备离线日志文件
在 ECS 服务器中创建日志文件,举例一条数据如下:

ip:10.200.98.220

status:200

thread:414579208

time:27/Jan/2016:20:50:13 +0800

url:POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=U0UjpekFQOVJW45A&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1

user-agent:aliyun-sdk-java

备注:

1 . 以上仅为数据示例,日志源数据见:logstore

2 . 日志左侧的 ip、status、thread、time、url、user-agent 等是日志服务数据的字段名称,需在下方配置中用到。

开通日志服务

使用注册成功的阿里云账号登录 日志服务产品页,单击 立即开通

准备密钥对

在 日志服务管理控制台,将鼠标移至页面右上角您的用户名上方,在显示的菜单中单击 accesskeys ,确认 Access Key 的状态为“启用”。如下图所示:

注意:Access Key 是 logtail 收集日志数据的必要条件,如果一旦没有启用,请参见: 创建密钥对 来进行创建 。

创建项目

注意:项目名称创建后不能修改 。

1 . 登录 日志服务管理控制台;

2 . 单击右上角的 创建 Project

3 . 填写 Project 名称所属地域,单击 确认

创建日志库

创建完项目后,系统会提示您创建日志库,单击 创建,配置如下图所示:

备注:您若想要了解日志库各项配置信息的详情,请参见:创建日志库。

安装 Logtail

1 . 下载安装包

在云服务器 ECS 中下载 Logtail 安装包,下载地址:http://logtail-release.oss-cn-hangzhou.aliyuncs.com/win/logtail_installer.zip

2 . 按机器网络环境和日志服务所在 Region 进行安装

解压缩 logtail.zip 到当前目录,以管理员身份运行 cmd 进入 logtail_installer 目录 ,输入安装命令 logtail_installer.exe install cn_beijing 进行安装,如下图所示:

备注:您需按照自己的机器网络环境和日志服务所在 Region 输入相应的安装命令 ,详情请参见:安装命令,此处以华北 2(北京)的 ECS 经典网络为例 。

通过 Logtail 实时采集日志

创建 Logtail 配置

创建完 logstore 后,系统会提示您创建 Logtail 配置收集日志数据,点击 创建 Logtail 配置;

选择数据源

选择数据源,如下图所示:

指定收集模式

  • 指定日志的目录结构

    注意:一个文件只能被一个配置收集 。

  • 指定收集模式为分隔符模式
    • 输入日志样例;

    • 选择分隔符为 制表符
    • 为提取字段命名(设定对于字段的 Key);

    • 设置使用系统时间;
    • 根据自身需求设置高级选项(可选)。

设置完成后,单击 下一步

应用到机器组

勾选需要的机器组并单击 应用到机器组

如果您未创建机器组,需单击页面中的 创建机器组 进行创建,如图所示:

备注:云服务器的实例内网 IP 可到 云服务器 ECS 管理控制台 进行查看 。

查看收集的日志

完成上述配置后,日志服务即可收集日志 。您可在 LogStore 列表 页面,选择要查看的日志库并单击日志消费列下的 预览 进行查看,如下图所示:

MaxCompute 目标表准备

数据类型映射

MaxCompute 列名 MaxCompute 列类型 日志服务字段名 日志服务字段类型
log_source string _source_ 系统保留字段
log_time string _time_ 系统保留字段
log_topic string _topic_ 系统保留字段
time string time 日志内容字段
ip string ip 日志内容字段
thread string thread 日志内容字段
log_extract_others string __extract_others__ 系统保留字段
log_partition_time string _partition_time__ 系统保留字段
status string status 日志内容字段

创建 MaxCompute 项目

1 . 导航至 产品->大数据(数加)-> MaxCompute 页面, 点击管理控制台;

2 . 创建项目 。进入控制台页面后导航至 大数据开发套件->项目列表,点击 创建项目,如图所示:

在弹出框中选择 I/O 后付费的付费方式,输入项目名称:

创建 MaxCompute 目标表

创建完项目后,点击项目列表下对应项目操作栏中的 进入工作区,进入数据开发页面,如下图所示:

新建脚本文件 。点击上图中的“新建脚本”任务框,编辑建表语句,如下所示:

 DROP TABLE IF EXISTS tmall;
 CREATE TABLE tmall (
 log_source string,
 log_time bigint,
 log_topic string,
 time string,
 ip string,
 thread string,
 log_extract_others string
)
PARTITIONED BY (
log_partition_time STRING ,
status string
);

点击运行,确认建表成功 。

投递日志到 MaxCompute

开启投递

进入 LogStore 列表 页面,点击对应 LogStore 后的 ODPS,进入投递管理页面,点击 开启投递,如下图所示:

投递配置

开启投递后跳转至 LogHub —— 数据投递 页面,在该页面需要配置投递大数据计算服务 MaxCompute(原 ODPS)的相关内容:

备注:__source__、__time__、__topic__、__extract_others__和__partition_time__是日志服务的系统保留字段,建议使用 。对于映射配置的限制详情请参见: 日志数据投递到 MaxCompute。

投递任务管理

成功配置数据投递后点击 确定,可返回 MaxCompute (原 ODPS)投递管理 页面查看任务投递状态,如下图所示:

检查 MaxCompute 表数据

任务投递状态显示为 成功 后,可进入大数据开发套件管理控制台,查询 MaxCompute 表中是否有数据写入,如下图所示:

通过以上操作将云服务器 ECS 的日志成功投递到 MaxCompute 后,您还可以对日志数据进行分析与应用,详情请参见以下文章:
1. 数据加工:用户画像;
2. 数据分析与展现:可视化报表及嵌入应用;
3. 社交数据分析:好友推荐。

时间: 2024-12-28 12:23:26

【大数据新手上路】“零基础”系列课程--日志服务(Log Service)采集 ECS 日志数据到 MaxCompute的相关文章

[大数据新手上路]“零基础”系列课程--如何将ECS上的Hadoop数据迁移到阿里云数加·MaxCompute

免费开通大数据服务:https://www.aliyun.com/product/odps  想用阿里云数加·大数据计算服务(MaxCompute),但是现在数据还在hadoop上,怎么办? 大数据计算服务(MaxCompute) 快速.完全托管的TB/PB级数据仓库解决方案,向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全. 了解更多   别烦恼,跟着我们走,来一次MaxCompute零基础数据迁移之旅-Let'

【大数据新手上路】“零基础”系列课程--如何通过大数据开发套件Data IDE玩转大数据

免费开通大数据服务:https://www.aliyun.com/product/odps 老板每天都要出这些业务数据(销售总额.总交易量.总点击次数.总加入购物车次数.总加入收藏夹次数...),我得想个一劳永逸的方法了- 幸好,我有数加神器大数据开发套件Data IDE,搞定业务工作流调度,每日定时自动执行任务,分分钟输出计算结果. 妈妈再也不用担心我焦头奋战了-- 本教程是一个大数据开发套件Data IDE零基础教程,通过Data IDE将多源异构的数据集导入云端MaxCompute,进行计

【大数据新手上路】“零基础”系列课程--Flume收集网站日志数据到MaxCompute

免费开通大数据服务:https://www.aliyun.com/product/odps 概述:大数据时代,谁掌握了足够的数据,谁就有可能掌握未来,而其中的数据采集就是将来的流动资产积累. 任何规模的企业,每时每刻都在产生大量的数据,但这些数据如何归集.提炼始终是一个困扰.而大数据技术的意义确实不在于掌握规模庞大的数据信息,而在于对这些数据进行智能处理,从中分析和挖掘出有价值的信息,但前提是如何获取大量有价值的数据. 相信很多做过网站管理的人对网站访问日志(Access Log)应该不会陌生,

【大数据新手上路】“零基础”系列课程--MySQL 数据整库迁移到 MaxCompute

随着公司业务的增多,云数据库 RDS 下的 MySQL 数据库的表越来越多,想要把它全部迁移到 MaxCompute 中进行计算分析,但又愁要配置太多次同步任务.如何能将大量的数据表一次性上传到 MaxCompute 中呢?通过大数据开发套件的整库迁移功能,便可快速完成 MySQL 数据整库迁移到 MaxCompute,从而节省同步时间,提高工作效率. 下面介绍一个适用于中小企业用户,高效率低成本的数据同步方案: 对于自建或云数据库 RDS 的 MySQL 数据库中的数据,都可以通过整库迁移功能

Photoshop适合新手的零基础配色方案分享

给各位Photoshop软件的使用者们来详细的解析分享一下适合新手的零基础配色方案. 解析分享: 今天对一些配色技巧和方法做一个分享和总结,无论你有美术基础/色彩基础还是零基础,都可以使用此方法创造出安全的配色方案. 所谓安全配色,就是遵循一些设计规范,色彩规范,适应于Web和其它方面的UI设计,在这些色彩的基础上,只要能控制好比例,就可以大胆的配色,无需参考,无需临摹,无需借鉴.一种感性的安全配色,一种符合标准的安全配色. 这次分享介入了一些自己学习过总结过的色彩理论,当然如果同学们能够学习巩

div+css实现的滑动门,简洁,新手上路 (小鸽子系列)_经验交流

网上房展会 本月开盘 知名开发商 栏目导航 哈哈哈哈 Q小鸽子 内容1 内容2 内容3 内容4 内容5 内容6 [Q小鸽子]

微服务和容器所引发的数据中心变革

软件定义基础架构.微服务和容器正在逐渐改变数据中心的构建和运行方式,未来的数据中心将会更加高效并且易于使用. 软件定义基础架构.微服务和容器是当前IT领域最为热门的话题,这些技术对数据中心的构建和运行方式产生了颠覆式影响,并且能够提升系统性能.弹性以及易用性.数据中心正在从传统的死板架构转换为更加灵活和快速响应的全新架构,甚至成为快速资源分配的发起者. 软件定义基础架构的概念并不复杂.比如,通过软件定义数据位于存储中的哪个部分,之后创建一个全新VLAN,将代码移动到虚拟机中形成一系列微服务.这些

日志服务(原SLS)新功能发布(5)--使用Logstash接入数据

日志服务结合Logstash 目前,阿里云用户可以通过API/SDK或Logtail将数据写入日志服务,参考. 今天要介绍一个新方法:使用著名开源软件Logstash采集机器日志数据,并结合日志服务插件完成数据上传日志服务功能. 用户可以在阿里云ECS,或者是IDC机房机器,又或者是其它云厂商的虚拟机上安装Logstash及插件,进行简单的配置,轻松地将本机日志数据搬到云上来. IIS日志场景 以Windows平台上最常见的IIS(Internet Information Services)日志

如何将日志服务的数据秒级同步到表格存储

最近在容器服务的官方镜像中,新增了loghub-shipper的镜像,使用该镜像,可以订阅日志服务中的日志库,以秒级的延时将日志数据从日志服务中读出并转换成结构化数据存储在表格存储中,以满足实时在线服务的精确查询需求. 什么是日志服务? 日志服务(Log Service,Log)是针对日志场景的一站式解决方案,解决海量日志数据采集/订阅.转储与查询功能,比如在海量游戏日志收集与分析场景上的应用. 什么是表格存储? 表格存储(TableStore)提供海量NoSQL数据的存储与实时访问服务,能够支