Elasticsearch索引和mapping及logstash配置文件过滤(教程2)

Elasticsearch是一个分布式的文档(document)存储引擎。它可以实时存储并检索复杂数据结构——序列化的JSON文档。换言说,一旦文档被存储在Elasticsearch中,它就可以在集群的任一节点上被检索。

一个文档不只有数据。它还包含了元数据(metadata)——关于文档的信息。三个必须的元数据节点是:

节点

说明

_index

文档存储的地方

_type

文档代表的对象的类

_id

文档的唯一标识

在地址栏输入es服务器的ip地址和端口点connect就可以连接到集群。下面是连接后的视图。这是主界面,在这里可以看到es集群的基本信息(如:节点情况,索引情况)。


界面的右边有些按钮,如:node stats cluster nodes,这些是直接请求es的相关状态的api,返回结果为json,如下图:


在索引下面有infoaction两个按钮。info是可以查看索引的状态和mapping的定义。action是对索引进行操作,如:添加别名、刷新、关闭索引,删除索引等。


browser浏览界面,这个界面可以同时查看多个索引的数据,也可以查询指定字段的数据。


Structured Query查询界面,这个界面可以对某个索引进行一些复杂查询,如下面这个例子是查询product索引,构造boolquerytitle字段里查询产品关键词,price范围为10100的记录。


Any Request任意请求界面,这个界面可以说是个rest的客户端,可以通过它来对es进行一些请求操作或测试api接口,下面这个例子是把product索引的副本数设置为1,更多的api可以到es官网查询。


实战:

1.      先打开head插件http://localhost:9200/_plugin/head/

建立一个mapping,代码如下(别忘了开头http://localhost:9200/elevator,血的教训呀!!!)

:不要想着先建索引再建mapping,因为这样的话logstash会写不进去!!

{

  "mapping": {

    "elevator": {

      "properties": {

        "message": {

          "properties": {

            "province": {

              "type":"string"

            },

            "area": {

              "type":"string"

            },

            "community": {

              "type":"string"

            },

            "community_address": {

              "type": "string"

            },

            "No": {

              "type":"integer"

            },

            "unit": {

              "type":"string"

            },

            "brand": {

              "type":"string"

            },

            "batch": {

              "type": "string"

            },

            "model number": {

              "type":"string"

            },

            "time": {

              "type":"string"

            },

            "floor": {

              "type":"string"

            },

            "weight": {

              "type":"string"

            },

            "speed": {

              "type":"string"

            },

            "people": {

              "type":"string"

            }

          }

        },

        "@version": {

          "type": "string"

        },

        "@timestamp": {

          "type": "string"

        },

        "host": {

          "type": "string"

        }

      }

    }

  }

}


2.      建好之后使用我编写好的conf来配置logstash


说明:基于http的输入,端口号要与你的前端端口号一致(书上写的基于tcp的在这不适合)还有不用去下载所谓的插件,自己往里边写就可以


说明:kv是提取字段的(grok的方法试了很多没找到可以实现的,也不是网上的代码不对,应该是版本变了以后有些语法不一样了,grok应该是能实现的,大家有兴趣可以自己试试)mutate的代码是移除字段,utldecode是解码(在这也试了好久,没有最新版本指导都靠试呀。。。。)



说明:输出到es中

3.      准备工作都做完了,现在cmd让logstash的通道打开(具体的打开步骤上次发的文档http报文传输到log和es中有),然后将前端放入浏览器发送数据,此时的logstash会显示


然后head插件中会显示


大功告成!!


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值