엘라스틱, 키바나 모니터링을 허용하였을때 간헐적으로 해당 이슈가 발생했다.
[2019-01-31T09:38:02,574][WARN ][o.e.x.m.MonitoringService] [yh-DataNode2] monitoring execution failed
org.elasticsearch.xpack.monitoring.exporter.ExportException: Exception when closing export bulk
at org.elasticsearch.xpack.monitoring.exporter.ExportBulk$1$1.<init>(ExportBulk.java:95) ~[?:?]
at org.elasticsearch.xpack.monitoring.exporter.ExportBulk$1.onFailure(ExportBulk.java:93) ~[?:?]
at org.elasticsearch.xpack.monitoring.exporter.ExportBulk$Compound$1.onResponse(ExportBulk.java:206) ~[?:?]
at org.elasticsearch.xpack.monitoring.exporter.ExportBulk$Compound$1.onResponse(ExportBulk.java:200) ~[?:?]
at org.elasticsearch.xpack.core.common.IteratingActionListener.onResponse(IteratingActionListener.java:115) ~[?:?]
원인을 찾아보니,
https://discuss.elastic.co/t/monitoring-execution-failed/110956
<There are no ingest nodes in this cluster, unable to forward request to an ingest node.>
<do have the ingest role, and thus indexing does not work. Is there any specifi>
Ingest Node가 설정이 되어있지 않아서 생기는 문제 같다고 한다.
https://www.elastic.co/guide/en/elasticsearch/reference/master/ingest.html 를 찾아보니,
elasticsearch.yml 에 node.ingest : false 라고 설정을 해주어야 한다고 한다.
-->
해도 여전히 발생하고 있다.
조사 해보니, 노드를 무작정 종료할 경우 replica나 shard가 이동할 겨를(relocate)도 없이 진행하게 되면
해당 모니터링 데이터를 잃어버려 발생하는것 같다.
해결 방법으로는 일단 RED로 뜨는 모니터링날짜 index를 삭제한다.
그렇게 되면 키바나에서도 예전에 색인했던 결과를 확인하기 어렵다 (어차피 데이터 유실 시점에서 이미 확인은 어려움)
https://github.com/elastic/kibana/issues/22483
https://discuss.elastic.co/t/couldnt-activate-monitoring-in-6-3/136131/1