201604深圳云栖大会Workshop - 通过用户点击进行热门内容推荐

通过用户点击进行热门内容推荐

目标

  • 熟悉日志服务的功能,使用场景
  • 通过收集直播网站的日志数据,进行实时数据分析,进行推荐

准备工作

步骤

1. 程序日志埋点

在log.php中进行,提供了一个函数,记录用户访问行为日志
201604深圳云栖大会Workshop - 通过用户点击进行热门内容推荐


在用户实际访问的时候,进行记录


201604深圳云栖大会Workshop - 通过用户点击进行热门内容推荐


在log_config.xml中,配置了日志文件位置,默认为:
/tmp/video_log/access.log

2. 启动镜像,自动创建日志服务project和Logstore

开通必要服务

容器服务和日志服务无缝对接,需要开通以下服务:

日志服务

访问控制服务

201604深圳云栖大会Workshop - 通过用户点击进行热门内容推荐

如果没有事先开通,则前往日志服务访问控制服务开通,之后点击确定。

201604深圳云栖大会Workshop - 通过用户点击进行热门内容推荐

编排镜像配置

在acs的编排模板中(应用->变更配置),加入下面这个label:

labels:
    aliyun.log_store_video_log: /tmp/video_log/access.log

201604深圳云栖大会Workshop - 通过用户点击进行热门内容推荐

log_store_${LOGSTORE_NAME}, ${LOGSTORE_NAME}表示是创建LogStore的名字一部分, 在这边是video_log

/tmp/video_log/access.log , 是容器内日志的路径, 和上面对应

201604深圳云栖大会Workshop - 通过用户点击进行热门内容推荐

注意修改“应用版本”

3.在日志服务中验证新创建的project和logstore

在日志服务控制台,可以看到新创建的project和logstore, project以'acslog-project'开头, logstore是acslog-${app}-${LOGSTORE_NAME}

201604深圳云栖大会Workshop - 通过用户点击进行热门内容推荐

201604深圳云栖大会Workshop - 通过用户点击进行热门内容推荐

默认情况下,acs会为logstore创建一个logtail的配置,用于收集日志,每行一条日志,不做字段区分,从"Logtail配置管理",进入后可看到:

201604深圳云栖大会Workshop - 通过用户点击进行热门内容推荐

4.更新logtail配置

为了进行日志分析,我们需要对日志内容进行提取,首先,填入日志样子:

2016-03-19T06:26:37+00:00 get_online_msg 45bed72 cnRtcDovL29zc2xpdmVzaG93Lm9zcy1jeHBpcmVzPTE0NTgzNzIzNTgmU2lQkNtQXhRTWw5eWZzSmVPNW92YTh2Q0lEZyUzRA== other_message

选择提取字段, 通过划词可以生成正则表达式:

(\S+)\s(\w+)\s(\w+)\s(\S+).*



定义各个字段名字(由于分析程序依赖这些名字,所有请大家严格按照以下名字命名各个字段):

  • time
  • action
  • user_id
  • video_id
    201604深圳云栖大会Workshop - 通过用户点击进行热门内容推荐

最后应用到机器分组,完成配置更新

5. 推荐解析程序配置

201604深圳云栖大会Workshop - 通过用户点击进行热门内容推荐

填写使用日志服务的程序入口(深圳region的endpoint是cn-shenzhen.log.aliyuncs.com),以及project和logstore信息。

日志服务入口地址

6. 查看效果

在web页面上,将根据用户访问历史,推荐用户可能喜欢的视频

上一篇:当打之年,非你莫属——阿里云 MVP第12期全球发布


下一篇:CDN日志实时分析