Elasticsearch映射模板

时间:2018-02-16 18:29:31

标签: elasticsearch logstash

ELK Stack版本6.2.1

我正在按照本教程尝试将tshark捕获发送给ELK。

https://www.elastic.co/blog/analyzing-network-packets-with-wireshark-elasticsearch-and-kibana

由于tshark将所有字段捕获为文本,因此我尝试在elasticsearch中创建映射,以确保数字字段被索引为整数,文本作为字符串等...

因此我需要创建一个弹性搜索映射,但我对这是什么感到困惑。这是否意味着创建一个如下所示的索引模板

packets-index_pattern.json,带有以下条目

PUT _template/packets
{
  "template": "packets-*",
  "mappings": {
    "pcap_file": {
      "dynamic": "false",
      "properties": {
        "timestamp": {
          "type": "date"
        },
        "layers": {
          "properties": {
            "frame": {
              "properties": {
                "frame_frame_len": {
                  "type": "long"
                },
                "frame_frame_protocols": {
                  "type": "keyword"
                }
              }
            },
            "ip": {
              "properties": {
                "ip_ip_src": {
                  "type": "ip"
                },
                "ip_ip_dst": {
                  "type": "ip"
                }
              }
            },
            "udp": {
              "properties": {
                "udp_udp_srcport": {
                  "type": "integer"
                },
                "udp_udp_dstport": {
                  "type": "integer"
                }
              }
            }
          }
        }
      }
    }
  }
}

到目前为止,我已经创建了一个名为packets-index_pattern.json的文件,并尝试使用下面的内容将其上传到Elasticsearch,但是我收到错误说状态400卷曲:(6)无法解析主机:Content-Type

curl -XPUT 'localhost:9200/_template/packets-?pretty' -H 'Content-Type: application/json'

接受任何帮助glady

2 个答案:

答案 0 :(得分:0)

您在json之前插入的标题:

PUT _template/packets

用于指定动词(GET,POST,PUT或DELETE)和请求的端点的kibana表示法。

如果您使用curl,则必须将其从packets-index_pattern.json文件中删除。

答案 1 :(得分:0)

TShark现在支持-G elastic-mapping选项。 https://www.wireshark.org/docs/relnotes/wireshark-3.0.0.html