官方使用文档
https://yanhuang.yuque.com/staff-sbytbc/rb5rur?
准备服务器环境
购买服务器
购买腾讯云服务器,1300 元新人价,一年时间
●4核16G内存
●CentOS 6.7
(补充说明:最新的 2.7.1 GA 版本,8G 内存也是可以跑的,可以先使用8G,不够再做升级)。
安装docker环境
安装docker,速度还挺快的,大概3~5分钟内
下载鸿鹄体验版本安装包
1、注册鸿鹄账号,获取下载地址
●https://www.yanhuangdata.com/auth/register?redirect_url=%2Fapi%2Fproducts%2Fhonghu%2F2.7.0%2Fdownload%3Fos%3Dlinux
注册完成点击首页的【免费社区版】
点击下载安装包即可。
安装鸿鹄
上传压缩包
现将安装包上传到服务器,scp或者ftp都可以,这里用scp(好像不需要端口)
Tips:如果遇到Permission denied的情形,登录服务器,开启root权限,编辑文件 /etc/ssh/sshd_config
去掉#
安装
官方教程比较详细,参考操作即可:https://yanhuang.yuque.com/staff-sbytbc/rb5rur/auwfm3?#EveRG
将鸿鹄安装包解压缩到 /opt 目录。解压完成之后,所有的鸿鹄相关文件位于 /opt/honghu目录下。
后续文档中,以HONGHU_HOME指代鸿鹄的安装目录。在上面的例子中,HONGHU_HOME 就是 /opt/honghu目录。
启动
问题:如果遇到 “Resource exhausted on 1 nodes”错误,可以考虑重启docker daemon解决
重启 docker daemon,重新启动鸿鹄,解决了问题。
成功
这个密码可以在登录后的账号管理中去修改,如下图
登录
输入控制台安装完成后的提示的用户名、密码就可以登录了。
示例体验
版本2.7.1之后,鸿鹄新增了【主应用】->【Yanhuang Product Showroom】
场景一:shopify后台登录日志记录,进行可视化查询管理和报警
需求痛点
目前的 shopify 用户操作日志记录很不直观,只有一行行记录,很难查,需要主屏不断拉取加载才行。而且信息不结构化,看不出有效信息。当遇到某个出错问题时,想去查询相关的操作记录,很难定位。
目标
●结构化信息,方便搜索查询
●定义某类异常操作,进行报警
●统计各用户使用频率,输出数据报表
导入数据
第一步:上传文件
当前用的是 csv 格式文件的数据,直接导入
第二步:预览数据,有1000条数据
【小提示】
点击另存为,可以为 shopifiy 数据新建一个数据源类型。
点击【另存为】
第三步:导入数据
导入完成
查询数据
导入后,查看数据,默认显示如下视图
sql的查询语句如下:
收藏查询语句
下次进入的时候可以直接在右边点击【展开】,再点击【已收藏查询】,查看收藏过的查询语句列表,并加载。这样复杂的查询语句,就不用每次去手写了,一键即可加载。
重新筛选需要的字段
点击【显示字段栏】
默认会罗列出原始数据,并帮助组织字段
以上内容是原始数据,但对我来说还是混乱的。我比较关心三个内容:谁、在哪天、干了什么。
在查询结果左边栏的【已选字段】和【剩余字段】,是鸿鹄自动处理,帮助筛选的,我们可以点击对应字段的名字,会有鸿鹄抽取出来的该字段对应的具体数据条目内容,来帮助我们确认应该保留哪些字段。
根据自己的需求,确认了如下字段
●操作者:author
●操作内容:description
●时间:created_at
点击【查看详情】
选择刚才确认的字段,并保存。
新建展示图表
以成员的操作频率对比图为示例
点击字段,选中author,我们想用弹窗中的数值来构建图表
在顶部的查询框中录入如下查询:
得到结果如下
点击【新建图表】,选中【柱状图】,在右边的属性配置栏稍微调整下显示,顺利拿到图表。发现对系统更改最多的是【Upsell】这个角色,很直观!
导出查询结果
对于查询的表格结果,也可以过滤不想要的字段后,导出为新表格,这个功能可以用于额外的数据处理
<a href="" https
<a href="" https导出后的结果为 csv,如下
自定义内容抽取功能体验
针对一段系统没有解析好的日志文本,我们可以用鸿鹄自己去定义解析字段。点击字段最下方的【抽取新字段】可以进行操作
进入抽取新字段页面后,例如下面这个_message字段,我想把里面的内容拆的更结构化。
选取的是【正则抽取】,方法是对于原始文本,鼠标选中认为是一个字段的字符串,选中后,会有一个弹窗,对这个字段进行命名。
拆完以后,得到的数据如下图,下面的【字段抽取预览】可以比较方便的实时看到拆完后的结果。
继续下一步
完成!
点击【查询刚才创建的字段】,回到查询数据界面,我们在左侧可以看到刚刚自定义的一系列字段,这些新字段,可以按照上面的步骤,继续去创建图标,或者导出为表格内容。不得不说,鸿鹄在抽象杂乱文本的,结构化建模相当高效!
新建查询图表
这次的日志场景,我比较关心的核心内容为:谁、在哪天、干了什么。
怎么才能快速的基于鸿鹄建立可查询的内容?例如下面的形式:
这次的 shopify 后台登录日志里的场景就是:
1、大量日志数据经过鸿鹄读时建模处理成可抽取字段的结构化数据。
2、筛选需要的字段,author、description、created_at,生成表格。
3、基于表格,我们可以快速筛选具体某一天的操作日志,用于排查当天发生的操作行为,辅助营销动作定位问题。
【建议点】
目前鸿鹄图表,暂时还不支持这种表格查询的生成,由于我们的日志量比较大,可能一段时间能累积 > 5000条,逐行去翻阅会比较困难,基于鸿鹄的读时建模,快速筛选有效字段,并组织成可查询的表格,对于混乱数据的有序定位,是比较好的一个功能。
不过如果数据量不大,SQL查询,过滤数据之后,再把结果集保存成一个Table,加入到仪表板是可以满足这个需求的。
场景二:生成 API 功能
场景描述:由于个人经常在做一些查询类的小工具,例如【深圳二手房指导价】,甚至是之前炎凰有演示过的全国疫情数据地图,这些数据通常有如下这些文件形式:
我之前的操作步骤是
这其中,【人工清理处理数据】、【定义字段录入数据库】、【开发api接口】可以说是最核心也是费时间的大头。
了解鸿鹄以后,我发现基于鸿鹄可以很大的简化这个过程,操作流程变为如下:
由于鸿鹄具备数据读取,实时建模,字段任意定义等核心功能,那么是否可以顺势支持api接口的对外提供?简化 API 生成环节,同时具备数据管理功能。例如生成一条如下 API。
当然,是基于鸿鹄目前核心能力的一种扩展建议。
其他工具使用体验对比反馈
由于工作内容性质,目前接触了一些市面上的数据工具,例如 Tableau 和神策。
Tableau
其中 Tableau 偏向于数据报表的呈现,他的优势点是,基于数据呈现的自定义灵活性较高。Tableau 更像应用层。
而鸿鹄的核心是数据读时处理,但由于鸿鹄处理的是数据最复杂的环节,很有潜力向上延展,补齐【数据展示层】,形成一体化数据应用。
与鸿鹄的官方人员沟通,当前鸿鹄或者商业版本的炎凰,都支持 Restful 标准 API,也能让数据开发者通过鸿鹄提供的 API 接口与 Tableau 做数据对接,预留了扩展接口。
神策
神策主要基于数据的埋点、上报,进而构建一套完整的数据分析路径:【数据池-数据分析-数据展示】。
体验下来的优点是相对闭环,数据实时性较高;但对外暴露的扩展性,相对没有鸿鹄高。当然两者目前的定位也不算一致。