データの削除方法

公開日
2015-05-06
最終更新日
2019-03-29
バージョン
Splunk Enterprise 6.6.0, Splunk Enterprise 7.0.2
概要

インデクサーに取り込んだデータを物理削除する場合、インデクサークラスタリングを利用しているかどうかで手順が異なります。

データを物理削除する方法には、「clean eventdata」コマンドを利用して取り込んだデータを削除する方法と「frozenTimePeriodInSecs」を用いてデータの保存期間を短くする方法があります。

参考情報
内容

取り込んだデータを、インデックスからデータごと削除する手順について記載します。

インデクサークラスタリングを使用しているかどうかで手順が異なりますので、環境に合わせた方法にて削除を行ってください。

なお、特定のイベントのみデータをディスクから削除する方法はありません。

スタンドアロン構成(非インデクサークラスタリング環境)の場合

方法1:個別のインデックスを削除する手順

【手順】

  • Splunkを停止します。

例)

$SPLUNK_HOME/bin/splunk stop

※デフォルトインストールの場合の$SPLUNK_HOME

Linux:/opt/splunk

Windows:C:\Program Files\splunk
  • 以下のコマンドを実行します。

例)

$SPLUNK_HOME/bin/splunk clean eventdata -index <index_name>

※インデックス単位でデータを削除することが可能です。例えば、<index_name>としてmainを指定しますと、mainに蓄積されているデータは全て削除されます。

例)

$SPLUNK_HOME/bin/splunk clean eventdata -index main

※-index以降を省略すると、全インデックスデータを削除します。

例)

$SPLUNK_HOME/bin/splunk clean eventdata
  • Splunkを開始します。

例)

$SPLUNK_HOME/bin/splunk start

方法2:frozenTimePeriodInSecsの利用

削除対象のインデックスの保存期間を変更し、自然にローテーション(削除)されるのを待つ方法となります。

frozenTimePeriodInSecsの詳細は、下記ドキュメントをご覧ください。

http://docs.splunk.com/Documentation/Splunk/7.0.2/Indexer/Setaretirementandarchivingpolicy

【手順】

  • データを削除したいIndexに、ファイルやフォルダ監視などでデータを取り込んでいる場合、フォワーダーもしくはインデクサー上のinputs.confからその設定を削除し、データが新しく取り込まれないようにします。
  • $SPLUNK_HOME/etc/system/local配下もしくは$SPLUNK_HOME/etc/apps/<任意のapp>/local配下のindexes.conf(無ければ新規作成)に下記のスタンザを追加します。

(設定例)

[<削除したいindex名>]
frozenTimePeriodInSecs = 100

※秒単位で指定します。例えば上記設定を行った場合、バケツの中に存在するイベントの中で一番新しいタイムスタンプが、SplunkのインストールされているOSの時刻より、100秒以上前の場合、そのバケツをfrozen状態に移行します。

  • Splunkを再起動し、設定を反映させます。
  • Indexのデータが削除されているか確認した後、上記2.で設定したスタンザを削除します。
  • 再びSplunkを再起動します。

インデクサークラスタリングを使用している場合

インデクサークラスタリング機能を使用している場合、特定のインデクサー上にある、特定のインデックス単体を削除することは出来ません。

クラスター構成の場合は、以下の方法にて全インデクサー(クラスターピア)上よりインデックス単位でデータを削除することが可能です。

【手順】

  • データを削除したいIndexに、ファイルやフォルダ監視などでデータを取り込んでいる場合、フォワーダーもしくはインデクサー上のinputs.confからその設定を削除し、データが新しく取り込まれないようにします。
  • クラスタマスター上の$SPLUNK_HOME/etc/master-apps/_cluster/local配下のindexes.conf(無ければ新規作成)に下記のスタンザを追加します。

(設定例)

[<削除したいindex名>]
frozenTimePeriodInSecs = 100

※秒単位で指定します。例えば上記設定を行った場合、バケツの中に存在するイベントの中で一番新しいタイムスタンプが、SplunkのインストールされているOSの時刻より、100秒以上前の場合、そのバケツをfrozen状態に移行します。

  • CLIにて下記コマンドを使用し、クラスタマスターの設定をクラスタピアに配布します。
$SPLUNK_HOME/bin/splunk apply cluster-bundle

※上記コマンドを実行すると、全てのピアを再起動するか確認を求められますのでyesを入力してください。

※変更されたfrozenTimePeriodInSecsの設定値を配布したのみでは、Splunkサービスは再起動されませんが、配布後の設定が有効な状態になります。

上記コマンドの詳細につきましては、下記ドキュメントをご覧ください。

http://docs.splunk.com/Documentation/Splunk/7.0.2/Indexer/Updatepeerconfigurations

  • HOTのステージにあるバケツをWARMのステージに遷移させるため、クラスターマスターからクラスタピアをローリングリスタートさせます。
$SPLUNK_HOME/bin/splunk rolling-restart cluster-peers

上記コマンドの詳細につきましては、下記ドキュメントをご覧ください。

http://docs.splunk.com/Documentation/Splunk/7.0.2/Indexer/Userollingrestart

  • Indexのデータが削除されているか確認した後、上記2.で設定したスタンザを削除します。
  • 上記③を再び実行します。

以上