Kibanaで、ログの記載日時で、表示を絞りたい。

Kibanaで、Apacheログを集計するため、アクセスログの記載日時で、表示を絞りたいです。
Timeの日時で表示を絞ることは出来ますが、しかし、Timeの記載日時は、Elasticsearchへの格納時間のため、
Messge内の日時にずれがあり、ログ記載の日時で、表示を絞れず困っています。

①アクセスログの記載日時で、表示を絞ることは可能でしょうか?
②Kibanaのログ表示のTimeに、収集したログの記載の日時を表示は可能でしょうか?

■目的
KibanaでApacheログを集計するため、アクセスログの記載日時で、表示を絞りたいです。

■kibanaでログ表示までの構成
Apache - Filebeat - Logstash - Elasticsearch - Kibana

■Kibanaでの表示例
time message
November 7th 2019,hh:mm:ss.sss [Web Nov 07 hh:mm:ss.ssssss 2019]
→ここの表示に差分があり、kibanaでログの表示が絞れず、困っています。

Filebeat、Logstash、Kibana等の設定で可能でしょうか?
ご教示お願いします。

1,2ともに可能かと思います。

filebeatにはApacheログを簡単に処理するために、モジュールを提供しています。
https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-apache.html

これを使いますと、Apacheのアクセスログに出力された文字列を解析して、ログ出力日時が@timestampフィールドに格納されるようになります。
上のURLをご確認いただくと良いかと考えます。

おそらく、現在は次のような設定をされているのではないでしょうか?

#=========================== Filebeat inputs =============================

filebeat.inputs:
- type: log

  enabled: true

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    # ↓ Apacheログの場所があると仮定
    - /var/log/apache/*.log

type: logで入れるのではなく、filebeat.modulesのapacheモジュールを使うようにします。

#==========================  Modules configuration =============================
filebeat.modules:

#-------------------------------- Apache Module --------------------------------
- module: apache
  # Access logs
  access:
    enabled: true

    var.paths: 
      - "/var/log/apache/*.log"

このようにしてApacheログを取り込むと、1行の文字列を自動的に意味のあるフィールドにわけて格納されます。
下の方にあります@timestampを見ていただくと、ログの取り込み日時ではなく、ログに書かれていた日時が入っていることが確認できるかと思います。

{
        "_index" : "filebeat-7.4.0-2019.11.08-000001",
        "_type" : "_doc",
        "_id" : "hjX0TG4BTv3Vo1EkY_24",
        "_score" : 1.0,
        "_source" : {
          "agent" : {
            "hostname" : "AIUEO-ABCDE-12345",
            "id" : "960c2c5a-86a3-4120-b024-c9e15164f45b",
            "ephemeral_id" : "4b74d88f-2c6d-4fbc-913b-a553706b5578",
            "type" : "filebeat",
            "version" : "7.4.0"
          },
          "log" : {
            "file" : {
              "path" : """/var/log/apache/apache_logs.log"""
            },
            "offset" : 13001
          },
          "source" : {
            "geo" : {
              "continent_name" : "North America",
              "country_iso_code" : "US",
              "location" : {
                "lon" : -97.822,
                "lat" : 37.751
              }
            },
            "as" : {
              "number" : 15169,
              "organization" : {
                "name" : "Google LLC"
              }
            },
            "address" : "66.249.73.135",
            "ip" : "66.249.73.135"
          },
          "fileset" : {
            "name" : "access"
          },
          "url" : {
            "original" : "/blog/geekery/eventdb-ideas.html"
          },
          "input" : {
            "type" : "log"
          },
          "apache" : {
            "access" : { }
          },
          "@timestamp" : "2015-05-17T10:05:17.000Z",
          "ecs" : {
            "version" : "1.1.0"
          },

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

1 Like

ご教示、ありがとうございます!
大変、詳しくご教示いただきまして
詰まっていたところが解決して、
とても助かりました。

ご対応、ありがとうございました。

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