認証モジュールのアクセスログ(/opt/icewall-sso/logs/cert.log)は、以下のフォーマットで出力されます。
[日時][ログメッセージ][メッセージID]
認証モジュールのパフォーマンスを見るには、パフォーマンス情報出力設定項目を1に設定(/opt/icewall-sso/certd/config/cert.confのLOGPERFを1に設定)にします。この項目を設定することにより、認証データベースへのアクセス処理時間の所要時間と、認証モジュール内のリクエスト処理時間が以下のフォーマットで出力されます。(※この機能は HP IceWall SSO Version 8.0 R1 Enterprise Edition 及び Version 8.0.1 Standard Edition より提供されています)
[日時][キーワード][スレッドID][スレッド種別][ユーザID][リクエスト処理時間][DB処理時間1][DB処理時間2]……[DB処理時間n]
以下に認証モジュールのアクセスログの出力例を示します。
@はリクエスト処理時間(図2では認証サーバがログアウト要求を受け取ってから完了通知を返すまでの時間)、Aは認証データベースの更新処理(Update)の時間、Bは履歴データベース処理(Insert)にかかった時間を示しています。もし、A、Bの時間が通常時の処理時間よりも大きい場合は、以下の問題が考えられます。
(1)認証サーバ―認証データベース間のネットワーク障害
(2)認証データベースのパフォーマンス障害
これらの問題がある場合、(1)の場合は、認証サーバから認証データベースへのpingコマンドを実行して調査します。(2)の場合は、認証データベースにてtopおよびsarコマンドを実行して調査します。
A、Bは通常の処理時間で、@の時間が通常の処理時間よりも大きい場合は、以下の問題が考えられます。
(3)認証サーバのパフォーマンス障害
(3)の場合は、認証サーバにてtopおよびsarコマンドを実行して調査します。
また、PERFログはログイン及びアクセスがあれば必ず出力されます。例えば、2006/11/15 16:30:15時のLOGIN件数を知りたいのであれば、以下のコマンドを実行します。
grep 2006/11/15 cert.log | grep 16:30:15 | grep LOGIN | wc -l
上記のコマンドを利用することで、certdの1秒間のログイン処理件数やアクセス処理件数を知ることが可能です。
上記のコマンド連続して実行し、得られたデータよりグラフを作成した結果の例を挙げます。
通常時は、certdは秒間4000強のアクセス、300強のログインを処理していますが、赤線の中は明らかにパフォーマンスが落ちているのが分かります。
表からは、赤線の間に何かが起きていることは明らかであるので、この時間帯に絞って調査できます。この場合の調査対象としては、認証データベースのパフォーマンス障害、認証サーバ―認証データベース間のネットワーク障害、認証サーバのCPU使用率高騰が考えられます。
ここまで説明しましたように、認証モジュールのアクセスログにPERFデータを出力しておくことは、パフォーマンス測定及び障害検知に非常に役に立ちます。 |