Curator: Tending your Elasticsearch indices
Have indices in Elasticsearch? This is the tool for you!
Like a museum curator manages the exhibits and collections on display, Elasticsearch Curator helps you curate, or manage your indices.
+--------+----------+ | Branch | Status | +========+==========+ | Master | |master| | +--------+----------+ | 5.x | |5_x| | +--------+----------+
.. |master| image:: https://travis-ci.org/elastic/curator.svg?branch=master :target: https://travis-ci.org/elastic/curator .. |5x| image:: https://travis-ci.org/elastic/curator.svg?branch=5.x :target: https://travis-ci.org/elastic/curator .. |pypipkg| image:: https://badge.fury.io/py/elasticsearch-curator.svg :target: https://badge.fury.io/py/elasticsearch-curator
Curator API Documentation_
Curator ships with both an API and a wrapper script (which is actually defined as an entry point). The API allows you to write your own scripts to accomplish similar goals, or even new and different things with the
Curator API, and the
Elasticsearch Python API.
.. _Curator API: http://curator.readthedocs.io/
.. Curator API Documentation:
.. _Elasticsearch Python API: http://elasticsearch-py.readthedocs.io/
Curator CLI Documentation_
Curator CLI Documentation_ is now a part of the document repository at http://elastic.co/guide at http://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.html
.. _Curator CLI Documentation: http://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.html
.. _Getting Started: https://www.elastic.co/guide/en/elasticsearch/client/curator/current/about.html
Installation guide_ and the
command-line usage guide_
curator --helpwill also show usage information.
To run from source, use the
run_curator.pyscript in the root directory of the project.
To run the test suite just run
python setup.py test
When changing code, contributing new code or fixing a bug please make sure you include tests in your PR (or mark it as without tests so that someone else can pick it up to add the tests). When fixing a bug please make sure the test actually tests the bug - it should fail without the code changes and pass after they're applied (it can still be one commit of course).
The tests will try to connect to your local elasticsearch instance and run integration tests against it. This will delete all the data stored there! You can use the env variable
TEST_ES_SERVERto point to a different instance (for example, 'otherhost:9203').
Curator was first called
clearESindices.py and was almost immediately renamed to
logstash_index_cleaner.py. After a time it was migrated under the logstash repository as
expire_logs. Soon thereafter, Jordan Sissel was hired by Elasticsearch, as was the original author of this tool. It became Elasticsearch Curator after that and is now hosted at https://github.com/elastic/curator