To prevent this on every puppet run:
(warning): Variable access via 'es_template_config' is deprecated. Use
'@es_template_config' instead.
template[/etc/puppet/modules/elasticsearch/templates/elasticsearch.yml.erb]:33
Change-Id: Ie6c685d0748ce26c2bd2d227ce3b4e0578a95018
Add support for index.routing.allocation.total_shards_per_node in the
elasticsearch.yml.erb template. This value sets the total number of
shards across all indices to store on any single node. A value of -1
specifies unlimited shards.
Change-Id: I8a7472fb8daf97015d47ab33476b78779e762dbe
The network publish host value defaults to the ip address of the
first non-loopback interface, but this is not always an appropriate
value.
In some cases this value may need to be set to something other than
the ip address of the local interface, such as when connections should
be made to a floating ip address.
Change-Id: I9ace9bc80607e8d60478e869ef13feea8c49e10a
The indices.breaker.fielddata.limit config option specifies how much of
the heap can be used before breaking out and failing to prevent OOMing.
By default this is set to 60% of heap which may be too conservative if
you have larger datasets.
Change-Id: I46c0cb5157aae40a0029ff1b425ecc663d171768
With newer ES we need to set CORS controls properly because it seems to
care about that now. This change allows you to enable the use of CORS
and specify which origins are allowed.
By default ES doesn't allow any cross origin requests so you have to
explicitly enable it with these options if you want to allow it.
Change-Id: I0aa8d5167c770c1024b7596da582d6cc089b1b47
This is useful if you want to run multiple clusters, or if you just want
to change the default value to something custom.
Change-Id: Id1731a209b43057090852a3bc484f61529717bd3
The shard count and replica count are some of the primary ways to tune
an elasticsearch cluster and should be tunable through this template.
Change-Id: Id6dd65ed3ca75e464f294774282eb36f6c001c67
Set up small non master non data elasticsearch daemons on logstash
workers to act as local load balancers for the elasticsearch http
protocol.
Change-Id: Ie3729f851ebef3331a6b69f718e57d663209bfc2
Non instance variable representation is deprecated
so needs to be changed. This change changes varibles
to their instance variable representation.
See more details see:
http://docs.puppetlabs.com/guides/templating.html
Change-Id: Ib77827e01011ef6c0380c9ec7a9d147eafd8ce2f
wiki.o.o is much smaller than our typical elasticsearch nodes. For it to
use elasticsearch it needs to allocate a much smaller heap. Make the
heap size configurable (keep the 16g default) and set the heap size to
1g for wiki.o.o.
Change-Id: I0c5fb4865eb07c0fa5bbe4cf698a9f0e9ea9f2fc
* manifests/site.pp: Put elasticsearch nodes in a list variable that is
reused.
* modules/logstash/templates/elasticsearch.yml.erb: Update cluster
settings to be more appropriate for the larger cluster size, including
changing the minimum number of master eligible nodes that must be seen
before becoming operational in a cluster. Should help prevent split
brained clusters.
* modules/openstack_project/manifests/cacti.pp: Add new node to cacti
node list.
Change-Id: I9a18422aa56a56b9ad030892a312772d9b6b2a79
* modules/logstash/templates/elasticsearch.yml.erb:
Give 33% of memory to indexing instead of 40%.
* modules/logstash/files/es-logstash-template.json:
Flush the translog every 50k operations instead of the default 5k
(we can do 5k ops every second or two so the flushing was happening too
often). Limit the total number of shards per index per node to 3. We
have 5 nodes and 10 shards per index, 5*3 > 10 so we should be fine.
Set the field cache to soft type so that its entries can be garbage
collected in memory constricted situations.
* modules/logstash/manifests/elasticsearch.pp:
Apply es-logstash-template.json to the elasticsearch servers.
Change-Id: I2337fc41998fd00e090b0acfd29f007dfb6ec8df
* manifests/site.pp: List the two new elasticsearch nodes in the
appropriate lists.
* modules/logstash/manifests/elasticsearch.pp: Do not restart
elasticsearch when config files change. Service restarts are costly and
should be manually performed when necessary. Otherwise puppet should
simply update the config files.
* modules/logstash/templates/elasticsearch.yml.erb: Update elasticsearch
config with new cluster topology. Increase memory available for
indexing.
* modules/openstack_project/manifests/cacti.pp: Add new nodes to cacti
monitoring list.
Adding two more elasticsearch nodes to relieve memory pressure (more
nodes means fewer indexes per nodes which requires less memory to
manage). And two more nodes gives us more disk to retain older indexes
in. These new nodes should allow us to retain at least 3 weeks of
indexed logs.
Change-Id: I3a5a02311e939c8147e401110c7b96d085eb8274
Reviewed-on: https://review.openstack.org/36305
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
Use mutliple discover nodes to determine elasticsearch cluster
membership. Put a timeout on recovery starting instead of the default
to recovery immediately. Describe cluster topology in elasticsearch yaml
config so that it can make smarter decisions. Round robin kibana
requests across each discover node.
Change-Id: I08ef9dd158ddf6a6ce01dfb2050626f543d45b10
Reviewed-on: https://review.openstack.org/34106
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
We need to expand our elasticsearch install base. Update puppet to make
this possible.
Change-Id: Id0dae839b12ebf47715cf40a363832e0f661a94f
Reviewed-on: https://review.openstack.org/33910
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins