# Dissect Processorのエラーについて

**URL:** <https://discuss.elastic.co/t/dissect-processor/201175>\
**Category:** 日本語による質問・議論はこちら\
**Created:** [September 26, 2019, 7:57am UTC](https://discuss.elastic.co/t/dissect-processor/201175 "2019-09-26T07:57:15Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![harue](https://avatars.discourse-cdn.com/v4/letter/h/82dd89/32.png) [@harue](https://discuss.elastic.co/u/harue)\
**Post date:** [September 26, 2019, 7:57am UTC](https://discuss.elastic.co/t/dissect-processor/201175/1 "2019-09-26T07:57:15Z")

</div>

FileBeatからIngest node Dissect Processorへの連携を行っております。

Input log  
`1286536308.779 180 192.168.0.224 TCP_MISS/200 411 GET http://liveupdate.symantecliveupdate.com/minitri.flg - DIRECT/125.23.216.203 text/plain`

Dissect Processor

```
GET /_ingest/pipeline/squid_dissect
{
  "squid_dissect" : {
    "processors" : [
      {
        "dissect" : {
          "field" : "message",
          "pattern" : "%{timestamp->} %{duration} %{client_address} %{cache_result}/%{status_code} %{bytes} %{request_method} %{url} %{user} %{hierarchy_code}/%{server} %{content_type}"
        }
      }
    ]
  }
}

```

Processorは以下にてインデックス登録できるかテスト済です。

```
POST /squid_dissect/log?pipeline=squid_dissect
{
  "message": "1286536308.779 180 192.168.0.224 TCP_MISS/200 411 GET http://liveupdate.symantecliveupdate.com/minitri.flg - DIRECT/125.23.216.203 text/plain"
}

```

FBにてinputデータを連携すると、Elasticsearch側で以下のエラーが発生します。  
フィールド「server」にてエラーが起こっているようですが、DEBUG logを見ると値が設定されています。

Elasticsearch log

```
[2019-09-26T15:32:58,111][DEBUG][o.e.a.b.TransportShardBulkAction] [filebeat-7.3.1-2019.09.12-000001][0] failed to execute bulk item (index) index {[filebeat-7.3.1][_doc][oJtFbG0BNykX-Og30Tv_], source[{"server":"125.23.216.203","agent":{"hostname":"XXXXXX","id":"XXXXXXX","type":"filebeat","ephemeral_id":"XXXXXXX","version":"7.3.1"},"status_code":"200","log":{"file":{"path":"/var/tmp/filebeat/access17.log"},"offset":0},"request_method":"GET","cloud":{"availability_zone":"XXX","instance":{"name":"XXXXXX","id":"i-0008e282"},"provider":"openstack","machine":{"type":"C-2"}},"duration":"180","ecs":{"version":"1.0.1"},"content_type":"text/plain","host":{"hostname":"XXXXXX","os":{"kernel":"3.10.0-957.27.2.el7.x86_64","codename":"Core","name":"CentOS Linux","family":"redhat","version":"7 (Core)","platform":"centos"},"containerized":false,"name":"XXXXXX","id":"df877a200226bc47d06f26dae0736ec9","architecture":"x86_64"},"cache_result":"TCP_MISS","client_address":"192.168.0.224","timestamp":"1286536308.779","hierarchy_code":"DIRECT","message":"1286536308.779 180 192.168.0.224 TCP_MISS/200 411 GET http://liveupdate.symantecliveupdate.com/minitri.flg - DIRECT/125.23.216.203 text/plain","url":"http://liveupdate.symantecliveupdate.com/minitri.flg","input":{"type":"log"},"@timestamp":"2019-09-26T06:32:59.198Z","bytes":"411","user":"-"}]}
org.elasticsearch.index.mapper.MapperParsingException: object mapping for [server] tried to parse field [server] as object, but found a concrete value
        at org.elasticsearch.index.mapper.DocumentParser.parseObjectOrNested(DocumentParser.java:377) ~[elasticsearch-7.3.2.jar:7.3.2]  

```

etc…

**ご質問**  
**上記エラーの原因が分かる方がいらっしゃいましたら教えてください** 。

---

<div class="post-metadata">

**Author:** ![tsgkdt](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tsgkdt/32/39151_2.png) [@tsgkdt](https://discuss.elastic.co/u/tsgkdt)\
**Post date:** [September 26, 2019, 1:18pm UTC](https://discuss.elastic.co/t/dissect-processor/201175/2 "2019-09-26T13:18:29Z")

</div>

Elasticsearch logで示されているログの以下の2か所に着目しました。

1. 投入しようとしているIndex先は、filebeat-7.3.1であること
2. `tried to parse field [server] as object, but found a concrete value`というエラーがでていること

通常、filebeatが作成するIndexにおけるserverというフィールドはObjectですが、  
Ingest Processorで処理した結果のserverを入れようとしたとき、単なるstringになっていて  
型が違うよとエラーになっているのだと思います。

filebeatの\_mappingを確認いただくと、このようになっているかと思います。

![image](https://us1.discourse-cdn.com/elastic/original/3X/3/f/3f760667714e5013b63034541582c8c90188ec7e.png)

今回、serverはIPアドレスになるようですので、  
server.ipの方にデータを入れていただくのが良いのではないかと思います。

server以下にどんなフィールドが定義されるかは、Elastic Common Schemaをご参照ください。

[https://www.elastic.co/guide/en/ecs/current/ecs-server.html](https://www.elastic.co/guide/en/ecs/current/ecs-server.html)

ご参考になれば幸いです。

---

<div class="post-metadata">

**Author:** ![harue](https://avatars.discourse-cdn.com/v4/letter/h/82dd89/32.png) [@harue](https://discuss.elastic.co/u/harue)\
**Post date:** [September 30, 2019, 4:29am UTC](https://discuss.elastic.co/t/dissect-processor/201175/3 "2019-09-30T04:29:04Z")

</div>

早急に回答頂きありがとうございます。

Index登録を行う際に「Elastic Common Schema」が適用されるのですね。  
学習不足でした。

上記案でエラーは解消されました。大変助かりました。

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [October 28, 2019, 4:29am UTC](https://discuss.elastic.co/t/dissect-processor/201175/4 "2019-10-28T04:29:05Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
