X-Git-Url: https://gerrit.mcp.mirantis.com/gitweb?p=salt-formulas%2Felasticsearch.git;a=blobdiff_plain;f=README.rst;h=a117a0b6bae155a221f075aa3f7a6d37f2a151a5;hp=90df9bef21cef8023a5872e94b3f86c8551eaefd;hb=2128e9f0110301bfafb2bc72d4c2494f507a3262;hpb=dd881a6cf00c4b5c76ed2e1db27924c43930abd7;ds=sidebyside diff --git a/README.rst b/README.rst index 90df9be..a117a0b 100644 --- a/README.rst +++ b/README.rst @@ -8,15 +8,198 @@ Elasticsearch provides a distributed, multitenant-capable full-text search engin Sample pillars ============== +Single-node elasticsearch with clustering disabled: + +.. code-block:: yaml + + elasticsearch: + server: + enabled: true + bind: + address: 0.0.0.0 + port: 9200 + cluster: + multicast: false + index: + shards: 1 + replicas: 0 + +Setup shared repository for snapshots: + +.. code-block:: bash + + elasticsearch: + server: + snapshot: + reponame: + path: /var/lib/glusterfs/repo + compress: true + +Cluster with manually defined members: + .. code-block:: yaml elasticsearch: server: enabled: true - version: 1.0.1 bind: address: 0.0.0.0 port: 9200 + cluster: + multicast: false + members: + - host: elastic01 + port: 9300 + - host: elastic02 + port: 9300 + - host: elastic03 + port: 9300 + index: + shards: 5 + replicas: 1 + +Common definition for curator: + +.. code-block:: yaml + + elasticsearch: + server: + curator: + timeout: 900 + logfile: /var/log/elasticsearch/curator.log + logformat: json + master_only: true + actions: + - action: delete_indices + description: >- + Delete indices older than 45 days (based on index name). + Ignore the error if the filter does not result in an actionable + list of indices (ignore_empty_list) and exit cleanly. + options: + ignore_empty_list: True + continue_if_exception: False + disable_action: False + filters: + - filtertype: pattern + kind: regex + value: '.*\-\d\d\d\d\.\d\d\.\d\d$' + - filtertype: age + source: name + direction: older + timestring: '%Y.%m.%d' + unit: days + unit_count: 90 + - action: replicas + description: >- + Reduce the replica count to 0 for indices older than 30 days + (based on index creation_date) + options: + count: 0 + wait_for_completion: False + continue_if_exception: False + disable_action: False + filters: + - filtertype: pattern + kind: regex + value: '.*\-\d\d\d\d\.\d\d\.\d\d$' + - filtertype: age + source: creation_date + direction: older + unit: days + unit_count: 30 + - action: forcemerge + description: >- + forceMerge indices older than 2 days (based on index + creation_date) to 2 segments per shard. Delay 120 seconds + between each forceMerge operation to allow the cluster to + quiesce. + This action will ignore indices already forceMerged to the same + or fewer number of segments per shard, so the 'forcemerged' + filter is unneeded. + options: + max_num_segments: 2 + delay: 120 + continue_if_exception: False + disable_action: True + filters: + - filtertype: pattern + kind: regex + value: '.*\-\d\d\d\d\.\d\d\.\d\d$' + - filtertype: age + source: creation_date + direction: older + unit: days + unit_count: 2 + +Client setup +------------ + +Client with host and port: + +.. code-block:: yaml + + elasticsearch: + client: + enabled: true + server: + host: elasticsearch.host + port: 9200 + +Client where you download an index template that is stored in the directory +*files/*: + +.. code-block:: yaml + + elasticsearch: + client: + enabled: true + server: + host: elasticsearch.host + port: 9200 + index: + my_index: + enabled: true + template: elasticsearch/files/my_index_template.json + +Client where you download an index template from the metadata definition and force index creation: + +.. code-block:: yaml + + elasticsearch: + client: + enabled: true + server: + host: elasticsearch.host + port: 9200 + index: + my_index: + enabled: true + force_operation: true + definition: + template: notifications + settings: + number_of_shards: 5 + number_of_replicas: 1 + mappings: + notification: + properties: + applicationId: + type: long + content: + type: text + fields: + keyword: + type: keyword + ignore_above: 256 + +Upgrade operations +------------------ + +Default elasticsearch client state can only create index temlates. To update exisiting ones according to pillar dedicated state should be run explicitly: + +.. code-block:: bash + + salt -C 'I@elasticsearch:client' state.sls elasticsearch.client.update_index_templates Read more ========= @@ -26,3 +209,36 @@ Read more * http://alex.nederlof.com/blog/2012/11/19/installing-elasticsearch-with-jenkins-on-ubuntu/ * http://websightdesigns.com/wiki/Setting_up_Centralized_Event_Parsing_on_Ubuntu_12.04 * https://gist.github.com/wingdspur/2026107 + +Documentation and Bugs +====================== + +To learn how to install and update salt-formulas, consult the documentation +available online at: + + http://salt-formulas.readthedocs.io/ + +In the unfortunate event that bugs are discovered, they should be reported to +the appropriate issue tracker. Use Github issue tracker for specific salt +formula: + + https://github.com/salt-formulas/salt-formula-elasticsearch/issues + +For feature requests, bug reports or blueprints affecting entire ecosystem, +use Launchpad salt-formulas project: + + https://launchpad.net/salt-formulas + +You can also join salt-formulas-users team and subscribe to mailing list: + + https://launchpad.net/~salt-formulas-users + +Developers wishing to work on the salt-formulas projects should always base +their work on master branch and submit pull request against specific formula. + + https://github.com/salt-formulas/salt-formula-elasticsearch + +Any questions or feedback is always welcome so feel free to join our IRC +channel: + + #salt-formulas @ irc.freenode.net