Midnight Monologues

日々勉強したことを書いてきます

Kibanaで503エラーが出た話

T-Potを22.04.0 にアップデートした後、5か月経過したころに503エラーに発生してKibanaの画面につながらなくなった。  

原因を確認したところElasticsearch のIndex数が単調増加しており、その結果発生したメモリ不足が原因だった。 Elasticsearch Curator が機能していないようだ。
 

確認を進めるとT-PotではElasticsearch Curator の機能がパージされており、Index Lifecycle Policiesへログローテーション方式が変わっている。
Breaking Changes
Elasticsearch Curator is no longer supprted and superseded with Index Lifecycle Policies available through Kibana.

github.com    

crontabの以下設定も機能していない。

In /etc/crontab look for the following lines and adjust the configs to your needs.

# Delete elasticsearch logstash indices older than 90 days $myRANDOM_MINUTE $myDEL_HOUR * * * root curator --config /opt/tpot/etc/curator/curator.yml /opt/tpot/etc/curator/actions.yml

     

Elasticsearchの不要なIndexを手動でclose → delete を実施することでメモリ不足が解消された。

①削除対象のIndexをクリックする。  

②[BULK ACTION] →[Close index] を選択する。  

③StatusがOpenからCloseに変更されたことを確認し、[BULK ACTION] →[Delete index] を選択する。  

④Indexが削除されたことを確認する。

   

併せて90日のログ保存ポリシーを適用する。

⑤kibanaのstack management → Index lifecycle policies を選択する。
 適用するポリシーの列のAdd policy to index template を選択する。
 

⑥Linked template indexの値が変更されたことを確認する。
 設定したルールは次に作成される’indexから適応される。  

⑦既存のindexに反映させるためAPI経由でsettingsを変更する。

PUT logstash-*/_settings
{
  "lifecycle" : {
      "name" : "90-days-default"
    }
}