美文网首页
Day 2 实现数据可视化+实现ES日志检索平台

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

作者: CharotteBelle | 来源:发表于2019-12-31 18:20 被阅读0次

    今日任务: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{}}'

    图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}

    }

    图1.2

    4.再启动logstash  (图1.3)

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

    图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

    图1.5

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

    GET accesslog/_search

    图1.6 图1.7

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

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

     图2.1

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

    图2.2

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

    图2.3

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

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

    图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)

    图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表示创建成功)

    图3.1.1 图3.1.2 图3.1.3 图3.1.4

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

    图3.2.1 图3.2.2.1 图3.2.2.2 图3.2.3.1 图3.2.3.2 图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)

    图4.2

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

    图4.3

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

    图4.4

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

    图4.5

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

    图4.6.1 图4.6.2

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

    图4.7

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

    图4.8.1 图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日志检索平台

          本文链接:https://www.haomeiwen.com/subject/djqioctx.html