この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 9001|答える: 0

Elasticsearchは自動的にインデックスをクリーンアップしてディスク容量を解放します

[リンクをコピー]
掲載地 2022/03/13 13:22:29 | | | |
Elasticsearchを使ってビジネスシステムのログを保存し、日付ごとに新しいインデックスが生成されます。毎日数百万件のドキュメントが存在します。Elasticsearchインデックスが時間通りにクリーンアップされなければ、ディスク容量が大きくなり、ディスクに大きな負荷がかかり、検索速度も遅くなります。 以前はESのインデックスを手動でクリーニングし、シェルスクリプトを使って定期的にクリーンアップしていましたが、ESはインデックスライフサイクルポリシーを作成して古い過去のインデックスを削除する助けを提供できます。

この記事で使用されているElasticsearchのバージョンは7.10.2です

今日は2022年3月11日で、2022年1月のインデックスとドキュメントは以下の図のように依然として存在しています。



インデックステンプレートを作成する

Kibana管理パネルを開き、「インデックス管理」→>「インデックステンプレート->」をクリックして、以下の名前のインデックステンプレートを作成します。logger-templateインデックスモジュールはマッチングが必要なインデックスを埋め、次のステップへ進みます。下図のように:



注:新しいElasticsearchインデックスを作成する際、テンプレートは自動的にインデックスの基本部分を完成させるためにマッチングされます。 つまり、itsvse-2022-03-13インデックスを作成する際には、logger-templateのバージョンにマッチし、テンプレートで設定されたルールを実行します。過去のインデックス(テンプレートと一致していても)はインデックステンプレートとは関連付けられません!!! この記事では、テンプレートに基づいて作成されていないインデックスは自動的に削除できません

インデックスライフサイクルポリシーの作成

Kibana管理パネルを開き、「インデックスライフサイクルポリシー->」をクリックして、以下の画像のようにポリシーを作成します。



名前を埋める」自動清掃30日ロガー、以下の図に示されているように、ロールアップを有効にするオプションを外してください:



削除フェーズを開くと、以下の画像に示されているように、最大30日前までのインデックスを自動的にクリーンアップできます。



最後に、以下の画像のようにインデックステンプレートにポリシーを追加します:



この時点で、新たに作成されたインデックスは自動的に30日間保存され、30日を超えるインデックスは削除され、過去のインデックスは手動でクリーンアップする必要があります!! 手動でインデックスを削除するには、以下を参照してください:

Elasticsearchはすべてのドキュメントデータを削除し、インデックス化します
https://www.itsvse.com/thread-6321-1-1.html
作成したインデックステンプレートを確認し、最終的にそのインデックスに合致するテンプレートに適用します。 詳細は以下の通りです。

{
  「テンプレート」: {
    「設定」:{
      「インデックス」:{
        「ライフサイクル」: {
          「名前」:「自動清掃30日ロガー」
        }
      }
    },
    「別名」:{},
    「マッピング」:{}
  }
}


例えば、ポリシー設定インターフェースを確認してください:http://192.168.1.182:9200/_ilm/policy/auto-clean-30-days-logger?pretty

{
  「自動クリーン30日ロガー」 : {
    「バージョン」:1、
    「modified_date」:「2022-03-11T06:26:01.972Z」
    「方針」:{
      「フェーズズ」 : {
        「ホット」 : {
          「min_age」 : 「0ms」
          「行動」 : {
            「set_priority」 : {
              「優先度」:100
            }
          }
        },
        「削除」 : {
          「min_age」:「30ペンス」
          「行動」 : {
            「削除」 : {
              「delete_searchable_snapshot」:真
            }
          }
        }
      }
    }
  }
}


ILM(インデックスライフサイクル管理)

新しいインデックスライフサイクルポリシーは、タイムドポーリングによって実行されます。

ILMサービスはバックグラウンドで実行ポリシーをポーリングします:

ILMは4つのライフサイクル段階を定義しています:
ホット:インデックスを積極的に更新・クエリしている。
ウォーム:インデックスの更新は不要ですが、クエリは継続します。
コールド:インデックスの更新はなく、クエリも少なくなっています。 情報は検索可能である必要がありますが、クエリが遅くても問題ありません。
削除:インデックスは不要となり、安全に削除できます。

ILM定期運用(indices.lifecycle.poll_interval)、デフォルトは10分です指数が政策基準を満たしているかを確認し、必要な措置を講じること。
レース状況を避けるために、ILMを複数回実行してすべての手順を実行する必要がある場合があります。 したがって、indices.lifecycle.poll_intervalが10分に設定されていて、インデックスがロールオーバー準拠であっても、ロールオーバー完了に20分かかることがあります。
例えば、10以上の文書をロールオーバーに設定しても、このプロセスがすぐに実装されないため、11番目と12番目の記事は前のインデックスに該当し、新たに作成されたドキュメントはロールオーバーが成功するまで新しいインデックスに該当しない場合があります。

Elasticsearchにおけるインデックスライフサイクル管理設定:ハイパーリンクのログインが見えます。

ILMのステータスを見る



2022年3月13日で、毎日2つのインデックスが自動的に作成されています。すでに作成されたインデックスを見ることができますポリシーは自動的に関連付けられます、下図に示されているように:



(終わり)





先の:Mavenプロジェクトはプロジェクトと依存関係を別々にパッケージ化します
次に:【実践的行動】Dockerを使ってIPsec VPNサーバーを構築する
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com