前提条件
操作步骤
1、在MySQL数据库中,创建用户属性表(即chiji_user表)。
2、添加白名单。如果是rds,设置ip白名单;如果是ecs上自建的mysql,设置安全组规则。
3、创建ExternalStore。
3.1.centos7安装日志服务CLI。更多信息,请参见CLI概述。
bash
# 查看python版本:python --version
# 当前python版本:Python 2.7.5
# 安装cli:https://help.aliyun.com/zh/sls/developer-reference/install-log-service-cli
# 因为当前python版本为Python 2.7.5,所以使用pip安装
pip install aliyun-log-python-sdk aliyun-log-cli -U --no-cache
# 验证安装结果
aliyunlog --version
# 配置cli:https://help.aliyun.com/zh/sls/developer-reference/configure-log-service-cli
aliyunlog configure "【AccessKey ID】" "【AccessKey Secret】" 【Endpoint】
3.2.创建配置文件
bash
touch /home/config.json
3.3.在/home/config.json文件中添加如下脚本,并根据实际情况替换参数配置。
bash
{
"externalStoreName":"【storename名称,由于示例关联查询使用了chiji_user,所以此处填写chiji_user】",
"storeType":"rds-vpc",
"parameter":
{
"region":"【cn-qingdao】",
"vpc-id":"【vpc-m5eq4irc1pucp*******】",
"instance-id":"【i-m5eeo2whsn*******】",
"host":"localhost",
"port":"3306",
"username":"【用户】",
"password":"【密码】",
"db":"【库名】",
"table":"【表名】"
}
}
3.4.创建ExternalStore。
bash
aliyunlog log create_external_store --project_name="【日志服务Project名称】" --config="file:///home/config.json"
4、使用JOIN语法进行联合查询分析。
4.1.登录日志服务控制台。
4.2.在Project列表区域,单击目标Project。
4.3.在日志存储 > 日志库页签中,单击目标Logstore。
4.4.执行查询分析语句。
指定日志中的userid字段和数据库表中的uid字段关联Logstore和MySQL数据库。
bash
* | select case gender when 1 then '男性' else '女性' end as gender , count(1) as pv from log l join chiji_user u on l.userid = u.uid group by gender order by pv desc
说明:"...from log l join chiji_user u...",
log指当前Logstore,
chiji_user指/home/config.json文件的externalStoreName对应的值
重要
- 仅支持Logstore与MySQL数据库小表(数据量小于20 MB)进行联合查询。
- 查询和分析语句中,Logstore必须写在join关键字前面,ExternalStore写在join关键字后面。
- 查询和分析语句中,必须写ExternalStore名称,系统自动替换成MySQL数据库名+表名。请勿直接填写MySQL表名。
5、保存查询分析结果到MySQL数据库中。【暂未将分析结果保存到mysql】
5.1.在MySQL数据库中,创建名为report的数据表,该表存储每分钟的PV值。
5.2.参见步骤3为report表创建ExternalStore。
5.3.在日志服务Logstore的查询分析页面中,执行如下查询语句将分析结果保存到report表中。
详见:
如何实现日志服务Logstore与MySQL数据库关联分析功能_日志服务-阿里云帮助中心
Logstore和MySQL联合查询_用户指南_混合云存储CDS_企业版
阿里云提供的演示数据:SLS Playground | SLS