/storage/log が imfile-state ファイルでいっぱいになる | rsyslogd
search cancel

/storage/log が imfile-state ファイルでいっぱいになる | rsyslogd

book

Article ID: 380857

calendar_today

Updated On:

Products

VMware vCenter Server 7.0

Issue/Introduction

免責事項:これは英文の記事「/storage/log filling up with imfile-state files | rsyslogd」の日本語訳です。
記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。


Symptoms:
/storage/log がいっぱいになり、/var/log/vmware/rsyslogd ディレクトリに多くのファイルが確認できます。
/var/log/vmware/rsyslogd/ の内容を一覧表示できる場合とできない場合があります。

Environment

VMware vCenter Server 7.0.x

Cause

syslog サーバーにすでに送信されたメッセージを追跡するために、rsyslog サービスによって imfile-state:XXXX ファイルが作成されます。

Resolution

この問題は、VMware vCenter Server 7.0 Update 3q (P09) build 23788036 で解決されています。

この問題を回避するには、cron ジョブを手動で作成してファイルを削除します。

  1. SSHを使用してvCenter Serverにログインする
  2. すべてのファイルをすぐに削除するには(cron ジョブを作成する前に)次のコマンドを実行し、完了するまで待機します。

    find /var/log/vmware/rsyslogd/ -name "imfile-state*" | xargs -i rm -f {}

  3. rsyslog サービスを停止します。

    systemctl stop syslog.socket rsyslog.service

  4. rsyslog サービスが停止したことを確認します。

    ps aux | grep rsyslogd

  5. /var/run that rsyslogd.pid ファイルが存在しないことを確認します。
  6. cron ジョブのためのディレクトリを作成します。

    cd ~
    mkdir syslogcron
    cd syslogcron/

  7. cleanimf.sh というファイルを作成し、以下の内容で保存します。

    vi cleanimf.sh

    #!/bin/bash
    find /var/log/vmware/rsyslogd/ -name "imfile-state*" | xargs -i rm -f {}

  8. (:wq をタイプして)ファイルを保存した後、ファイルに権限を追加します。

    chmod 755 cleanimf.sh

  9. 1時間ごとにスクリプトを実行するよう、cron ジョブを作成します。(:wq をタイプしてファイルを保存することを忘れないでください。)

    vi /etc/cron.d/cleanimf.cron

    0 * * * * root /root/syslogcron/cleanimf.sh 2>&1

  10. rsyslog サービスを起動します。

    systemctl start syslog.socket rsyslog.service
 

Additional Information

  • cronジョブがこれらのファイルを削除する時間間隔に関して、ファイルが作成される処理状況により、削除するための処理を増やす必要がある
    場合は以下のように上記ステップ 9 の設定を変更することにより、cron ジョブを 1 時間ごとではなく 30 分ごとに実行するように変更できます。

変更前)

0 * * * * root /root/syslogcron/cleanimf.sh 2>&1

変更後)

*/30 * * * * root /root/syslogcron/cleanimf.sh 2>&1