注意以前のバージョンから上位バージョンまたは最新バージョンにアップグレードする場合は、
アップグレード後のページに記載されている各中間リリースのアップグレード後の手順を確実に完了してください。 ページにバージョンが表示されていない場合は、そのリリースにはアップグレード後の手順が必要ないことを意味します。
サービ ス・イ メ ージ を 10.2503.2 にア ッ プデー ト し た後、 新機能が正 し く 機能 し、 既存の イ ンデ ッ ク ス が効率的に動作す る よ う に、 ア ッ プグ レー ド 後を完了 さ せます。
インデックス・マッピングの変更をサポートし、新しい監査機能を有効にするには、監査データ・ストリームのバッキング・インデックスを再作成する必要があります。 このポストアップグレードは、更新されたスキーマがすべての履歴監査データに適用されることを保証します。
このタスクについて
Elasticsearch APIリクエストは、以下のいずれかのツールを使って実行できる:
- Kibana Dev tools: Elasticsearch クラスターに対して直接 API リクエストを実行するための Kibana の組み込みツール。
- HTTP クライアント:Postmanや のようなツールで、 APIに リクエストを送る。 cURL Elasticsearch HTTP
進行中のオペレーションを中断することなく、更新されたマッピングや設定を監査データストリームに適用するために、このリリースでは2段階のインデックス再作成戦略を採用しています。 このアプローチは、監査データが確実に保存され、新しいスキーマの下でインデックスが再作成され、データの整合性が維持され、ダウンタイムが最小限に抑えられるようにする。
以下の手順は、 Elasticsearch 監査データストリームのバッキングインデックスを再作成する手順を示しています。
手順
- audit-logstashサーバのレプリカカウントを0に更新することで、 Elasticsearch 監査インデックスへのデータのロードを停止します。 audit-logstash StatefulSet のレプリカが0にスケールダウンされるまで待つ。 次の例はプロダクション・モードである。
logstashServers:
- active: true
names:
- logstash
replicaCount: 0
- 新しいデータストリームの名前を選択する。 以下の例では、 audits-ds-00001 が新しいデータストリームに使われる名前である。 このデータストリームの場合、データは以下のクエリに示すように再インデックス化される。 クエリは既存のインデックス、エイリアス、データストリームを返してはならない。
GET /_resolve/index/audits-ds-00001
出力:
{
"indices" : [ ],
"aliases" : [ ],
"data_streams" : [ ]
}
- ステップ2で与えられたストリーム名を使い、新しいデータストリームを作成する。
PUT /_data_stream/audits-ds-00001
- 既存のデータストリームのドキュメントカウントを取得する。 Sterling Intelligent
Promising が作成する既存のデータ・ストリームの名前は、以下の形式である。 .ds-audits-<date>-000001 形式である。 このカウントは将来の参考のために保存しておく。
- ステップ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"
}
}
期待される反応
- 再インデックスが完了したことを確認する。 再インデックスAPIのステップ5で、レスポンスからタスク値を使用し、進捗を追跡する。 レスポンスに
"completed" :
true が含まれていることを確認する。
- 新しいデータストリームのドキュメントカウントを取得する。 ステップ4で参照として保存したカウントと一致することを確認する。
GET audits-ds-00001/_count
- 既存の古いデータストリームを削除する。
DELETE _data_stream/audits
- 手順8で削除した古い名前で、新しいデータストリームを作成する。
- ステップ9で作成した新しいデータストリームにデータを再インデックスする。
POST /_reindex ?wait_for_completion=false
{
"source": {
"index": " audits-ds-00001"
},
"dest": {
"index": "audits",
"op_type": "create"
}
}
期待される反応
{
"task" : "<task_id>"
}
- インデックスの再作成が完了したことを確認する。 再インデックスAPIのステップ5で、レスポンスからタスク値を使用し、進捗を追跡する。 レスポンスに
"completed" :
true が含まれていることを確認する。
-
audits データストリームのドキュメントカウントを取得し、ステップ4の値と一致することを確認する。
- Elasticsearch auditsデータストリームへのデータロードを開始するには、監査Logstashサーバーのレプリカカウントを必要な数に更新し、audit-logstash のレプリカが完全にスケールアップされるまで待ちます。 StatefulSet 次の例はプロダクション・モードである。
logstashServers:
- active: true
names:
- logstash
replicaCount: 2
- 未使用のデータストリームを削除する。
DELETE _data_stream/audits-ds-00001