Logstash / Elasticsearch: logstash.outputs.elasticsearch] retrying failed action with response code: 403 ({“type”=>”cluster_block_exception”, “reason”=>”blocked by: [FORBIDDEN/12/index read-only / allow delete (api)]

Da ist mir doch etwas peinliches und eigentlich unverzeihliches passiert: Die Disk meiner (momentan einzigen) Elasticsearch-Node lief voll. Nicht, weil das Ding nicht überwacht wäre – nein, ich habe den Alarm einfach ignoriert.

Elasticsearch hat seit der Version 6.0 “Gegenmassnahmen” betreffend voll laufenden Disks. Die Indizes werden ab einem bestimmten Schwellwert einfach schreibgeschützt.

So weit, so klar. Aber wie bekomme ich die Indizes jetzt wieder beschreibbar, ohne jeden einzelnen anzufassen? Ganz einfach.

In Kibana gibt es die Dev Tools. Damit lassen sich Aufrufe/Kommandos gegen Elasticsearch ausführen. Mit dem folgenden Script lässt sich der Schreibschutz auf allen Indizes aufheben:

PUT _settings
{
  "index": {
    "blocks": {
      "read_only_allow_delete": "false"
    }
  }
}

Sollte Kibana nicht verfügbar sein, lässt sich das ganze auch via Curl durchführen:

curl -X PUT \
  "s-001-0027.int.iteres.com:9200/_settings/" \
  -H 'Content-Type: application/json' \
  -d'
{
  "index": {
    "blocks": {
      "read_only_allow_delete": "false"
    }
  }
}
'

Ich höre gerade: The Iron Maidens – Fear of the Dark

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.