マルチノードクラスタにおいてダウンタイム無しでGatewayデータベースから監査レコードを削除する方法

Document created by Koichi_Ikarashi Employee on Jul 7, 2017
Version 1Show Document
  • View in full screen mode

文書番号: JTEC002613

製品名: CA API Management Gateway

バージョン: All

 

この技術情報は既存のTEC0000001123の内容を日本語で概要を案内するものです。

 

◆ソリューション

 

 

背景
CA API Gatewayは、Internal Audit Sink Policyが設定さていない場合、ローカルのGatewayデータベースに処理されたメッセージトラフィックに対して監査レコードを保持します。ある状況では、高負荷な環境で過剰な監査が発生し、Gatewayデータベースは監査レコードの処理に問題が発生することがあります。このドキュメントはGatewayデータベースから既存の監査ログを削除する方法を説明します。これは、Gatewayデータベースのアップグレードを加速・促進すること、レプリケーション構成の失敗への対処の促進、またGatewayデータベースの移行の完了を必要とするかもしれません。Gatewayデータベーステーブルスペースはほぼ排他的に監査レコードで消費されます。それらの監査レコードの削除は、前述の処理をシンプルにそして高速化することができます。

 

手順

 

以下の手順は影響のあるクラスタにおいてGatewayの特権shellで実行しなければいけません。

 

1. 両方のGatewayでレプリケーションを無効化します : mysqladmin stop-slave
2. MySQLトラフィックを両方のGatewayでブロックします: iptables -I INPUT -p tcp -m tcp --dport 3306 -j REJECT
3. MySQLコミュニケーションが両方のGatewayで実行されていることを確認します。永続的な接続を終了させます: netstat -na | grep 330

注意: 実行結果が以下と同様であれば、レプリケーションは完全にはブロックされていません:

tcp 0 0 10.0.1.2:23159 10.0.1.3:3306 ESTABLISHED

4. プライマリ Gatewayのサービスをロードバランサーから除外します(もし使用されていば)。
5. プライマリ Gatewayのサービスを停止します: service ssg stop
6. プライマリ Gatewayデータベースをバックアップします: mysqldump --all-databases | gzip > /root/audit-record-removal.sql.gz
7. MySQLプロンプトからプライマリ Gatewayデータベースにアクセスします: mysql ssg
8. 以下のMySQLクエリを実行します。

注意: これらのコマンドはコピーして一度だけ実行します。MySQLデータベースは各コマンドを順番に処理します。

SET FOREIGN_KEY_CHECKS = 0;
truncate table audit_admin;
optimize table audit_admin;
truncate table audit_detail;
optimize table audit_detail;
truncate table audit_detail_params;
optimize table audit_detail_params;
truncate table audit_main;
optimize table audit_main;
truncate table audit_message;
optimize table audit_message;
truncate table audit_system;
optimize table audit_system;
SET FOREIGN_KEY_CHECKS = 1;

9. プライマリ Gatewayのサービスを起動します: service ssg start
10. プライマリ Gatewayのサービスをロードバランサーに追加します。
11. セカンダリGatewayのサービスをロードバランサーから除外します。
12. セカンダリGatewayのサービスを停止します: service ssg stop
13. MySQLトラフィックを両方のGatewayでブロックします: iptables -D INPUT -p tcp -m tcp --dport 3306 -j REJECT
14. プライマリに対するセカンダリ上のレプリケーションを再初期化します: /opt/SecureSpan/Appliance/bin/create_slave.sh

15. 注意: プロンプトが表示されたら、セカンダリ ノードに対してプライマリGatewayデータベースのクローンを作成します。
16. セカンダリに対するプライマリ上のレプリケーションを再初期化します: /opt/SecureSpan/Appliance/bin/create_slave.sh
17. 注意: プロンプトが表示されたら、リモートデータベースのクローンは作成しないでください。
18. セカンダリのGatewayサービスを起動します: service ssg start
19. セカンダリGatewayのサービスをロードバランサーに追加します。

 

◆追加情報:

TEC0000001123: Removing audit records from the Gateway database in a multi-node cluster without downtime

Attachments

    Outcomes