テクニカルトピックス

【2023.1.11】MySQLログのローテーションを有効化する必要があります

 HA (A/A) 構成のAuthControl SentryにおいてDatabase Versionを5.5.65から5.5.68以降にアップデートした場合、AuthControl Sentry HA Appliance Server ではMariaDBのyumレポジトリがyum.swivelsecure.netではなく、MariaDBの公式レポジトリを参照しているため、ログローテーションに関して、Swivelのソフトウェアによる制御が困難となってしまいます。



 そこで、下記の手順によってMySQLログのローテーションを有効化する必要があります。

(1)CMIコンソールにログインします。
(2) 5) Tools and Utilities → 5) Command Line よりConsole UIにログインします。
(3)以下のコマンドを実施しログローテートを有効化します。
   ・cd /etc/logrotate.d/
   ・mv mysql.rpmsave mysql.org
※この場合の拡張子は[.rpmorig, .rpmsave, ,v, .swp, .rpmnew, ~, .cfsaved, .rhn-cfg-tmp-*]以外であれば読み込まれます。

(4)以下のコマンドを実行し/var/log/mysql/mysql*.logがローテーション対象ファイルになっていることを確認します。
   ・「logrotate -dv /etc/logrotate.conf」を実行し、以下の出力があることを確認する。
    reading config file mysql.org
※即時ローテーションを実施したい場合は以下の手順を実施してください。

(5)mysql.orgをエディターで開き追記後保存し閉じます。

   /var/log/mysql/mysql*.log {
   # create 600 mysql mysql
   notifempty
   daily
   rotate 3
   dateext     ←追加
   missingok
   compress
   postrotate
   〜〜省略〜〜

(6)「logrotate /etc/logrotate.d/mysql.org」を実行しローテーションを実施します。
※「/var/log/mysql/」配下のログファイルの容量が大きい場合時間がかかります。強制終了等を行わないでください。
プロンプトが表示されたら「ls -lh /var/log/mysql/」を実行しログファイルがローテーションされていることを確認します。

 なお、ログローテーションが行えていなかったことが原因で、上記の手順を実行前に既にDisk容量が残り少なくなっていた場合、上記手順を実行する前にログのスペースを確保する手順を以下に示します

・SSHで接続するCMIにアクセスしてログイン
・3) Appliance
・2) Start or Stop Services
・1) Stop Tomcat
・4) Stop Database
・Optionally, copy /var/log/mysql/mysql.log and mysql-error.log to a remote location.
 This is only for reference - if you are not concerned about losing these logs it is not critical. Note that it may be necessary to change permissions on these files before copying them.
 オプションとして、/var/log/mysql/mysql.log と mysql-error.log をリモート・ロケーションにコピーしてください。これはあくまで参考であり、これらのログを失う心配がないのであれば、重要ではありません。これらのファイルをコピーする前に、これらのファイルのパーミッションを変更する必要がある場合があることに注意してください。
・コマンドラインからこれらのファイルを両方とも削除してください。
・上記と同じ手順でDatabase、Tocatの順番にサービスを起動します。