ログデータストリーム

ログデータストリームとlogsdbインデックスモードは技術プレビュー中であり、将来的に変更または削除される可能性があります。生産環境でログデータストリームやlogsdbインデックスモードを使用しないでください。

ログデータストリームは、ログデータをより効率的に保存するデータストリームタイプです。

ベンチマークでは、ログデータがログデータストリームに保存されると、通常のデータストリームの約2.5倍少ないディスクスペースを使用しました。正確な影響はデータセットによって異なります。

ログデータストリームでは、以下の機能が有効になっています:

  • 合成ソースは、_sourceフィールドの保存を省略します。ドキュメントソースが要求されると、取得時にドキュメントフィールドから合成されます。
  • インデックスソート。これにより、ストレージフットプリントが小さくなります。デフォルトでは、インデックスはインデックス時にhost.nameおよび@timestampフィールドでソートされます。
  • doc_valuesが有効なフィールドに対して、よりスペース効率の良い圧縮。

ログデータストリームの作成

ログデータストリームを作成するには、インデックステンプレートindex.modelogsdbに設定します:

Python

  1. resp = client.indices.put_index_template(
  2. name="my-index-template",
  3. index_patterns=[
  4. "logs-*"
  5. ],
  6. data_stream={},
  7. template={
  8. "settings": {
  9. "index.mode": "logsdb"
  10. }
  11. },
  12. priority=101,
  13. )
  14. print(resp)

Js

  1. const response = await client.indices.putIndexTemplate({
  2. name: "my-index-template",
  3. index_patterns: ["logs-*"],
  4. data_stream: {},
  5. template: {
  6. settings: {
  7. "index.mode": "logsdb",
  8. },
  9. },
  10. priority: 101,
  11. });
  12. console.log(response);

コンソール

  1. PUT _index_template/my-index-template
  2. {
  3. "index_patterns": ["logs-*"],
  4. "data_stream": { },
  5. "template": {
  6. "settings": {
  7. "index.mode": "logsdb"
  8. }
  9. },
  10. "priority": 101
  11. }
インデックスモードの設定。
インデックステンプレートの優先度。デフォルトでは、Elasticsearchは優先度100のlogs-*-*パターンを持つインデックステンプレートを提供します。このインデックステンプレートがlogs-*-*パターンのデフォルトインデックステンプレートよりも選択されるようにするには、100より高い優先度を定義する必要があります。詳細については、インデックスパターンの衝突を避けるセクションを参照してください。

インデックステンプレートが作成された後、そのテンプレートを使用する新しいインデックスはログデータストリームとして構成されます。データのインデックスを開始し、データストリームを使用することができます。