ELK實踐-簡單數據分析

前言

年初的時候進入了遊戲行業,一直在作遊戲邏輯相關的開發,如今回過頭來搞遊戲分析相關的東西,咱們如今的需求主要是用戶流失相關的分析。玩家哪些功能比較經常使用,某個功能玩家的使用頻率的分析,對這些進行建模,之前咱們經常使用ELK作一些日誌的存儲之類的功能,如今拿ELK做分析不知道會怎麼樣php

準備工做

  1. ELK搭建html

  2. 數據導入git

  3. 數據建模github

ELK搭建

以前寫過一篇ELK日誌的搭建文章 ELK結合logback搭建日誌中心
這樣作其實有點太慢了,爲了先驗證想法,先使用docker搭建ELK 所用的docker,搭建起來的端口
5000: Logstash TCP input.
9200: Elasticsearch HTTP
9300: Elasticsearch TCP transport
5601: Kibanadocker

數據導入

因爲咱們並非日誌收集系統,因此logstash的做用其實並不大,並且使用起來也不是靈活,因此我果斷把logstash這層直接沒用使用,使用的是Elastaicsearch的Restful接口導入數據,這樣可使咱們靈活的處理各類本身的數據,只須要把數據轉換成json便可shell

ES 的一大特色,就是全 RESTful 接口處理 JSON 請求。因此,數據寫入很是簡單:json

# curl -XPOST http://127.0.0.1:9200/logstash-2015.06.21/testlog -d '{
    "date" : "1434966686000",
    "user" : "chenlin7",
    "mesg" : "first message into Elasticsearch"
}'

命令返回響應結果爲:segmentfault

{"_index":"logstash-2015.06.21","_type":"testlog","_id":"AU4ew3h2nBE6n0qcyVJK","_version":1,"created":true}

其餘具體的CRUD就不介紹了主要-->使用方法api

數據建模

圖片描述

使用kibana生成相應的圖表

  1. 首先使用 discover 功能過濾相應的數據服務器

    簡單的文本搜索,直接輸入文本字符串。好比,若是你在搜索網站服務器日誌,你能夠輸入 safari 來搜索各字段中的 safari 單詞。
    要搜索特定字段中的值,則在值前加上字段名。好比,你能夠輸入 status:200 來限制搜索結果都是在 status 字段裏有 200 內容。
    要搜索一個值的範圍,你能夠用範圍查詢語法,[START_VALUE TO END_VALUE]。好比,要查找 4xx 的狀態碼,你能夠輸入 status:[400 TO 499]。
    要指定更復雜的搜索標準,你能夠用布爾操做符 AND, OR, 和 NOT。好比,要查找 4xx 的狀態碼,仍是 php 或 html 結尾的數據,你能夠輸入 status:[400 TO 499] AND (extension:php OR extension:html)。

  2. 而後經過Visualize 功能進行圖標聚合
    這塊須要對你目標的數據進行過濾篩選,而後聚合,須要根據相應的模型進行整理。

  3. 以下圖:

圖片描述
玩家行爲分析:
圖片描述

相關文章
相關標籤/搜索