web-dev-qa-db-ja.com

Kibanaにタイムスタンプが表示されない

私はKibanaを初めて使い、ElasticSearchデータを見るためにインスタンスをセットアップするだけです。

Elastic Searchには1つのインデックスがあり、_timestampを含むいくつかのフィールドがあります。 [検出]タブに移動してドキュメントを見ると、それぞれに_timestampフィールドがありますが、フィールドの横に「このフィールドのキャッシュマッピングはありません」という黄色の警告があります。その結果、時間で並べ替え/フィルタリングすることはできません。

新しいインデックスパターンを作成して[インデックスに時間ベースのイベントが含まれる]をクリックすると、[時間フィールド名]ドロップダウンに何も含まれません。

Kibanaに_timestampフィールドを認識させるために他に必要なことはありますか?

Kibana 4.0を使用しています。

27
HHHH

最初にこれらの簡単な手順を実行する必要があります。

  1. 設定→詳細設定に移動します。
  2. metaFieldsを編集し、「_ timestamp」を追加します。保存してください。
  3. Settings→Indicesおよび_ timestampに戻り、「Time-field name」のドロップダウンリストで使用可能になります。

Kibana 4 Advanced Settings metaFields

55
Nick

私のESバージョンは2.2.0です

適切なスキーマが必要です。 ガイド に従います:例:

 {
        "memory": INT,
        "geo.coordinates": "geo_point"
        "@timestamp": "date"
    }

@timestampがある場合は、 enter image description here

ps:スキーマに「日付」フィールドがない場合は、「インデックスに時間ベースのイベントが含まれている」をチェックしないでください

2
Lincoln

新しいバージョンでは、データを送信する前に日付フィールドを指定する必要があります。

日付フィールドは、エポック(ミリ秒)の後のミリ秒(長い数字)などの標準形式であるか、MrEによって提案されたISO8601の形式である必要があります。詳細はこちらをご覧ください: https://www.elastic.co/guide/en/elasticsearch/reference/current/date.html

繰り返しますが、インデックスにデータを送信する前に、このフィールドのマッピングを指定する必要があります。 Pythonの場合:

import requests
mapping = '{"mappings": {"your_index": {"properties": {"your_timestamp_field": { "type": "date" }}}}}'
requests.put('http://yourserver/your_index', data=mapping)
...
send_data()
2
Anoyz

Kibana 2.0では、受け入れられた回答は廃止されました

データで単純なdateフィールドを使用し、タイムスタンプまたはISO 8601形式の日付文字列を使用して明示的に設定する必要があります。 https://en.wikipedia.org/wiki/ISO_8601

明らかにデータの送信を開始する前に、日付にマッピングを設定する必要もあります。

curl -XPUT 'http://localhost:9200/myindex' -d '{
  "mappings": {
    "my_type": {
      "properties": {
        "date": {
          "type": "date" 
        }
      }
    }
  }
}'
1
MrE

[設定]-> [インデックス]に移動し、インデックスを選択して、黄色の[更新]アイコンをクリックします。これは警告を取り除き、おそらく視覚化でフィールドを利用可能にします。

0
Alain Collins