V4.3.x系では、V4.3.1バージョンからシステムログの圧縮機能がサポートされており、最大15~20倍の圧縮率を実現します。
圧縮によりログファイルのサイズを縮小でき、ディスク容量を節約するとともに、転送や保存も容易になります。解凍は、圧縮されたログファイルを元の読み取り可能な形式に復元することで、ログ内容の確認と分析を容易にします。
ログ圧縮
以下のコマンドでシステムログの圧縮機能を制御できます。
ログ圧縮機能を有効にします。
圧縮機能が有効な場合、
observer.log、rootservice.log、election.log、trace.logの4種類のタイムスタンプ付きファイルが圧縮されますが、対応する.wf拡張子を持つファイルは圧縮されません。syslog_compress_funcのアルゴリズムを設定することでシステムログの圧縮機能を有効にできます。選択可能なアルゴリズムはzstd_1.0とzstd_1.3.8です。例えば、システムログの圧縮アルゴリズムをzstd_1.3.8に設定します。syslog_compress_funcの詳細については syslog_compress_func を参照してください。obclient> ALTER SYSTEM SET syslog_compress_func = 'zstd_1.3.8';システムログのディスク容量を設定します。
システムログの合計サイズが設定された利用可能容量の上限に達すると、最も古いログファイルが削除されます。これには圧縮済みのログファイルも含まれます。
syslog_disk_sizeでシステムログのディスク容量の上限を設定します。例えば、システムログのディスク容量を100GBに設定します。syslog_disk_sizeの詳細については syslog_disk_size を参照してください。説明
具体的なディスク容量はハードウェア仕様と実際のニーズに応じて決定します。ディスク全体を使用したい場合は、0GBに設定できます。
obclient> ALTER SYSTEM SET syslog_disk_size='100GB';圧縮しないログファイルの数を設定します。 各ログタイプごとに、少なくとも圧縮しないファイルの最小数を制御し、問題の分析やログの確認を迅速に行えるようにします。実際の非圧縮ファイル数はこの値を超える場合がありますが、下回ることはありません。
syslog_file_uncompressed_countでシステムログの非圧縮ファイル数を制御します。例えば、システムログの非圧縮ファイル数を50に設定します。syslog_file_uncompressed_countの詳細については syslog_file_uncompressed_count を参照してください。説明
具体的な数は実際のニーズに応じて決定します。例えば、この値を50に設定すると、4種類のログで合計200個の非圧縮ファイルが作成され、各ファイルは約256MB、合計サイズは約50GBになります。
obclient> ALTER SYSTEM SET syslog_file_uncompressed_count=50;
ログの解凍
圧縮されたログファイルを確認する方法は以下のとおりです:
zstdツールを使用する。
zstdツールをインストールします。
zstd公式サイトからダウンロードしてください。
zstdツールを使用して解凍します。
zstdツールを使用して解凍し、内容を確認します。
まず、
zstd -d xxx.zstコマンドでファイルを解凍します。ここで、xxx.zstは解凍対象ファイル名を指します。vim xxxコマンドでファイルの内容を確認します。ここで、xxxは解凍したファイル名を指します。
zstdツールを直接使用して圧縮ファイルを確認します。
zstd -dc xxx.zstコマンドを使用して、圧縮ファイルの内容を直接確認します。ここで、xxx.zstは解凍対象ファイル名を指します。
obdiagツールを使用する。
obdiagツールをインストールします。
obdiagツールのインストールについては、obdiag インストールを参照してください。
obdiagツールを使用して解凍します。
obdiag gather log [options]コマンドを使用して、圧縮されたログファイルを検索します。obdiagツールの詳細については、obdiag gather logを参照してください。