• 用ELK分析支付宝账单(二)


    上一篇文章介绍了Logstash的配置,当我们将数据导入到ES后,就可以使用Kibana来分析和展示数据了。

    一、设置索引

    第一次登录Kibana,先设置索引样式(index pattern)。Kibana使用index pattern从ElasticSearch中提取数据。

    下面选择一个表示时间的字段,Kibana会按照这个字段来对数据进行过滤和排序,这里的@timestamp默认是数据导入到es的时间,但此时这里的@timestamp是我们在logstash的配置文件里使用date plugin转换成的CreationTime.

    二、Kibana Discover面板

    1.调整Time picker

    打开Discover面板,发现没有数据,原来是因为时间选择了今天。所以我们需要利用time picker选择@timestamp的值,展示历史数据。

    选择了Last 2 years后,数据就出现在面板上了

    2.利用Lucene Query来查找数据
    例如此时我要查找账单数额在100到200之间的,我用的query是Amount:[100 TO 200]

    这里的记录包含支出和收入,如果我只查找收入的记录呢?用的query应该是Amount:[100 TO 200] AND inOut:收入

     

    通过Save选项可以保存这个search的query.

     通过Open选项可以找到保存的query

    3.Filter
    在左侧的栏目中有所有的field,可以对记录进行过滤。下面以ProductName为例,点开ProductName,栏目中会显示这个field中top 5的value。
    每个value旁边有个加号和减号,加号表示只保留这部分的记录,减号表示排除这部分的记录。

    此时我只想看我在万宁的购买记录,所以我点击了Mannings后面的加号,此时只选择了ProductName=Mannings的记录了。

     

    可以add a filter

     

    还可以Edit Query DSL

     

    三、Kibana Visualize

    我觉得在Kibana,Visualization才是重头戏,我们可以创建很多个图表来展示和分析数据。

    例如此时我想展示2017.04到2018.03每个月的平均支出
    首先filter出inOut为支出的记录,设置Y轴为费用的平均数
    设置X轴为Date Histogram(日期柱状图),field为timestamp, 间隔为以月为单位。
    这里好像只能选择@timestamp作为field
    得到的图表如下:
    这里可以看出很明显2017年9月份的支出是最多的。
    2.根据商品名称创建了词云,过滤掉了收款和转账的记录,可见我有多爱华辉拉肠了。。。
    3.饼图
    把数量当做度量标准,按照费用分range
         
    最后得到如下饼图
  • 相关阅读:
    安装IIS
    安装Asp.Net(4.0.30319)
    转载一个博文
    文件操作引出流(二)FileStream和
    《学习之道》第十一章目前此章最后一点-重复
    《学习之道》第十一章意群
    Views
    Django的基本使用
    MVC框架
    Zookeeper
  • 原文地址:https://www.cnblogs.com/qingfei1994/p/8747822.html
Copyright © 2020-2023  润新知