Kibana: Kibanaは、ESの高ディスクウォーターマークを超え、後で制限を下回った場合にのみ読み取りを維持します

作成日 2017年08月24日  ·  22コメント  ·  ソース: elastic/kibana

Kibanaバージョン:6.0.0-beta1

Elasticsearchバージョン:6.0.0-beta1

サーバーOSバージョン:Ubuntu 16.04.2 LTS

ブラウザバージョン:Chrome 60.0.3112.90

ブラウザOSバージョン:Windows 10

オリジナルのインストール方法(例:ダウンロードページ、yum、ソースからなど) :公式のtar.gzパッケージ

予想される動作と実際の動作を含む問題の説明

単一ノードのElasticsearchインスタンス、logstashとKibanaを実行しています。 すべてが同じホスト上で別々のDockerコンテナーで実行されます。

ESホストでディスクの上限ウォーターマークを超えると、elasticsearchログに次のログが記録されます。

[2017-08-24T07:45:11,757][INFO ][o.e.c.r.a.DiskThresholdMonitor] [CSOifAr] rerouting shards: [high disk watermark exceeded on one or more nodes]
[2017-08-24T07:45:41,760][WARN ][o.e.c.r.a.DiskThresholdMonitor] [CSOifAr] flood stage disk watermark [95%] exceeded on [CSOifArqQK-7PBZM_keNoA][CSOifAr][/data/elasticsearch/nodes/0] free: 693.8mb[2.1%], all indice
s on this node will marked read-only

これが発生した場合、インデックスに書き込むことができないため、 .kibanaインデックスへの変更はもちろん失敗します。 これは、_Management _-> _ Advanced Settings_で設定を変更しようとすると、つまり_ search:queryLanguage_への変更がメッセージConfig: Error 403 Forbidden: blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];失敗する場合に確認できます。

index_read_only

より多くのディスクスペースが使用可能になると、ESはノードが最高水準点を下回ったことをログに記録します。

[2017-08-24T07:47:11,774][INFO ][o.e.c.r.a.DiskThresholdMonitor] [CSOifAr] rerouting shards: [one or more nodes has gone under the high or low watermark]

Kibanaの設定を変更することは可能であると想定されますが、設定を変更しようとすると、エラーメッセージが表示されて失敗します。

Config: Error 403 Forbidden: blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];

再現する手順

  1. 設定変更がエラーなしで実行できることを確認してください
  2. 最高ディスクウォーターマークを超えるようにelasticsearchデータディスクをいっぱいにします(私はfallocate -l9G largefile
  3. ESログで、ディスクの最高水準点を超え、インデックスが読み取り専用としてマークされていることを確認します。
  4. 設定変更を行い、書き込み禁止のため失敗することを確認してください
  5. 高ディスクウォーターマーク状態を解決します( rm largefile
  6. ESログに、ノードがディスクの最高水準点を下回ったことが示されていることを確認します(したがって、書き込みが可能である必要がありますか?)
  7. 設定変更を行うと、実際に成功するはずなのに失敗します。
Pioneer Program Operations

最も参考になるコメント

私はちょうどこれに見舞われました。 Kibanaだけでなく、ディスクのしきい値に達するとすべてのインデックスがロックされ、スペースが解放されるとロックが解除されることはありません。

すべてのインデックスを手動でロック解除するには:

curl -XPUT -H "Content-Type: application/json" https://[YOUR_ELASTICSEARCH_ENDPOINT]:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'

全てのコメント22件

では、どうすればこれから回復できますか? .kibanaは、私が何をしても読み取り専用のままです。 スナップショットを作成し、削除して、スナップショットから復元しようとしましたが、まだ読み取り専用です...

私はちょうどテストマシンでこれに遭遇しました。 私の人生の間、私はクラスターにデータを入れ続けることができません。 私はついに関連するすべての指標を吹き飛ばさなければなりませんでした。

.kibanaインデックスを削除して問題を解決しました:
/.kibana/を削除します
特定の構成/視覚化/ダッシュボードを失いましたが、ロックが解除されました。

私はちょうどこれに見舞われました。 Kibanaだけでなく、ディスクのしきい値に達するとすべてのインデックスがロックされ、スペースが解放されるとロックが解除されることはありません。

すべてのインデックスを手動でロック解除するには:

curl -XPUT -H "Content-Type: application/json" https://[YOUR_ELASTICSEARCH_ENDPOINT]:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'

@xoseに感謝し

この問題は、 .kibanaだけでなく、すべてのインデックスで発生しました。

ESログによると、elasticsearchホストのディスク容量が少ないため、インデックスは読み取り専用に設定されていました。 Elasticsearch、Kibana、Logstashを他のツールと一緒にドッキングして単一のホストを実行します。 この問題は他のインデックスに影響を与えるため、これはElasticsearchの問題であり、Kibanaで見られる問題は別の問題の症状であると考えられます。

このバグはばかげています。 今のところアンブレイクできますか? 少なくとも、警告を表示し、考えられる解決策をリストする必要があります。 jsエラーログを調べてこのスレッドを見つけるのは本当にばかげています!

@saberkun @xoseが投稿したコマンドに従って、ブレークを解除できます。

curl -XPUT -H "Content-Type: application/json" https://[YOUR_ELASTICSEARCH_ENDPOINT]:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'

はい、しました。

23:12アーロンC.デBruynの日、2017年11月26日には[email protected]
書きました:

@saberkunhttps //github.com/saberkun次の手順で解除できます
コマンド@xosehttps ://github.com/xose投稿:

curl -XPUT -H "Content-Type:application / json" https:// [YOUR_ELASTICSEARCH_ENDPOINT]:9200 / _all / _settings -d '{"index.blocks.read_only_allow_delete":null}'


あなたが言及されたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/elastic/kibana/issues/13685#issuecomment-347074533
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/AEpb5RJrhqJ8fK9wxGtNvTZtomMtlqzZks5s6jbBgaJpZM4PBHOW

追加情報を提供できますか? コマンドの実行中にエラーが発生しましたか? インデックスのロックが解除され、新しいエラーメッセージが表示されますか? 現在、ログファイルにどのようなエラーメッセージが表示されていますか?

ありがとう。 コマンドで修正します。 はい、私はそれを修正するために使用しました
問題

23:19アーロンC.デBruynの日、2017年11月26日には[email protected]
書きました:

追加情報を提供できますか? エラーが発生しましたか
コマンドを実行しますか? インデックスのロックが解除されましたか?今、あなたは新しいものを手に入れています
エラーメッセージ? 現在、ログファイルにどのようなエラーメッセージが表示されていますか?


あなたが言及されたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/elastic/kibana/issues/13685#issuecomment-347075205
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/AEpb5Xn5uJBlzvAyXkAjRPom-OiwJ43Gks5s6jg0gaJpZM4PBHOW

+1
5.5から6.0にアップグレードした後にこのエラーを受け取る

+1

ELK 6、ドライブの半分をクリアしたまま読み取り専用、logstashは再度書き込み可能、​​kibanaは読み取り専用のまま

@xoseによって提供される回避策で問題を解決することが

+1、私にとっても同じエラー。

私にとっても同じ問題です。 @xoseによって与えられた解決策によって解決されました。

こっちも一緒。 すべて@xoseを歓迎します。

シングルノードクラスターを6.0.0から6.1.1(ESとKibanaの両方)にアップグレードしました。 サービスのバックアップを開始したとき、Kibanaは次のように投げていました。

blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];

前回と同じです。 .kibanaインデックスを削除して、元に戻す必要がありました。 シャードの1つが未割り当てとしてリストされている現在のlogstashインデックスもありました。 私もそれを削除してから、通常のアラートが殺到しました。

スペースが不足することはありませんでした。このテストマシンには、120GBの空き容量のうち約92GBがあります。 保存場所はZFSであり、スクラブによってデータの破損は明らかになりませんでした。

ログ内の唯一のエラーは無関係のようです。

[2018-01-13T20:48:14,579][INFO ][o.e.n.Node               ] [ripley1] stopping ...
[2018-01-13T20:48:14,597][ERROR][i.n.u.c.D.rejectedExecution] Failed to submit a listener notification task. Event loop shut down?
java.util.concurrent.RejectedExecutionException: event executor terminated
        at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:821) ~[netty-common-4.1.13.Final.jar:4.1.13.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:327) ~[netty-common-4.1.13.Final.jar:4.1.13.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:320) ~[netty-common-4.1.13.Final.jar:4.1.13.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:746) ~[netty-common-4.1.13.Final.jar:4.1.13.Final]
        at io.netty.util.concurrent.DefaultPromise.safeExecute(DefaultPromise.java:760) [netty-common-4.1.13.Final.jar:4.1.13.Final]
        at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:428) [netty-common-4.1.13.Final.jar:4.1.13.Final]
        at io.netty.util.concurrent.DefaultPromise.setFailure(DefaultPromise.java:113) [netty-common-4.1.13.Final.jar:4.1.13.Final]
        at io.netty.channel.DefaultChannelPromise.setFailure(DefaultChannelPromise.java:87) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
        at io.netty.channel.AbstractChannelHandlerContext.safeExecute(AbstractChannelHandlerContext.java:1010) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:825) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
        at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:794) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
        at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1027) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
        at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:301) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
        at org.elasticsearch.http.netty4.Netty4HttpChannel.sendResponse(Netty4HttpChannel.java:146) [transport-netty4-6.0.0.jar:6.0.0]
        at org.elasticsearch.rest.RestController$ResourceHandlingHttpChannel.sendResponse(RestController.java:491) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.rest.action.RestResponseListener.processResponse(RestResponseListener.java:37) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.rest.action.RestActionListener.onResponse(RestActionListener.java:47) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:85) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:81) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:380) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onFailure(TransportBulkAction.java:375) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.action.support.TransportAction$1.onFailure(TransportAction.java:91) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.finishAsFailed(TransportReplicationAction.java:908) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase$2.onClusterServiceClose(TransportReplicationAction.java:891) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.cluster.ClusterStateObserver$ContextPreservingListener.onClusterServiceClose(ClusterStateObserver.java:310) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.cluster.ClusterStateObserver$ObserverClusterStateListener.onClose(ClusterStateObserver.java:230) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.cluster.service.ClusterApplierService.doStop(ClusterApplierService.java:168) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.common.component.AbstractLifecycleComponent.stop(AbstractLifecycleComponent.java:85) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.cluster.service.ClusterService.doStop(ClusterService.java:106) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.common.component.AbstractLifecycleComponent.stop(AbstractLifecycleComponent.java:85) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.node.Node.stop(Node.java:713) [elasticsearch-6.0.0.jar:6.0.0]
        at org.elasticsearch.node.Node.close(Node.java:735) [elasticsearch-6.0.0.jar:6.0.0]
        at org.apache.lucene.util.IOUtils.close(IOUtils.java:89) [lucene-core-7.0.1.jar:7.0.1 8d6c3889aa543954424d8ac1dbb3f03bf207140b - sarowe - 2017-10-02 14:36:35]
        at org.apache.lucene.util.IOUtils.close(IOUtils.java:76) [lucene-core-7.0.1.jar:7.0.1 8d6c3889aa543954424d8ac1dbb3f03bf207140b - sarowe - 2017-10-02 14:36:35]
        at org.elasticsearch.bootstrap.Bootstrap$4.run(Bootstrap.java:185) [elasticsearch-6.0.0.jar:6.0.0]
[2018-01-13T20:48:14,692][INFO ][o.e.n.Node               ] [ripley1] stopped
[2018-01-13T20:48:14,692][INFO ][o.e.n.Node               ] [ripley1] closing ...
[2018-01-13T20:48:14,704][INFO ][o.e.n.Node               ] [ripley1] closed
[2018-01-13T20:48:39,879][INFO ][o.e.n.Node               ] [ripley1] initializing ...
[2018-01-13T20:48:40,054][INFO ][o.e.e.NodeEnvironment    ] [ripley1] using [1] data paths, mounts [[/scratch/elasticsearch (scratch/elasticsearch)]], net usable_space [92.5gb], net total_space [93.6gb], types [zfs]
[2018-01-13T20:48:40,055][INFO ][o.e.e.NodeEnvironment    ] [ripley1] heap size [989.8mb], compressed ordinary object pointers [true]
[2018-01-13T20:48:40,119][INFO ][o.e.n.Node               ] [ripley1] node name [ripley1], node ID [TvkaGbQpR5KZ-ZScMZN6AQ]
[2018-01-13T20:48:40,119][INFO ][o.e.n.Node               ] [ripley1] version[6.1.1], pid[6942], build[bd92e7f/2017-12-17T20:23:25.338Z], OS[Linux/4.10.0-38-generic/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/1.8.0_151/25.151-b12]
[2018-01-13T20:48:40,120][INFO ][o.e.n.Node               ] [ripley1] JVM arguments [-Xms1g, -Xmx1g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -XX:+HeapDumpOnOutOfMemoryError, -XX:HeapDumpPath=/var/lib/elasticsearch, -Des.path.home=/usr/share/elasticsearch, -Des.path.conf=/etc/elasticsearch]
[2018-01-13T20:48:41,315][INFO ][o.e.p.PluginsService     ] [ripley1] loaded module [aggs-matrix-stats]
[2018-01-13T20:48:41,315][INFO ][o.e.p.PluginsService     ] [ripley1] loaded module [analysis-common]
[2018-01-13T20:48:41,315][INFO ][o.e.p.PluginsService     ] [ripley1] loaded module [ingest-common]
[2018-01-13T20:48:41,315][INFO ][o.e.p.PluginsService     ] [ripley1] loaded module [lang-expression]
[2018-01-13T20:48:41,315][INFO ][o.e.p.PluginsService     ] [ripley1] loaded module [lang-mustache]
[2018-01-13T20:48:41,315][INFO ][o.e.p.PluginsService     ] [ripley1] loaded module [lang-painless]
[2018-01-13T20:48:41,315][INFO ][o.e.p.PluginsService     ] [ripley1] loaded module [mapper-extras]
[2018-01-13T20:48:41,315][INFO ][o.e.p.PluginsService     ] [ripley1] loaded module [parent-join]
[2018-01-13T20:48:41,320][INFO ][o.e.p.PluginsService     ] [ripley1] loaded module [percolator]
[2018-01-13T20:48:41,320][INFO ][o.e.p.PluginsService     ] [ripley1] loaded module [reindex]
[2018-01-13T20:48:41,320][INFO ][o.e.p.PluginsService     ] [ripley1] loaded module [repository-url]
[2018-01-13T20:48:41,320][INFO ][o.e.p.PluginsService     ] [ripley1] loaded module [transport-netty4]
[2018-01-13T20:48:41,320][INFO ][o.e.p.PluginsService     ] [ripley1] loaded module [tribe]
[2018-01-13T20:48:41,321][INFO ][o.e.p.PluginsService     ] [ripley1] no plugins loaded
[2018-01-13T20:48:43,801][INFO ][o.e.d.DiscoveryModule    ] [ripley1] using discovery type [zen]
[2018-01-13T20:48:44,587][INFO ][o.e.n.Node               ] [ripley1] initialized
[2018-01-13T20:48:44,587][INFO ][o.e.n.Node               ] [ripley1] starting ...
[2018-01-13T20:48:44,587][INFO ][o.e.n.Node               ] [ripley1] starting ...
[2018-01-13T20:48:44,759][INFO ][o.e.t.TransportService   ] [ripley1] publish_address {192.168.42.40:9300}, bound_addresses {[::]:9300}
[2018-01-13T20:48:44,792][INFO ][o.e.b.BootstrapChecks    ] [ripley1] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
[2018-01-13T20:48:47,864][INFO ][o.e.c.s.MasterService    ] [ripley1] zen-disco-elected-as-master ([0] nodes joined), reason: new_master {ripley1}{TvkaGbQpR5KZ-ZScMZN6AQ}{H39AkwwqS_i-fg3Gl5J8QQ}{192.168.42.40}{192.168.42.40:9300}
[2018-01-13T20:48:47,869][INFO ][o.e.c.s.ClusterApplierService] [ripley1] new_master {ripley1}{TvkaGbQpR5KZ-ZScMZN6AQ}{H39AkwwqS_i-fg3Gl5J8QQ}{192.168.42.40}{192.168.42.40:9300}, reason: apply cluster state (from master [master {ripley1}{TvkaGbQpR5KZ-ZScMZN6AQ}{H39AkwwqS_i-fg3Gl5J8QQ}{192.168.42.40}{192.168.42.40:9300} committed version [1] source [zen-disco-elected-as-master ([0] nodes joined)]])
[2018-01-13T20:48:47,884][INFO ][o.e.h.n.Netty4HttpServerTransport] [ripley1] publish_address {192.168.42.40:9200}, bound_addresses {[::]:9200}
[2018-01-13T20:48:47,884][INFO ][o.e.n.Node               ] [ripley1] started
[2018-01-13T20:48:48,326][INFO ][o.e.g.GatewayService     ] [ripley1] recovered [6] indices into cluster_state
[2018-01-13T20:49:01,493][INFO ][o.e.c.m.MetaDataDeleteIndexService] [ripley1] [logstash-2018.01.14/D0f_lDkSQpebPFcey6NHFw] deleting index
[2018-01-13T20:49:18,793][INFO ][o.e.c.m.MetaDataCreateIndexService] [ripley1] [logstash-2018.01.14] creating index, cause [auto(bulk api)], templates [logstash-*], shards [5]/[0], mappings []
[2018-01-13T20:49:18,937][INFO ][o.e.c.r.a.AllocationService] [ripley1] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[logstash-2018.01.14][4]] ...]).

6.1.2で+1同じエラー

これはElasticsearchの機能です。 Elasticsearchエラーごとに、 all indices on this node will marked read-only

インデックスのこれを元に戻すには、 index.blocks.read_only_allow_deleteをnullに設定できます。

これに関する詳細はここで見つけることができます: https

参考までに-まだこれに遭遇している人のために、ここにインデックスを修正するための簡単なワンライナーがあります:
curl -s -H "Content-Type: application/json" http://localhost:9200/_cat/indices | awk '{ print $3 }' | sort | xargs -L 1 -I{} curl -s -XPUT -H "Content-Type: application/json" http://localhost:9200/{}/_settings -d '{"index.blocks.read_only_allow_delete": null}'

クラスター内のすべてのインデックスのリストを取得し、各インデックスに対して、読み取り専用ではないようにするコマンドを送信します。

参考までに-まだこれに遭遇している人のために、ここにインデックスを修正するための簡単なワンライナーがあります:
curl -s -H "Content-Type: application/json" http://localhost:9200/_cat/indices | awk '{ print $3 }' | sort | xargs -L 1 -I{} curl -s -XPUT -H "Content-Type: application/json" http://localhost:9200/{}/_settings -d '{"index.blocks.read_only_allow_delete": null}'

クラスター内のすべてのインデックスのリストを取得し、各インデックスに対して、読み取り専用ではないようにするコマンドを送信します。

@darkpixelのソリューション(https://github.com/elastic/kibana/issues/13685#issuecomment-347074533)が見つかるまで、私もこれを行っていました。

この設定は、1つずつ行う代わりに、_allに対して行うことができます。 私の場合、何百ものインデックスに対してそれを行うにはかなりの時間がかかりますが、「すべて」に設定すると数秒しかかかりません。

curl -XPUT -H "Content-Type: application/json" https://localhost:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'

.kibanaインデックスを削除して問題を解決しました:
/.kibana/を削除します
特定の構成/視覚化/ダッシュボードを失いましたが、ロックが解除されました。

このWAをどうもありがとう。 それは私にとって問題を解決しました。

これは私のために働いた。 新規インストール後にkabanaを機能させるには、両方のコマンドが必要でした。

curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_cluster/settings -d '{ "transient": { "cluster.routing.allocation.disk.threshold_enabled": false } }'
curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'

これには、.kibanaインデックスを削除する必要はありませんでした。 今完璧に動作します!

ソース:
https://selleo.com/til/posts/esrgfyxjee-how-to-fix-elasticsearch-forbidden12index-read-only

このページは役に立ちましたか?
0 / 5 - 0 評価