アーカイブポリシー設定画面例 |
螺子です。SSBのアーカイブは、SSBからログデータを外部のネットワークストレージに移動し、クリーンアップは古いログデータを削除(消去)します。
アーカイブされたログデータは、SSBからシームレス(ローカルディスクに保存されているログデータ同様)に閲覧・検索することができますが、SSBアプライアンスにリストアする(戻す)ことはできません。
SSBアプライアンスのローカルディスクの容量がログデータでひっ迫してきた場合に、アーカイブまたはクリーンアップすることでローカルディスクがログデータで一杯になることを防ぐことができます。あるいは、クリーンアップはコンプライアンスなどで決められたログ保存期間を過ぎたログデータを消去する時にも有効です。
つまり、アーカイブは論理的なストレージ拡張、クリーンアップはストレージ容量の開放を意味します。
今回は、ログデータをアーカイブ、クリーンアップしてみます。
前回の記事「syslog-ng Store Box大活用連載企画第18回「バックアップリストア。システムデータおよびログデータをバックアップ、リストアしてみる!」」では、システムデータおよびログデータのバックアップを行いましたが、ログデータのアーカイブ/クリーンアップについても、同様にアーカイブ/クリーンアップポリシーを作成し、各ログスペースに適用します。
本記事と合わせてお読み頂くことで、バックアップとアーカイブ/クリーンアップの違いについてもご理解頂けると思いますので、あわせてお読み頂きますと幸いです。
- syslog-ng Store Box大活用連載企画第1回「syslog-ng Store Boxを知る」
- syslog-ng Store Box大活用連載企画第2回「syslog-ng Store Boxを仮想環境にインストールする」
- syslog-ng Store Box大活用連載企画第3回「syslog-ng Store Boxで出来ることまとめ」
- syslog-ng Store Box大活用連載企画第4回「Wiresharkでsyslogプロトコルパケットを覗く」
- syslog-ng Store Box大活用連載企画第5回「ciscoスイッチ、fortigateファイアウォールログをSSBで受信!よりログを検索しやすく」
- syslog-ng Store Box大活用連載企画第6回「RPC APIを使ってみる、自社システムに統合!ログ検索の自動化!」
- syslog-ng Store Box大活用連載企画第7回「Active Directoryと連携して、Active Directoryユーザー認証!」
- syslog-ng Store Box大活用連載企画第8回「SSBをHA(High Availability)構成で構築してみる!」
- syslog-ng Store Box大活用連載企画第9回「ログをバイナリおよびテキスト形式で保存、違いを比較してみる」
- syslog-ng Store Box大活用連載企画第10回「ログファイルを共有して、外部ホストからアクセスしてみる!」
- syslog-ng Store Box大活用連載企画第11回「フィルターを使用して、必要なログのみ保存してみる!」
- syslog-ng Store Box大活用連載企画第12回「SSBの監視とアラート!SNMPマネージャーで監視およびSNMPトラップを受信してみる」
- syslog-ng Store Box大活用連載企画第13回「コンテンツベースアラート。重要なログを見逃さない!」
- syslog-ng Store Box大活用連載企画第14回「設定変更履歴。コンプライアンスにも対応!」
- syslog-ng Store Box大活用連載企画第15回「トラブルシューティングに役立つ機能。問題を迅速に解決!」
- syslog-ng Store Box大活用連載企画第16回「ユーザーアクセス制御。アクセス権限とタイプを設定してみる!」
- syslog-ng Store Box大活用連載企画第17回「リライト機能。ログの整形や正規化!」
- 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>'
※アーカイブ/クリーンアップポリシーでアーカイブ/クリーンアップに関する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>'
※アーカイブ/クリーンアップポリシーでアーカイブ/クリーンアップに関する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'
※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>'
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>'
■アーカイブ/クリーンアップは、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は、高信頼ログ管理アプライアンスです。様々なデバイスおよびアプリケーションからログメッセージを収集、分類、フィルタリング、正規化して安全に保存可能です。ログデータの信頼性を担保し、膨大なログが発生する高負荷環境、あるいはログロストが許されない企業・組織のログ管理に最適です。