Kibana dashboards unavailable after an ElasticSearch scale up from 1 to 3 nodes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
StackLight |
Fix Released
|
Medium
|
Simon Pasquier | ||
0.9 |
Won't Fix
|
High
|
guillaume thouvenin |
Bug Description
MOS 8.0 build 589, ElasticSearch from origin/master
Environment:
3 controllers
194 compute (20 of them are also ceph nodes)
1 elasticsearch node
3 influxdb nodes
How to reproduce:
1. Go to Fuel dashboard and add 2 new ElasticSearch nodes.
2. Deploy changes
3. Check status of ElasticSearch
Actual result:
curl node-189:
health status index pri rep docs.count docs.deleted store.size pri.store.size
green open log-2016.03.02 5 0 13575537 0 2.8gb 2.8gb
red open kibana-int 5 2
green open notification-
green open log-2016.03.01 5 0 2432417 0 412mb 412mb
The index kibana-int is "red"
Red status shows failure
LMA reports CRITICAL status for ES cluster
Kibana dashboards are unavailable
Notice: there is no impact for logs and notifications indexation, the cluster works as expected for these data, only kibana index is impacted
Changed in lma-toolchain: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
assignee: | nobody → LMA-Toolchain Fuel Plugins (mos-lma-toolchain) |
tags: | added: elasticsearch |
tags: | added: scale |
description: | updated |
summary: |
- ElasticSearch failed to scale up from 1 to 3 nodes + Kibana dashboards unavailable after an ElasticSearch scale up from 1 to + 3 nodes |
Changed in lma-toolchain: | |
milestone: | 1.0.0 → 0.9.0 |
no longer affects: | lma-toolchain/1.0 |
Changed in lma-toolchain: | |
status: | Confirmed → Won't Fix |
status: | Won't Fix → Fix Committed |
milestone: | 0.9.0 → 0.10.0 |
assignee: | LMA-Toolchain Fuel Plugins (mos-lma-toolchain) → guillaume thouvenin (guillaume-thouvenin) |
Changed in lma-toolchain: | |
status: | Fix Committed → Fix Released |
no longer affects: | lma-toolchain/1.0 |
Changed in lma-toolchain: | |
status: | Fix Committed → Fix Released |
Impact:
=====
Kibana dashboards are not available and the Elasticsearch cluster is 'red' (CRITICAL from POV of LMA)
Analysis:
=======
the cluster health is red due to kibana-int index in bad shape.
curl node-189: 9200/_cluster/ health? pretty of_data_ nodes" : 3, primary_ shards" : 15, shards" : 0, _shards" : 0, shards" : 15, unassigned_ shards" : 0, of_pending_ tasks" : 0, of_in_flight_ fetch" : 0
{
"cluster_name" : "lma",
"status" : "red",
"timed_out" : false,
"number_of_nodes" : 3,
"number_
"active_
"active_shards" : 15,
"relocating_
"initializing
"unassigned_
"delayed_
"number_
"number_
}
All request to the kibana-int index respond with this error:
{"error" :"NoShardAvaila bleActionExcept ion[[kibana- int][2] null]", "status" :503}
The detailed status of this index:
"kibana-int" : { number_ of_shards" : 5, number_ of_replicas" : 2, active_ primary_ shards" : 0, active_ shards" : 0, relocating_ shards" : 0, initializing_ shards" : 0, unassigned_ shards" : 15,
"primary_ active" : false,
"active_ shards" : 0,
"relocating_ shards" : 0,
"initializin g_shards" : 0,
"unassigned_ shards" : 3
"primary_ active" : false,
"active_ shards" : 0,
"relocating_ shards" : 0,
"initializin g_shards" : 0,
"unassigned_ shards" : 3
"primary_ active" : false,
"active_ shards" : 0,
"relocating_ shards" : 0,
"initializin g_shards" : 0,
"unassigned_ shards" : 3
"primary_ active" : false,
"active_ shards" : 0,
"relocating_ shards" : 0,
"initializin g_shards" : 0,
"unassigned_ shards" : 3
"primary_ active" : false,
"active_ shards" : 0,
"relocating_ shards" : 0,
"initializin g_shards" : 0,
"unassigned_ shards" : 3
"status" : "red",
"
"
"
"
"
"
"
"shards" : {
"0" : {
"status" : "red",
},
"1" : {
"status" : "red",
},
"2" : {
"status" : "red",
},
"3" : {
"status" : "red",
},
"4" : {
"status" : "red",
}
}
Workaround
==========
To solve the issue, here the commands to run against the Elasticsearch VIP:
# disable the auto expand setting 0.4:9200/ kibana- int/_settings -d ' replicas" : false } }'
curl -XPUT 192.168.
{ "index": { "auto_expand_
# force the number_of_replicas to zero 0.4:9200/ kibana- int/_settings -d ' of_replicas" : 0 } }'
curl -XPUT 192.168.
{ "index": { "number_
# explicitly increase the number_of_replicas to 2 0.4:9200/ kibana- int/_settings -d ' of_replicas" : 2 } }'
curl -XPUT 192.168.
{ "index": { "number_
Diagnostic
========
the kibana-int index is configured with setting: index.auto_ expand_ replicas = "0-all". /github. com/openstack/ fuel-plugin- elasticsearch- kibana/ blob/stable/ 0.9/deployment_ scripts/ puppet/ modules/ lma_logging_ analytics/ templates/ es_template_ kibana. json.erb# L4
see https:/
This setting configures the number_of_replicas for the index kibana-int dynamically depending of the total number of ES instances within the cluster. This feature h...