ElasticSearch Service のディスク容量節約を実践してみる
AWS の ElasticSearch Service を使ってログをインデクスしていますが、徐々に減っていく空きディスクに震える日々を過ごしていました。
以下の記事を参考にさせていただき、インデックス容量を削減を実践してみました。
https://qiita.com/aucfan-engineer/items/706b8571440a759aec1f
環境
インデックスに Logstash を使用しています。以下の環境で動かしています
- Amazon Linux AMI release 2018.03
- Logstash 6.7.1
- OpenJDK 1.8.0_191
- Elasticsearch 6.7
やったこと
基本的に文字列検索はしないため、フレーズクエリやスコアを無効にします。
Logstash 側にインデックステンプレートを用意して使用しています。
テンプレート作成
json 形式でテンプレートを作成し、 Logstash を動かす環境に配置します。
dynamic_templates で容量を食う設定を無効にします。
{
"template" : "xxx-*",
"mappings" : {
"_default_" : {
"dynamic_templates" : [
{
"string_fields" : {
"match" : "*",
"match_mapping_type" : "string",
"mapping" : {
"type" : "text",
"norms" : false,
"index_options": "freqs",
"fields" : {
"keyword" : { "type": "keyword", "ignore_above": 256 }
}
}
}
}
],
"properties" : {
"category": { "type": "keyword" },
"env": { "type": "keyword" },
"tags": { "type": "keyword" },
・・・
}
}
}
}
Logstash 設定ファイル変更
Logstash の設定ファイルはいくつか要素がありますが、今回 output が関係するのでそこのみ記述します
・・・
output {
elasticsearch {
hosts => "xxxxxxxxxx.com:443"
ssl => true
index => "xxxxxx-%{+YYYY.MM.dd}"
# ここから追加
manage_template => true
template => "{上記テンプレートファイルのパス}"
template_name => "template_name"
template_overwrite => true
}
}
結果
3種類インデックスがあるうち、2種類この設定を行いました。設定反映後のグラフは下記になります。
Y 軸がストレージの残り、 X 軸が時間です
下降気味だったストレージが設定反映後に使用する容量が減って上昇傾向になっているのが確認できました。
Author And Source
この問題について(ElasticSearch Service のディスク容量節約を実践してみる), 我々は、より多くの情報をここで見つけました https://qiita.com/kobarasukimaro/items/44f7f42b09ea5e716b71著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .