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ツールを使用して解凍し、内容を確認します。
まず、
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を参照してください。