Day 2 实现数据可视化+实现ES日志检索平台

今日任务:1.学习简单操作logstash

                  2.上传数据文件、导入海量数据

                  3.利用kibana完成数据可视化

                  4.安装python和pycharm、使用综合案例实现ES日志检索平台


1.学习简单操作logstash

准备工作:按照昨天的步骤启动elasticsearch和kibana出现kibana控制台

1.logstash启动——“sh logstash -e 'input { stdin{} } output{ stdout{}}'”(图1.1)

    [root@hadoop ~]# cd /h ome/softwares/logstash-6.6.2/

    [root@hadoop logstash-6.6.2]# cd bin

    [root@hadoop bin]# sh logstash -e 'input { stdin{} } output{ stdout{}}'

Day 2 实现数据可视化+实现ES日志检索平台_第1张图片
图1.1

2.在logstash目录下创建一个logstash.conf文件

    [root@hadoop logstash-6.6.2]# touch logstash.conf

3.编辑此文件 

    [root@hadoop logstash-6.6.2]# vim logstash.conf  

添加下面代码(图1.2):(若有问题用notepad++检查这个代码文件--可能会吞字--我的是input的i被吞了)

input { stdin{} }

filter {

grok {

  match => { "message" => "%{COMBINEDAPACHELOG}"}

}

date {

  match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]

  }

}

output {

  elasticsearch {index=>"accesslog" }

  stdout {codec =>rubydebug}

}

Day 2 实现数据可视化+实现ES日志检索平台_第2张图片
图1.2

4.再启动logstash  (图1.3)

[root@hadoop logstash-6.6.2]# bin/logstash -f logstash.conf

Day 2 实现数据可视化+实现ES日志检索平台_第3张图片
图1.3

5.启动logstash完成后将下面代码粘进命令行(不回车)  (图1.4)

hello world

{

      "message" => "hello cumtb",

      "@version" => "1",

    "@timestamp" => "2016-03-17T03:31:30.308Z",

          "host" => "hostname:hadoop"

}

图1.4

然后会出现图1.5

Day 2 实现数据可视化+实现ES日志检索平台_第4张图片
图1.5

6.在kibana页面代码部分添加一行代码并运行(图1.6、1.7)

GET accesslog/_search

Day 2 实现数据可视化+实现ES日志检索平台_第5张图片
图1.6
Day 2 实现数据可视化+实现ES日志检索平台_第6张图片
图1.7



2.上传数据文件、导入海量数据

1.上传文件“nyc_collision_logstash.conf”到/home/softwares/logstash-6.2.2 (图2.1)

Day 2 实现数据可视化+实现ES日志检索平台_第7张图片
 图2.1

2.在/home/data目录下创建文件夹elk,然后上传文件"nyc_collision_data.csv"  (图2.2)

Day 2 实现数据可视化+实现ES日志检索平台_第8张图片
图2.2

3.将"nyc_collision_template.json"文件的代码复制到kibana控制台并运行控制台程序  (图2.3)

Day 2 实现数据可视化+实现ES日志检索平台_第9张图片
图2.3

注:文尾附"nyc_collision_template.json"文件代码

4.kibana控制台添加代码“GET nyc_visionzero/_search”(图2.4)

Day 2 实现数据可视化+实现ES日志检索平台_第10张图片
图2.4

5.启动logstash并指定文件

[root@hadoop logstash-6.6.2]# bin/logstash -f nyc_collision_logstash.conf  (图2.5)

图2.5

6.kibana控制台运行“GET nyc_visionzero/_search”出现图2.6就可以进行数据可视化了(图2.6)

Day 2 实现数据可视化+实现ES日志检索平台_第11张图片
图2.6



3.利用kibana完成数据可视化

1.创建index pattern(图3.1.1、3.1.2、3.1.3、3.1.4)

  点击Management->Index Patterns 按照图的指示(出现图3.1.4表示创建成功)

Day 2 实现数据可视化+实现ES日志检索平台_第12张图片
图3.1.1
Day 2 实现数据可视化+实现ES日志检索平台_第13张图片
图3.1.2
Day 2 实现数据可视化+实现ES日志检索平台_第14张图片
图3.1.3
Day 2 实现数据可视化+实现ES日志检索平台_第15张图片
图3.1.4

2.下面就可以进行数据可视化了,点击visualize进行自己想要的可视化方式

Day 2 实现数据可视化+实现ES日志检索平台_第16张图片
图3.2.1
Day 2 实现数据可视化+实现ES日志检索平台_第17张图片
图3.2.2.1
Day 2 实现数据可视化+实现ES日志检索平台_第18张图片
图3.2.2.2
Day 2 实现数据可视化+实现ES日志检索平台_第19张图片
图3.2.3.1
Day 2 实现数据可视化+实现ES日志检索平台_第20张图片
图3.2.3.2
Day 2 实现数据可视化+实现ES日志检索平台_第21张图片
图3.2.4.1
图3.2.4.2



4.安装python和pycharm、使用综合案例实现ES日志检索平台

1.安装完pycharm,用pycharm打开项目kds_web

2.打开pycharm的terminal键入指令"pip install django==3.0.0"  (图4.2)

Day 2 实现数据可视化+实现ES日志检索平台_第22张图片
图4.2

3.若屏幕提示升级pip就升级——指令"python -m pip install --upgrade pip"  (图4.3)

Day 2 实现数据可视化+实现ES日志检索平台_第23张图片
图4.3

4.进入到search目录安装elasticsearch (图4.4)

Day 2 实现数据可视化+实现ES日志检索平台_第24张图片
图4.4

5.修改配置文件“config.py”中的IP(控制台的IP) (图4.5)

Day 2 实现数据可视化+实现ES日志检索平台_第25张图片
图4.5

6.代码报错的话点击ignore。。。 (图4.6.1、图4.6.2)

Day 2 实现数据可视化+实现ES日志检索平台_第26张图片
图4.6.1
Day 2 实现数据可视化+实现ES日志检索平台_第27张图片
图4.6.2

7.terminal中键入"python manage.py runserver"----注意:在search目录下(图4.7)

图4.7

8.在谷歌浏览器下面输入"localhost:8000"  (图4.8.1、图4.8.2)

Day 2 实现数据可视化+实现ES日志检索平台_第28张图片
图4.8.1
Day 2 实现数据可视化+实现ES日志检索平台_第29张图片
图4.8.2



今天的任务就结束啦~嗨心哒放假啦~


附:2.3中的“nyc_collision_template.json"文件代码

{

  "index_patterns": "nyc_visionzero",

  "settings": {

    "index.refresh_interval": "5s"

  },

  "mappings": {

    "doc": {

      "properties": {

        "location": {

          "type": "geo_point",

          "ignore_malformed": true

        },

        "@version": {

          "type": "keyword"

        },

        "borough": {

          "type": "keyword"

        },

        "zip_code": {

          "type": "keyword"

        },

        "unique_key": {

          "type": "keyword"

        },

        "cross_street_name": {

          "type": "keyword"

        },

        "off_street_name": {

          "type": "keyword"

        },

        "on_street_name": {

          "type": "keyword"

        },

        "contributing_factor_vehicle": {

          "type": "keyword"

        },

        "vehicle_type": {

          "type": "keyword"

        },

        "intersection": {

          "type": "keyword"

        },

        "hour_of_day": {

          "type": "integer",

          "ignore_malformed": true

        },

        "number_of_motorist_injured": {

          "type": "integer",

          "ignore_malformed": true

        },

        "number_of_cyclist_killed": {

          "type": "integer",

          "ignore_malformed": true

        },

        "number_of_persons_killed": {

          "type": "integer",

          "ignore_malformed": true

        },

        "number_persons_impacted": {

          "type": "integer",

          "ignore_malformed": true

        },

        "number_of_pedestrians_killed": {

          "type": "integer",

          "ignore_malformed": true

        },

        "number_of_motorist_killed": {

          "type": "integer",

          "ignore_malformed": true

        },

        "number_of_cyclist_injured": {

          "type": "integer",

          "ignore_malformed": true

        },

        "number_of_pedestrians_injured": {

          "type": "integer",

          "ignore_malformed": true

        },

        "number_of_persons_injured": {

          "type": "integer",

          "ignore_malformed": true

        },

        "latitude": {

          "type": "float",

          "ignore_malformed": true

        },

        "longitude": {

          "type": "float",

          "ignore_malformed": true

        }

      }

    }

  },

  "aliases": {}

}

你可能感兴趣的:(Day 2 实现数据可视化+实现ES日志检索平台)