テクニカルトピックス
【2022.12.13】【訂正・重要】AuthControl Sentryの潜在的な不具合(メモリリーク)と対処方法について
以前の記事【2022.11.8】AuthControl Sentry v4.1.0の潜在的な不具合と対処方法について」を訂正させていただきます。
この問題は、Sentry Appliance内で使用しているスクリプトに起因し、Applianceに複数のログインやユーザー同期などの過負荷がかかった場合に発生する可能性があります。
すべてのメモリがキャッシュされ、Tomcatのメモリが不足するため、Tomcatが停止してしまう恐れがあります。
Tomcatの停止以外にも、下記の現象として現れる可能性があります。
- Databaseアクセスの異常・遅延
- Sentry DBサーバの異常
- Applianceの応答遅延
この問題の対処方法について、全てのお客様サイトで事前にインストールされていない可能性がありますので、上記の異常が発生した場合は、下記のご確認をお願いいたします。
<確認方法>
- SSHのCMIにログインし、「3) Appliance」→「2) Start or Stop Services」→「Webmin : Running」と表示されることを確認します。
(もし「Webmin :Stopped」と表示された場合は、「5) Start Webmin」を選択してWebminサービスを起動して下さい。)
- Swivelサーバの10000ポート(https://xxx.xxx.xxx:10000/) (「xxx.xxx.xxx」はサーバ名です)にアクセスし、Webminにログインします。
- Webmin画面から、System->Scheduled Cron Jobs に移動します。
- Cron Jobの一覧に下図の「sudo perl…」という行の有無を確認します。
(この行が無ければ、本件の対策はインストールされていません。)
上記の手順で、対策がインストールされていなかった場合の対処方法を以下にてご説明いたします。
<対処手順>
- 下記リンクからスクリプトファイル「freevmmem.pl」をダウンロードします。
freevmmem.pl
- ダウンロードした「freevmmem.pl」ファイルをSentry Applianceの「/home/swivel/.swivel」にWinSCP等を使用してコピーします。
- Sentry ApplianceのSSH接続のCMIにログインし、「5) Tools and Utilities」→「5) Command Line」を選択してコマンドラインにログインします。
- 「cd /home/swivel/.swivel」と入力・実行し、「cd /home/swivel/.swivel」ディレクトリに移動します。
- 下記のコマンドを実行します。
・chown swivel:swivel freevmmem.pl
・chmod 644 freevmmem.pl
- コマンドラインからログオフします。
- SSHのCMIにログインし、「3) Appliance」→「2) Start or Stop Services」→「Webmin : Running」と表示されることを確認します。
(もし「Webmin :Stopped」と表示された場合は、「5) Start Webmin」を選択してWebminサービスを起動して下さい。)
- System → Scheduled Cron Jobsにアクセスします。
- 「Create a new scheduled cron job」をクリックします。
- それぞれの入力ボックスに下記の値を入力またはチェックを入れます。
・Execute cronjob as →「root」
・Active? → 「Yes」
・Command → 「sudo perl /home/swivel/.swivel/freevmmem.pl」
・When to executeは実行スケジュールを定義しますが、下図の例を参考に定義して下さい。
・最後に「Create」をクリックします。
- 下図のようにスケジュールされたCron Jobに前の手順で作成したCron Jobが表示されますので、この行「sudo perl…」をクリックします。
- 下図の画面が表示されたら、「Save and Run Now」または「Run Now」をクリックします。
- Jobの定義が正しく完了すると下図のメッセージが表示されます。
もし、異なる画面が標示された場合は、もう一度手順をやり直し、それでもうまく行かない場合は、そのスクリーンショットを添えて弊社のサポートデスクにご連絡をお願いいたします。
- この手順が有効に機能しているかどうかは、OSのコマンドラインから「free -h」コマンドを実行することで確認ができます。
この実行例では、キャッシュメモリの空き6GB以上、RAMの空き6.4GB以上が確保されたことが分かります。
※上記の手順を実施することによるApplianceのサービス停止は発生しません。
※また上記の手順はシステムを構成する全てのSentryサーバで実施する必要があります。
以上となります。お手数をお掛けして申し訳ございませんが、ご確認・ご検討をお願いいたします。