質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Elasticsearch

Elasticsearchは、クラウド向けに構築された、RESTful な API を提供する分散型のサーチエンジンアプリケーションです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

1310閲覧

AWS Elasticsearch Service に保管された古いログの削除方法について

teketeke

総合スコア46

Elasticsearch

Elasticsearchは、クラウド向けに構築された、RESTful な API を提供する分散型のサーチエンジンアプリケーションです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

1クリップ

投稿2017/12/08 09:45

編集2017/12/08 11:47

###前提・実現したいこと
Elasticsearch のバージョン 6.0
td-agent-2.3.6

fluentdを使ってAWS Elasticsearch Serviceにログを転送するようにしました。

このログを2,3ケ月残して古いものを削除してディスクが圧迫されないようにしたいです。

td-agentの該当の設定

<match s3.maillog> @type copy <store> @type s3 aws_key_id xxx aws_sec_key xxx s3_bucket xxx s3_region ap-northeast-1 s3_object_key_format %{path}%{time_slice}_%{index}_%{hostname}_maillog.%{file_extension} path syslog/ buffer_path /var/log/td-agent/buffer/s3.maillog flush_interval 30m flush_at_shutdown true time_slice_format %Y%m%d/%Y%m%d </store> <store> @type elasticsearch hosts https://search-xxx.ap-northeast-1.es.amazonaws.com flush_interval 30m buffer_path /var/log/td-agent/buffer/s3.maillog flush_at_shutdown true index_name fluentd type_name fluentd </store> </match>

###発生している問題・エラーメッセージ
curl でindexを消すことができることは分かったのですが、2ケ月程度を残して古いものは削除させたいのですが、期間などを指定して削除する方法が見つかりませんでした。

どのようにすれば一定期間のものを残して削除することができるのでしょうか。

curl -XDELETE 'http://search-xxx.ap-northeast-1.es.amazonaws.com/fluentd'

■追記1
time_slice_formatをindex_nameにつけられないかと考えましたがエラーになってしまった為、以下を追記してindexを日付毎にすることができたので、古い日付のものを削除させるような仕組みをテストします。

/etc/td-agent/td-agent.conf

logstash_format true logstash_dateformat %Y%m%d logstash_prefix maillog

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

追記に書かれたように、Indexを日付毎に作成しすることで正解です。
後は、不要なインデックスを指定して削除するだけです。

curl -XDELETE http://192.168.0.20:9200/access_log-20171220

2017.12月分をまとめて削除

curl -XDELETE http://192.168.0.20:9200/access_log-201712*

2017.1-3月分をまとめて削除

curl -XDELETE http://192.168.0.20:9200/access_log-20170[1-3]*

こんな感じで削除できます。

投稿2017/12/21 03:00

min2min

総合スコア24

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teketeke

2017/12/21 04:20

回答頂きありがとうございます。 自分で作ったものは削除対象を日付毎に出していたので、「*」や「1-3」のようにして削除するようにしてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問