「アーカイブ/クリーンアップ。ログデータをアーカイブ、クリーンアップしてみる!」syslog-ng Store Box活用連載企画vol.19

アーカイブポリシー設定画面例

螺子です。SSBのアーカイブは、SSBからログデータを外部のネットワークストレージに移動し、クリーンアップは古いログデータを削除(消去)します。

アーカイブされたログデータは、SSBからシームレス(ローカルディスクに保存されているログデータ同様)に閲覧・検索することができますが、SSBアプライアンスにリストアする(戻す)ことはできません。

SSBアプライアンスのローカルディスクの容量がログデータでひっ迫してきた場合に、アーカイブまたはクリーンアップすることでローカルディスクがログデータで一杯になることを防ぐことができます。あるいは、クリーンアップはコンプライアンスなどで決められたログ保存期間を過ぎたログデータを消去する時にも有効です。

つまり、アーカイブは論理的なストレージ拡張、クリーンアップはストレージ容量の開放を意味します。

今回は、ログデータをアーカイブ、クリーンアップしてみます。

前回の記事「syslog-ng Store Box大活用連載企画第18回「バックアップリストア。システムデータおよびログデータをバックアップ、リストアしてみる!」」では、システムデータおよびログデータのバックアップを行いましたが、ログデータのアーカイブ/クリーンアップについても、同様にアーカイブ/クリーンアップポリシーを作成し、各ログスペースに適用します。
本記事と合わせてお読み頂くことで、バックアップとアーカイブ/クリーンアップの違いについてもご理解頂けると思いますので、あわせてお読み頂きますと幸いです。

これまでの連載記事:

注意事項

  • アーカイブポリシーを削除しないでください。これにより、既存のアーカイブデータにアクセスできなくなります。
  • アーカイブポリシーを作り直さないでください。つまり、アーカイブポリシーを削除し、同じ名前の異なるパラメーターで作成しないでください。これによりアーカイブデータにアクセスできなくなります。

アーカイブ/クリーンアップポリシーの作成

アーカイブ/クリーンアップを設定するには、最初に、アーカイブ/クリーンアップポリシーを作成します。

新しいアーカイブ/クリーンアップポリシーを作成するには、[Policies]>[Backup & Archive/Cleanup]に移動し、[Archive/Cleanup policies]以下のボタンをクリックします。新しいアーカイブ/クリーンアップポリシーを作成するための追加のフィールドが表示されます。

図1. [Backup & Archive/Cleanup]画面例

ログデータをリモートサーバーにアーカイブする場合は、リモートサーバーへのアクセスに”SMB/CIFS”、および”NFS”プロトコルを使用するように定義することができます。[Target settings]以下のラジオボタンで、クリーンアップのみか、あるいはアーカイブに使用するプロトコルを選択します。 以下に各ラジオボタン選択時の画面例を示します。

図2. [Only cleanup, no archiving]設定画面例
図3. [SMB/CIFS]プロトコル設定画面例
図4. [NFS]プロトコル設定画面例

今回は、[SMB/CIFS]プロトコルを選択してアーカイブ/クリーンアップポリシーを設定します。

アーカイブ/クリーンアップポリシー名を入力し、[Start time]にアーカイブ/クリーンアップが実行される時刻を入力します。[Target settings]セクションでファイルサーバーの情報を入力します。[Send notification]セクションは、アーカイブ/クリーンアップに関するe-mail通知の受信の可否と内容を決めます。[Send notification on errors only]は、エラーに関する通知のみ受信し、[Send notification on all events]は、すべてのイベントに関する通知を受信します。

バックアップポリシーと異なり、アーカイブ/クリーンアップポリシーでは、[Retention time in days]を設定する必要があります。SSBは、この設定した日数(アーカイブ/クリーンアップ実行日を含む)より前のログデータをアーカイブまたはクリーンアップします。つまり、SSBは、この日数分のログデータをSSBのローカルディスクに保持します。

[Commit]をクリックして、設定を保存します。

図5. [SMB/CIFS]プロトコル設定例

ログデータのアーカイブ/クリーンアップの設定

ログデータのアーカイブ/クリーンアップを行うには、アーカイブ/クリーンアップポリシーをログスペースに割り当てます。

[Log]>[Logspaces]に移動し、アーカイブ/クリーンアップするログスペースを選択します。

[Policies]セクションの[Archive/Cleanup policy]ドロップダウンリストから割り当てるアーカイブ/クリーンアップポリシーを選択します。

[Commit]をクリックして、設定を保存します。

これにより、アーカイブ/クリーンアップポリシーの[Start time]に設定した時刻に毎日、ログデータのアーカイブ/クリーンアッププロセスが自動で開始されます。

図6. ログスペースへのアーカイブ/クリーンアップの割り当て例

ログデータのアーカイブ/クリーンアップの実行

ここでは、上記で設定したスケジュールによる自動実行ではなく、マニュアルでログデータをアーカイブ/クリーンアップします。

マニュアルでログデータをアーカイブ/クリーンアップするには、[Archive/Cleanup]または[Archive/cleanup ALL]をクリックします。[Archive/Cleanup]は選択したログスペースのみアーカイブ/クリーンアップを実行し、[Archive/cleanup ALL]はすべてのアーカイブ/クリーンアップポリシーが適用されているログスペースのログデータをアーカイブ/クリーンアップします。

図7. [Archive/Cleanup]または[Archive/cleanup ALL]例

ここでは、”local”ログスペースに、アーカイブ/クリーンアップポリシーを割り当て、[Archive/Cleanup]をクリックして”local”ログスペースのログデータをアーカイブ/クリーンアップします

確認メッセージには、[OK]をクリックします。

図8. アーカイブ/クリーンアップ確認メッセージ例

アーカイブ/クリーンアッププロセスが開始されたことを確認して、[OK]をクリックします。

図9. アーカイブ/クリーンアッププロセス開始メッセージ例

今回は、アーカイブ/クリーンアップポリシーでアーカイブ/クリーンアップに関するe-mail通知を受信する設定を行っているので、アーカイブ/クリーンアップが正常に終了すると、以下のようなメールを受信します。

図10. アーカイブ成功時e-mail例

また、SSBのローカルログ(ログスペース名:”local”)には、以下のようなログが記録されます。これらのログは検索式(検索ページの[Search expression]に)”program:ssb/archive”を入力することで検索できます。

図11. アーカイブ成功時のログ例
INFO (root@localhost) Archive (local): Starting archive Logspace 'local' archive
INFO (root@localhost) Archive (local): Fetching list of files/directories to be archived
INFO (root@localhost) Archive (local): Flushing index files of Logspace 'local'
INFO (root@localhost) Archive (local): Archived 1 dir(s); first_dir='/opt/ssb/var/logspace/id/20996373924899c4736c584/2021/03-16', last_dir='/opt/ssb/var/logspace/id/20996373924899c4736c584/2021/03-16'
INFO (root@localhost) Sending mail; to='<e-mail address>'
図12. アーカイブ成功時のログ例(テキスト)

※アーカイブ/クリーンアップポリシーでアーカイブ/クリーンアップに関するe-mail通知を無効にしている場合、”Sending mail…”のログは出力されません。

※アーカイブ/クリーンアップが終了したことを確実に確認するには、アーカイブ/クリーンアップポリシーで”Send notification on all events”を有効にします。アーカイブ/クリーンアップが終了した後にメールが送信されるからです。

アーカイブ先には、以下のようにフォルダーが作成され、アーカイブがされたことがわかります。バックアップとは異なりログスペース名(ここでは、”local”)以下に2021(YYYY)<MM-DD>(例、03-13)フォルダーが作成されています。

図13. アーカイブ後の作成フォルダー例

アーカイブ/クリーンアップポリシーで、クリーンアップを([Only cleanup, no archiving])選択している場合、以下のようなメールを受信およびログが記録されます。

図14. クリーンアップ成功時e-mail例
図15. クリーンアップ成功時のログ例
INFO (root@localhost) Archive (local): Starting archive Logspace 'local' archive
INFO (root@localhost) Archive (local): Fetching list of files/directories to be cleaned up
INFO (root@localhost) Archive (local): Flushing index files of Logspace 'local'
INFO (root@localhost) Archive (local): Archived 1 dir(s); first_dir='/opt/ssb/var/logspace/id/20996373924899c4736c584/2021/03-17', last_dir='/opt/ssb/var/logspace/id/20996373924899c4736c584/2021/03-17'
INFO (root@localhost) Sending mail; to='<e-mail address>'
図16. クリーンアップ成功時のログ例(テキスト)

※アーカイブ/クリーンアップポリシーでアーカイブ/クリーンアップに関するe-mail通知を無効にしている場合、”Sending mail…”のログは出力されません。

※アーカイブ/クリーンアップが終了したことを確実に確認するには、アーカイブ/クリーンアップポリシーで”Send notification on all events”を有効にします。アーカイブ/クリーンアップが終了した後にメールが送信されるからです。

アーカイブ/クリーンアップ履歴

アーカイブ/クリーンアップの履歴は、[Search]>[Archive & Cleanup]で確認できます。いつログデータがアーカイブ/クリーンアップされたか、どこにアーカイブされたかを確認するのに便利です。

図17. アーカイブ/クリーンアップ履歴画面例

その他

■アーカイブに失敗した場合、以下のようなエラーメールを受信します(アーカイブ/クリーンアップポリシーでアーカイブ/クリーンアップに関するe-mail通知を受信する設定を行っている場合)。

※エラーが発生した場合、ネットワーク接続、アクセス権限あるいは共有名、ユーザー名およびパスワードなどを確認してください。

図18. アーカイブエラーe-mail例(その1)
図19. アーカイブエラーe-mail例(その2)

また、これらのエラーログはSSBのローカルログ(ログスペース名: “local”)にも出力されます。検索式(検索ページの[Search expression]に)”program:ssb/archive ERROR”を入力することで検索できます。

図20. アーカイブエラー時ログ例
ERROR (root@localhost) Failed to move file/directory to archive store - out='rsync: mkdir "/opt/ssb/mnt/2275275907413100497604eb503c5d33/local/2021/03-16" failed: Permission denied (13); rsync error: error in file IO (code 11) at main.c(675) [Receiver=3.1.2]'
ERROR (root@localhost) Error mounting remote server on SMB - rc='32', server='192.168.94.254', share='Archive'
図21. アーカイブエラー時ログ例(テキスト)

※SSBのシステム監視設定を適切に行っている場合、これらのエラーに関して、snmpトラップまたは(バックアップポリシーでアーカイブ/クリーンアップに関するe-mail通知とは別に)メールで通知されます。

■アーカイブまたはクリーンアップするログデータが存在しない場合、以下のようなエラーメールを受信します(アーカイブ/クリーンアップポリシーでアーカイブ/クリーンアップに関するe-mail通知を受信する設定を行っている場合)。

図22. アーカイブするログデータが存在しない場合のe-mail例
図23. クリーンアップするログデータが存在しない場合のe-mail例

また、これらのログはSSBのローカルログ(ログスペース名: “local”)にも出力されます。検索式(検索ページの[Search expression]に)”program:ssb/archive”を入力することで検索できます。

図24. アーカイブするログデータが存在しない場合のログ例
図25. クリーンアップするログデータが存在しない場合のログ例
INFO (root@localhost) Archive (local): Starting archive Logspace 'local' archive
INFO (root@localhost) Archive (local): Fetching list of files/directories to be archived
INFO (root@localhost) Archive (local): No files/directories to be archived
INFO (root@localhost) Sending mail; to='<e-mail address>'
図26. アーカイブするログデータが存在しない場合のログ例(テキスト)
INFO (root@localhost) Archive (local): Starting archive Logspace 'local' archive
INFO (root@localhost) Archive (local): Fetching list of files/directories to be cleaned up
INFO (root@localhost) Archive (local): No files/directories to be cleaned up
INFO (root@localhost) Sending mail; to='<e-mail address>'
図27. クリーンアップするログデータが存在しない場合のログ例(テキスト)

■アーカイブ/クリーンアップは、SSBのローカルディスクからログデータを削除(アーカイブの場合、アーカイブ先に移動)します。アーカイブ/クリーンアップはログデータをローカルディスクにリストアできません。

例えば、ローカルディスクのログデータの保存状態が以下(図28)の場合で、それ以降に”03-15″,”03-16″,”03-17″および”03-18″のログデータがアーカイブまたはクリーンアップされると”03-15″,”03-16″,”03-17″および”03-18″のログデータはローカルディスクから削除(アーカイブの場合、アーカイブ先に移動)されます。ローカルディスクには保持されません。また、アーカイブ/クリーンアップされたログはSSBにリストア(復旧)することはできません。

図28. アーカイブ/クリーンアップ前のローカルディスクのログデータ保存状態例
図29. アーカイブ/クリーンアップ後のローカルディスクのログデータ保存状態例

参考資料

詳細については、syslog-ng Store Box6 LTS管理者ガイドの「4.8 アーカイブとクリーンアップ」をご参照ください。

また、過去記事「SSBバックアップとアーカイブの違い」および「syslog-ng Store Box(SSB) アーカイブ機能を利用したストレージ拡張! 」もご参照ください。

SSBのシステム監視設定の詳細については、syslog-ng Store Box6 LTS管理者ガイドの「4.6 SSBのシステム監視設定」を参照してください。または、過去記事「syslog-ng Store Box大活用連載企画第12回「SSBの監視とアラート!SNMPマネージャーで監視およびSNMPトラップを受信してみる」 もご参照ください。

アーカイブ/クリーンアップ履歴については、syslog-ng Store Box6 LTS管理者ガイドの「13.5 アーカイブおよびバックアップ通知」をご参照ください。

いかがでしたでしょうか。今回は、アーカイブ/クリーンアップ機能について紹介しました。

それでは、次回の連載記事をお楽しみに!


SSBは、高信頼ログ管理アプライアンスです。様々なデバイスおよびアプリケーションからログメッセージを収集、分類、フィルタリング、正規化して安全に保存可能です。ログデータの信頼性を担保し、膨大なログが発生する高負荷環境、あるいはログロストが許されない企業・組織のログ管理に最適です。


syslog-ng Store Boxについての詳細は、製品紹介ページ・製品ガイドをご参照ください。

評価版のダウンロード

問合わせ

こんな記事も読まれています

最新記事

おすすめ記事

  1. 産業スパイを発見し、防ぐ方法とは

  2. Flexible NetFlowとは?を5分で理解する

  3. WinSyslog 使い方ガイド#2 受信時刻とデバイスタイムスタンプ両方を出力する

製品カテゴリー

JTC IT用語集
TOP