Elasticsearch provides a distributed, multitenant-capable full-text search engine with a HTTP web interface and schema-free JSON documents.
Single-node elasticsearch with clustering disabled:
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:
elasticsearch:
server:
snapshot:
reponame:
path: /var/lib/glusterfs/repo
compress: true
Cluster with manually defined members:
elasticsearch:
server:
enabled: true
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:
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 with host and port:
elasticsearch:
client:
enabled: true
server:
host: elasticsearch.host
port: 9200
Client where you download an index template that is stored in the directory files/:
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:
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
Default elasticsearch client state can only create index temlates. To update exisiting ones according to pillar dedicated state should be run explicitly:
salt -C 'I@elasticsearch:client' state.sls elasticsearch.client.update_index_templates
- https://www.elastic.co/
- 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
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