GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

elastic

curator – キュレーター:あなたの弾性検索インデックスを利用する

投稿日:

キュレーター:あなたの弾性検索インデックスを利用する

キュレーター

Elasticsearchにインデックスがありますか? これはあなたのためのツールです!

博物館のキュレーターが展示品やコレクションを管理しているように、Elasticsearch Curatorはあなたの指数の管理や管理に役立ちます。

互換性マトリックス

バージョン ES 1.x AWS ES 1.x ES 2.x AWS ES 2.x ES 5.x AWS ES 5.x ES 6.x
3 はい はい* はい はい* いいえ いいえ いいえ
4 いいえ いいえ はい いいえ はい いいえ いいえ
5 いいえ いいえ いいえ いいえ はい はい* いいえ
5.4+ いいえ いいえ いいえ いいえ はい はい* はい

1.4より古いElasticsearchのバージョンで作成されたインデックスでは、キュレーター4が機能しないことに注意することが重要です(その後、インデックスが再作成されていれば動作します)。 これらの古いインデックスには、キューレーター4が必要とする索引メタデータがないためです。 キュレーター4は、そのようなインデックスが実行されないように単純に除外します。次のような警告メッセージが表示されます。

2016-07-31 10:36:17,423 WARNING Index: YOUR_INDEX_NAME has no
"creation_date"! This implies that the index predates Elasticsearch v1.4.
For safety, this index will be removed from the actionable list.

また、キュレーター4は/_cluster/state/metadataエンドポイントへのアクセスが必要であることに注意することも重要です。 このエンドポイントをサポートしていないElasticsearchのフォーク(AWS ES、#717を参照) は、 Curatorバージョン4を使用できません

* AWS ES 、1.x、2.x、5.1、および5.3バージョンのスナップショットステータスエンドポイントへのアクセスを許可していないようです。 これにより、キュレーター3がスナップショットの作成に使用されなくなります。

キュレーター4と5はAWS ES 5.xで動作するはずですが、 /_cluster/state/metadataエンドポイントはまだ完全にはサポートされていません(#880参照)。 将来のパッチがこれを修正するならば、キュレーター4と5はAWS ES 5.xで動作するはずです。

ビルドステータス

ブランチ 状態
マスター
5.x
5.1
5.0
4.x
4.3

PyPI:

キュレーターAPIドキュメント

キュレーターのバージョン5には、APIとラッパー・スクリプト(実際にはエントリー・ポイントとして定義されています)の両方が付属しています。 APIを使用すると、独自のスクリプトを作成して、 キュレーターAPIElasticsearch Python APIを 使用して 、同様の目標を達成することができます。

キュレーターCLIドキュメンテーション

キュレーターCLIドキュメントは、 http://elastic.co/guide/ http://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.htmlのドキュメントリポジトリの一部になりました

入門

インストールガイドコマンドラインの使用方法のガイドを参照してください。

curator --helpを実行すると、使用状況の情報も表示されます。

よくある質問

DistributionNotFoundような問題に遭遇しましたか? その問題のFAQなどを参照してください

ドキュメンテーションとサンプル

CLIのドキュメントは、 http://elastic.co/guidehttp://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.html)のドキュメントリポジトリに含まれています。

GithubのキュレーターWikiは、あなた自身の例とアイデアを追加する場所になりました。

貢献する

  • レポをフォークする
  • あなたのフォークを変更する
  • 変更をカバーするテストを追加する(必要な場合)
  • テストを実行する
  • CLAに署名する
  • プルリクエストを送信してください!

ソースから実行するには、プロジェクトのルートディレクトリにあるrun_curator.pyスクリプトを使用します。

テストの実行

テストスイートを実行するにはpython setup.py testを実行するだけです

コードを変更したり、新しいコードを寄付したり、バグを修正したりするときは、あなたのPRにテストを含めるようにしてください(またはテストなしでマークして、誰かがテストを追加できるようにしてください)。 バグを修正するときは、実際にテストがバグを実際にテストしていることを確認してください。コードが変更されずに失敗し、それらが適用された後に合格する必要があります。

テストでは、ローカルのelasticsearchインスタンスに接続し、それに対する統合テストを実行しようとします。 これにより、そこに保存されているすべてのデータが削除されます。 env変数TEST_ES_SERVERを使用すると、別のインスタンスを指すことができます(たとえば、 ‘otherhost:9203’)。

バイナリ実行可能ファイル

setuptoolscx_Freezeを組み合わせることで、Curatorをバイナリパッケージにコンパイルすることができます。 これらは、実行に必要なすべてのライブラリを含むディレクトリに置かれたバイナリファイルで構成されています。

バイナリパッケージを作成するには、 cx_freeze pythonモジュールを手動でインストールする必要があります。 これはpippython setup.py installで行うこともできますし、プラットフォームに応じてパッケージで行うこともできます。 最近のDebian / Ubuntuプラットフォームでコンパイルするためには、展開されたフォルダ内のsetup.pyファイルにパッチを適用する必要がありました。 このパッチファイルは、このリポジトリのunix_packagesディレクトリにあります。

cx_freezeインストールすると、バイナリパッケージをビルドするのは、 python setup.py build_exeを実行するのと同じくらい簡単です。 Linuxディストリビューションでは、結果はbuildディレクトリのexe.linux-x86_64-${PYVER}というサブディレクトリにあります。$ {PYVER}はPythonの現在のメジャー/マイナーバージョンです(例: 2.7 このディレクトリの名前は必要に応じて変更できます。

setup.pyファイルで定義されているes_repo_mgrなどのその他のエントリポイントもこのディレクトリに表示されます。

このプロセスは、Windows用のバイナリパッケージをビルドする場合と同じです。 すべての依存関係がインストールされたWindowsマシンから実行する必要があります。 Windowsの実行可能ファイルには、 .exe接尾辞が付けられます。 buildのディレクトリの名前はexe.win-amd64-${PYVER}となります。$ {PYVER}はPythonの現在のメジャー/マイナーバージョンです(例: 2.7 このディレクトリの名前は必要に応じて変更できます。

Windowsでは、cx_Freezeを使用して、基本的なMSIインストーラを構築することもできます。 これは、 python setup.py bdist_msiを呼び出すことによって行うことができます。 MSIフィルはdistディレクトリにあり、 elasticsearch-curator-#.#.#-amd64.msiという名前になりますelasticsearch-curator-#.#.#-amd64.msiここで、メジャー、マイナー、パッチのバージョン番号はそれに応じて置き換えられます。 この初歩的なMSIの欠点は、既存のインストールの上にアップデートをインストールできないことです。 新しいバージョンをインストールする前に、古いバージョンをアンインストールする必要があります。

unix_packagesディレクトリには、キュレーターYUMおよびAPTリポジトリーのパッケージを生成するために使用されるbuild_packages.shスクリプトが含まれています。 Vagrantディレクトリには、 build_packages.shスクリプトとともに使用されるbuild_packages.shます。 この方法を自分で使用する場合は、共有フォルダが存在することを確認する必要があります。 /curator_packages/curator_packages後にパッケージが配置される場所です。 /curator_sourceは、そこからbuild_packages.shスクリプトをbuild_packages.shことができるように、キュレーターのソースコードへのパスです。 build_packages.shスクリプトはローカルソースコードを使用せず、GitHubから直接引数として指定されたバージョンを取得します。

バージョン管理

キュレーターのバージョン5は、現在のmasterブランチです。 Elasticsearchの5.xバージョンのみをサポートしています。

起源

キュレーターは最初にclearESindices.py [1]と呼ばれ、すぐにlogstash_index_cleaner.py [1]に名前が変更されlogstash_index_cleaner.py しばらくすると、[logstash]( https://github.com/elastic/logstash )リポジトリの下でexpire_logsとしてexpire_logsexpire_logs その後、Jordan SisselはElasticsearchに雇われました。このツールの元の作者もそうでした。 その後Elasticsearch Curatorになり、現在は< https://github.com/elastic/curator >でホストされています。

[1] < https://logstash.jira.com/browse/LOGSTASH-211 >







-elastic

執筆者: