へのアップグレード後 10.2503.2

注意以前のバージョンから上位バージョンまたは最新バージョンにアップグレードする場合は、 アップグレード後のページに記載されている各中間リリースのアップグレード後の手順を確実に完了してください。 ページにバージョンが表示されていない場合は、そのリリースにはアップグレード後の手順が必要ないことを意味します。

サービ ス・イ メ ージ を 10.2503.2 にア ッ プデー ト し た後、 新機能が正 し く 機能 し、 既存の イ ンデ ッ ク ス が効率的に動作す る よ う に、 ア ッ プグ レー ド 後を完了 さ せます。

インデックス・マッピングの変更をサポートし、新しい監査機能を有効にするには、監査データ・ストリームのバッキング・インデックスを再作成する必要があります。 このポストアップグレードは、更新されたスキーマがすべての履歴監査データに適用されることを保証します。

このタスクについて

Elasticsearch APIリクエストは、以下のいずれかのツールを使って実行できる:
  • Kibana Dev tools: Elasticsearch クラスターに対して直接 API リクエストを実行するための Kibana の組み込みツール。
  • HTTP クライアント:Postmanや のようなツールで、 APIに リクエストを送る。 cURL Elasticsearch HTTP

進行中のオペレーションを中断することなく、更新されたマッピングや設定を監査データストリームに適用するために、このリリースでは2段階のインデックス再作成戦略を採用しています。 このアプローチは、監査データが確実に保存され、新しいスキーマの下でインデックスが再作成され、データの整合性が維持され、ダウンタイムが最小限に抑えられるようにする。

以下の手順は、 Elasticsearch 監査データストリームのバッキングインデックスを再作成する手順を示しています。

手順

  1. audit-logstashサーバのレプリカカウントを0に更新することで、 Elasticsearch 監査インデックスへのデータのロードを停止します。 audit-logstash StatefulSet のレプリカが0にスケールダウンされるまで待つ。 次の例はプロダクション・モードである。
    logstashServers:
      - active: true
        names:
           - logstash
        replicaCount: 0
  2. 新しいデータストリームの名前を選択する。 以下の例では、 audits-ds-00001 が新しいデータストリームに使われる名前である。 このデータストリームの場合、データは以下のクエリに示すように再インデックス化される。 クエリは既存のインデックス、エイリアス、データストリームを返してはならない。

    GET  /_resolve/index/audits-ds-00001
    出力:
    {
     "indices" : [ ],
     "aliases" : [ ],
     "data_streams" : [ ]
    }
  3. ステップ2で与えられたストリーム名を使い、新しいデータストリームを作成する。
    PUT  /_data_stream/audits-ds-00001
  4. 既存のデータストリームのドキュメントカウントを取得する。 Sterling Intelligent Promising が作成する既存のデータ・ストリームの名前は、以下の形式である。 .ds-audits-<date>-000001 形式である。 このカウントは将来の参考のために保存しておく。
    GET audits/_count
  5. ステップ3で作成した新しいデータストリームにデータを再インデックスする。
    POST /_reindex ?wait_for_completion=false
    {
     "source": {
     "index": "audits"
     },
     "dest": {
     "index": "audits-ds-00001",
     "op_type": "create"
     },
     "script": {
     "source": 
    "if (ctx._source.triggeredBy == null) {ctx._source.triggeredBy = 
    'USER'; ctx._source.isRootAction = true}",
     "lang": "painless"
     }
    }
    期待される反応
    {
     "task" : "<task_id>"
    }
  6. 再インデックスが完了したことを確認する。 再インデックスAPIのステップ5で、レスポンスからタスク値を使用し、進捗を追跡する。 レスポンスに "completed" : true が含まれていることを確認する。
    GET _tasks/<task value>
  7. 新しいデータストリームのドキュメントカウントを取得する。 ステップ4で参照として保存したカウントと一致することを確認する。
    GET audits-ds-00001/_count
    
  8. 既存の古いデータストリームを削除する。
    DELETE _data_stream/audits
  9. 手順8で削除した古い名前で、新しいデータストリームを作成する。
    PUT /_data_stream/audits
  10. ステップ9で作成した新しいデータストリームにデータを再インデックスする。
    POST /_reindex ?wait_for_completion=false
    {
     "source": {
     "index": " audits-ds-00001"
     },
     "dest": {
     "index": "audits",
     "op_type": "create"
     }
    }
    
    期待される反応
    {
       "task" : "<task_id>"
    }
  11. インデックスの再作成が完了したことを確認する。 再インデックスAPIのステップ5で、レスポンスからタスク値を使用し、進捗を追跡する。 レスポンスに "completed" : true が含まれていることを確認する。
    GET _tasks/<task value>
  12. audits データストリームのドキュメントカウントを取得し、ステップ4の値と一致することを確認する。
    GET audits/_count
  13. Elasticsearch auditsデータストリームへのデータロードを開始するには、監査Logstashサーバーのレプリカカウントを必要な数に更新し、audit-logstash のレプリカが完全にスケールアップされるまで待ちます。 StatefulSet 次の例はプロダクション・モードである。
    logstashServers:
      - active: true
        names:
           - logstash
        replicaCount: 2
  14. 未使用のデータストリームを削除する。
    DELETE _data_stream/audits-ds-00001