WebSphere Virtual Enterprise ソリューション・ワークショップ ~最高のエクスペリエンスを実現する自律型Webシステム~ 障害停止の未然防止と無停止メンテナンス
by user
Comments
Transcript
WebSphere Virtual Enterprise ソリューション・ワークショップ ~最高のエクスペリエンスを実現する自律型Webシステム~ 障害停止の未然防止と無停止メンテナンス
WVEソリューションワークショップ WebSphere Virtual Enterprise ソリューション・ワークショップ ~最高のエクスペリエンスを実現する自律型Webシステム~ 障害停止の未然防止と無停止メンテナンス © 2012 IBM Corporation Disclaimer この資料は日本アイ・ビー・エム株式会社ならびに日本アイ・ビー・エム システムズ・エンジニアリング株式会社の正式なレビュー を受けておりません。 当資料は、資料内で説明されている製品の仕様を保証するものではありません。 資料の内容には正確を期するよう注意しておりますが、この資料の内容は2012年4月現在の情報であり、製品の新しいリリース、 PTFなどによって動作、仕様が変わる可能性があるのでご注意下さい。 今後国内で提供されるリリース情報は、対応する発表レターなどでご確認ください。 IBM、IBMロゴおよびibm.comは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の 製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点でのIBMの商標リストについては、 http://www.ibm.com/legal/copytrade.shtmlをご覧ください。 JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の米国およびその他の国における商標または登録商 標です。 Microsoft, Windows および Windowsロゴは、Microsoft Corporationの米国およびその他の国における商標です。 Linuxは、Linus Torvaldsの米国およびその他の国における登録商標です。 UNIXはThe Open Groupの米国およびその他の国における登録商標です。 2 © 2012 IBM Corporation アジェンダ 1. ソリューション概要 2. 障害予兆を見つけて未然に対処 3. システム内部を見える化 4. サービス無停止メンテナンス 5. まとめ 3 © 2012 IBM Corporation ソリューション概要 ~障害停止の未然防止 と無停止メンテナンス~ 4 © 2012 IBM Corporation Webアプリケーション基盤に求められる機能 アプリケーション基盤の仮想化と自動化~自律的システム~が重要 性能 スケーラビリティ サービス・レベル管理 •ビジネス目標に応じたポリシーに 基づく適切な応答性能の実現 アプリケーション管理 •サービス無停止でのアプリケー ション更新、及びロールバック •リリース前テスト支援 仮想化 5 アジリティ ワークロード管理 •負荷の平準化&過負荷の防止 サービス継続性管理 •障害兆候の監視と未然防止 •障害発生時もサービス継続 •障害からの早期復旧 運用管理 効率化 可用性 リソース管理 •サービスレベル及び負荷の変動 に応じたリソースの配分 保守・運用作業支援 •サービス無停止での保守作業 自動化 © 2012 IBM Corporation このソリューションが解決する課題 課題 原因 解決策 障害予兆を見つけて未然に対処 JVM内部およびアプリケーションの 稼動までを対象とした適切な障害 監視が行えていないため 障害発生時やアプリ更新作業時に サービスレベル低下やサービス停 止時間が発生してしまうことがある システム内部を見える化 障害箇所の適切な縮退が行えてい ないため サービス無停止メンテナンス 障害停止の未然防止 / 無停止メンテナンス 6 © 2012 IBM Corporation ソリューション概要 障害停止の未然防止 / 無停止メンテナンス 障害予兆を見つけて未然に対処 – ヘルス・ポリシーを設定し、リクエスト応答時間やメモリ使用状況などの情報を把握することに より、障害予兆のチェックとサービス停止を防ぐ自動アクションの実行が可能になります。 システム内部を見える化 – WVE専用に設計されたロギング機能により、詳細なシステム状況の把握が可能になります。 それにより、障害につながるシステム異常状態の発見がより容易になります。 サービス無停止メンテナンス – 保守モード機能を利用することにより、アプリケーションバージョンアップやメンテナンス時に サービスを維持したまま、アプリケーションサーバーを縮退させることが可能になります。 7 © 2012 IBM Corporation 障害予兆を見つけて未然に対処 ~ヘルス管理~ 8 © 2012 IBM Corporation 障害予兆を見つけて未然に対処 サーバー#1 サーバー#2 ヘルス・ポリシー 販売業務用クラスター 応答が遅いな 販売業務 一般ユーザー サーバー#3 ODR #1 販売業務 応答時間 販売業務 メモリ使用量 テストユーザー ダンプ出力・サーバー再起動 うん、遅い ヘルス条件 できめ細かな監視ができま す。 ヘルス・アクション ヘルス条件に違反したら をアクション実施 ・異常を通知(メール /SNMPトラップ) ・ダンプ出力 ・サーバー再起動 モニタリングしたい項目を設定 レポート 通知(メール・SNMP) DM DM 監視アクション実施 命令 システム管理者 DM HA 管理機能を冗長化 9 © 2012 IBM Corporation ヘルスポリシー概要 ヘルスモニタリング機能 – ランタイムの健康状態をモニタリングし、アクションを実行 – モニタリング条件と実行アクションをヘルスポリシーとして定義 ヘルスポリシーの定義 ヘルス条件 ヘルス管理の流れ(例) ポリシー違反発生を検知 リクエスト応答時間などの閾値を条件として設定 この条件に背くとポリシー違反とみなされる イベント通知 アクション ヘルス条件違反時にとるアクションを定義。 サーバー再始動、メモリー/ヒープダンプの取得などの アクションがとれる。 ターゲット モニタリング対象: セル、クラスター、サーバー、ODR から選択(V7からODRも対象に) 10 リクエストの静止 ヒープダンプの取得 (他のノードでのJVM開 始) ポリシー違反JVMの停 止 © 2012 IBM Corporation ヘルス条件とアクション 11 「ヘルス条件」には、事前定義ヘルス条件とカスタム・ヘルス条件の2種類がある – 事前定義ヘルス条件 • WVEインストール時に作成される条件 • 応答時間超過やメモリー使用量超過などの定義がある – カスタム・ヘルス条件 • PMIなどでの計測情報などを元に自分で条件を作成できる 「アクション」は以下2つの観点から定義する – 「リアクション・モード」 • 「自動」なら違反時に自動アクション • 「監視」ならランタイムタスク通知のみ – 「アクション」の内容 • サーバー再始動やダンプ出力などがある • カスタムアクションとしてスクリプトの実行などが可能 © 2012 IBM Corporation 事前定義ヘルス条件一覧 ヘルス条件 説明 期間ベース条件 モニタリング対象サーバーの開始時からの最大存続時間を設定。時間または日で設定。 要求タイムアウト超過条件 モニタリング対象サーバーが処理する要求の中でタイムアウトが発生する比率の閾値(%)を設 定。 応答時間超過条件 モニタリング対象サーバーからの平均応答時間の閾値を設定。 メモリー条件:メモリー使用量超過 モニタリング対象サーバーのメモリー使用量の最大ヒープサイズに対する比率の閾値と、その 閾値を超えている時間の閾値を設定。 メモリー条件:メモリー・リーク メモリー・リーク検知のための条件。検出のレベルとして3段階から選択。低速検出ではより長 い時間での過去データが使用されるため検出の精度は高くなるが検出には時間がかかる ストーム・ドレイン条件 エラーを返しているようなケースで、応答時間が正常時に比べて著しく短くなっている状態を検 知するための条件。検出のレベルは2段階から選択。 ワークロード条件 モニタリング対象サーバーが開始してから処理可能な合計リクエスト数の閾値を設定。 要求タイムアウト超過条件で採用されるタイムアウト値には注意が必要 – タイムアウト値の設定は以下のパラメータが関連 • ODR アウトバウンド要求タイムアウト • goodServiceTimeLimitSpec (セルのカスタムプロパティー) • timeoutFactor (セルのカスタムプロパティー) • サービス・ポリシーに定義した平均応答時間目標値 12 © 2012 IBM Corporation (参考) 要求タイムアウト超過条件 タイムアウト値決定フロー ※参考 - WebSphere Virtual EnterpriseによるWASシステム運用負荷軽減のヒント: 第2回:WVE 保守モード、ヘルス・モニタリング機能を利用した予防保守 http://www.ibm.com/developerworks/jp/websphere/library/wxd/wve61_usecase/2.html 13 © 2012 IBM Corporation カスタムヘルス条件一覧 ヘルス条件 説明 PMI メトリック: サーバー始動から 接続プール(JDBC)、システムモジュール、プロセスモジュール、EJBモジュール、Webアプリ ケーションモジュール、JVMランタイムモジュール、スレッドプールモジュール PMI メトリック: 最後に報告された間隔 ODR サーバー・レベル・メトリック: サーバー始 動から 出発数、応答時間 (ミリ秒)、現在実行中の要求数、サービス時間 (ミリ秒)、平均待機時間 (ミリ 秒)、サービス時間 (ミリ秒)、平均待機時間 (ミリ秒)、エラー、サービス済み、タイムアウト ODR サーバー・レベル・メトリック: 最後に報告 New された間隔 v7 ODR セル・レベル・メトリック: ODR 開始から ODR セル・レベル・メトリック: 最後に報告され た間隔 MBean 属性メトリック: Long 戻りの型 出発数、応答時間 (ミリ秒)、現在のキューの長さ、サービス時間 (ミリ秒)、エラー、平均キュー 長、サービス済み、タイムアウト、現在実行中の要求数、到着数、キュー・オーバーフロー除去 数、遅延、平均待機時間 (ミリ秒) Mbeanの値をもとに条件を作成 MBean 属性メトリック: String 戻りの型 URL戻りコード・メトリック ターゲット・サーバー上のURLから返されるステータスコードをもとに条件を作成 外部URL戻りコード・メトリック 外部URLから返されるステータスコードをもとに条件を作成 ※WVE7.0 InfoCenter - カスタム・ヘルス条件副次式ビルダー http://pic.dhe.ibm.com/infocenter/wveinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.virtualenterprise.doc%2Fodoe_task %2Fhc_condition_subex.html 14 © 2012 IBM Corporation ヘルスアクション一覧 アクション 説明 サーバー再始動 ヘルス条件に違反したサーバーを再起動。APCと連携してサービス・ポリシー違反を起こさな いように実施される スレッド・ダンプの取得 ヘルス条件に違反したサーバー上でスレッドダンプを取得 JVMヒープダンプの取得 ヘルス条件に違反したサーバー上でJVMヒープダンプを取得 New SNMPトラップの生成 v7 SNMPマネージャーにトラップを送信。 WVE V7からの新機能。 サーバーを保守モードに設定する ヘルス条件に違反したサーバーを保守モードに設定。アフィニティがあるものは、終了を待って 保守モードに移行。 サーバーを保守モードおよびアフィニティー中 断に設定する ヘルス条件に違反したサーバーを保守モードに設定。アフィニティがあるものも、強制的に中断 される。 サーバーを保守モードから外す 保守モードを解除し標準モードへ切り替える WVE V7からSNMPアクションが追加 – ヘルス条件違反があった場合にトラップをSNMPサーバーに送信 – APCイベント(アプリケーションサーバー起動・停止)の通知にも使用可能。 – MIBファイルは以下のパスに存在 • WAS_HOME/etc/wvemib.txt – SNMPマネージャーのIPなどはセルのカスタムプロパティーで設定(詳細は以下のリンクを参照) ※WVE7.0 InfoCenter - Simple Network Management Protocol (SNMP) トラップの生成 http://publib.boulder.ibm.com/infocenter/wveinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.virtualenterprise.doc%2Fodo e_task%2Ftsnmp.html 15 © 2012 IBM Corporation カスタムアクション デフォルトで定義された以外のアクションを指定することが可能 以下の2種類が存在 – シェル(非Javaアクション) – Javaプログラム(Javaアクション) 「動作ポリシー > カスタム・アクション」にて定義 – 実行可能ファイル、引数、OSなどを指定 設定例(ログ収集シェル) 名前: LogCollect 実行可能ファイル: /opt/mws/bin/logCollector.sh 実行可能引数: なし オペレーティング・システム: UNIX 作業ディレクトリー: /opt/mws/bin/ 作成後、ヘルスポリシー作成の際にカスタム・ヘルス・ポリシーアクションとして選択可能に – ここで定義することも可能 16 © 2012 IBM Corporation ヘルス・ポリシー定義例 – 監視システムとの共存 ITMモニタリング ヘルス管理 ヘルス条件には、 ・要求タイムアウト超過 ・メモリー使用量超過条件 を指定 タスク管理(DM) 管理者 異常検知 割り振りを停止した上で 自動で資料取り& 回復処理を自動実行! 通知受信 保守モード設定 各アクション実行毎に タスク登録 ヘルス管理のアクション 実行結果の確認 (タスク画面でのログ 確認) スクリプト実行 (通知) ヒープダンプ 取得 障害検知 プロセス障害通知 サーバーアクセス ダンプの退避 サーバー再起動 ヘルスモニタリングの運用手順 保守モード解除 17 保守モード解除を確認 プロセス監視の運用手順 © 2012 IBM Corporation ヘルスモニタリングのチューニング ヘルス・モニタリング機能は、ヘルス・コントローラーとセンサーが協調して動作することで実現 センサー – ヘルス・ポリシー毎に存在 – 応答時間やメモリー使用率などの具体的な値を取得し、ポリシー設定値と比較して違反がない か検査 ⇒違反があったヘルス・ポリシーをマーク。(アクションは実行しない) コントローラー – センサーによって違反とマークされたポリシーを検知してランタイム・タスクにアラートを挙げ、 その後のアクションを実行 センサーは10秒から15秒サイクルで検査を行い、コントローラーはデフォルト5分間隔で検査を行う – サイクルのチューニングができるのはコントローラーのみ 18 © 2012 IBM Corporation ヘルスコントローラーのチューニング ヘルスコントローラー – WVEの動的なオペレーションを司るオートノミック・マネジャーと呼ばれるサービスの一つ – セルの中のJVMのどこか一箇所で稼動 – 固定も可能 • 固定したいプロセスのJava仮想マシンのカスタムプロパティーに以下を設定 HAManagedItemPreferred_hmm=true – 「ランタイム操作」⇒「拡張デプロイメント」画面の「コア・コンポーネント」タブで確認可能 以下の動作設定が可能 – コントロール・サイクル長 – 最大連続再始動 – 再始動タイムアウト – 最小再始動間隔 – 再始動禁止時間 ※参考 - WebSphere Virtual EnterpriseによるWASシステム運用負荷軽減のヒント: 第2回:WVE 保守モード、ヘルス・モニタリング機能を利用した予防保守 http://www.ibm.com/developerworks/jp/websphere/library/wxd/wve61_usecase/2.html 19 © 2012 IBM Corporation 高可用性デプロイメント・マネージャー デプロイメント・マネージャーの冗長構成をサポート 構成 管理コンソール Active DM 構成ファイル ODR Backup DM wsadmin/スクリプト Backup DM 1台のアクティブと複数のスタンバイから構成 – スタンバイでは管理コンソールへのログイン、構成の変更などを禁止 – フェールオーバーはHAマネージャーが実施 – ODRはアクティブ・サーバーを検知してルーティング デプロイメント・マネージャーが提供するWVE特有機能 – 以下の機能の高可用性が求められる場合に使用を検討 • 可視化データ・サービス • レポート • 監視モード ※参考 - WVE 7.0 InfoCenter - 高可用性デプロイメント・マネージャー http://pic.dhe.ibm.com/infocenter/wveinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.virtualenterprise.doc%2Fodoe_task%2Fcxdsodmgr.html 20 © 2012 IBM Corporation システム内部を見える化 ~モニタリングツールと各種ログ~ 21 © 2012 IBM Corporation システム内部を見える化 問題判別に役立つログ を見たい サーバー#1 バイナリー・トレース ODRカスタムログ サーバー#2 サーバー#3 販売業務用クラスター 販売業務 販売業務 販売業務 ログ 一般ユーザー ODR システム情報 テストユーザー リアルタイムにシステム 状況を見たい 集中ロギング レポート ランタイムタスク オペレーション・アラート システム情報取得 問題判別に役立つログ を見たい あれ、やばそう? DM Visualization ログ システム管理者 システム情報を可視化す る各種ツール 長期にわたるシステム統 計情報を見たい 可視化データサービス 22 © 2012 IBM Corporation WVEが提供する「見える化」 リアルタイムにシステム状況を見たい レポート オペレーション・アラート ランタイム・タスク 長期にわたるシステム統計情報を見たい ・ 可視化データ・サービス 問題判別に役立つ情報を見たい 23 ・ バイナリー・トレース ・ ODRカスタムログ ・ 集中ロギング © 2012 IBM Corporation レポート (1/2) 24 リアルタイム レポート機能 – 管理コンソールからリアルタイムのパフォーマンス状況を図表で視覚化するツール • 管理コンソール: 「ランタイム操作 > レポート」から参照 (各サーバーやクラスターの「レポート」タブからも参照可能) – サービスポリシーごとの平均応答時間やノードごとのCPU使用率など様々な情報を見る ことができる © 2012 IBM Corporation レポート (2/2) 「データの追加」ボタンから以下を設定することにより、取得したいデータ項目を指定する。 – – – 25 リアルタイム データ・セット・タイプ • 取得データの項目名 • 「動的クラスター」、「サービス・ポリ シー」など データ・セット • 上記で選択したデータ・セット・タイプ の実際に設定されている名前 • 「testcluster(/XXXCell01)」、 「Default_SP (/XXXCell01)」など 使用可能なメトリック • 上記で選択したデータ・セットで取得 できる統計情報 • 「平均応答時間」、「平均スループッ ト」、ノードの「CPU使用率」、「合計メ モリー」など V7.0から横軸の縮尺を設定できるルーラーが追加された © 2012 IBM Corporation オペレーション・アラート リアルタイム WVE環境で発生している問題を報告書/サマリービューで表示することで管理者に通知 – ランタイム操作以下の各メニュー – 動的クラスター、アプリケーション、サーバーなどのオペレーションタブ 問題の種類に応じて – 状況を通知 – アクションプランを提示 「ランタイム操作」でのオペレーションアラート 「動的クラスター」でのオペレーションアラート 26 © 2012 IBM Corporation ランタイム・タスク (1/2) リアルタイム WVE環境内のランタイム・コンポーネントによって生成されるイベントを管理 – オートノミック・マネージャーによるポリシー違反の検知が記録される 監視モードの場合はアクションの受諾を受付 管理コンソール 「システム管理 > タスク管理 > ランタイム・タスク」 で設定 自動モードの場合: 自動アクション実行し通知 監視モードの場合: サービスポリシー違反の通知 監視モードの場合、ランタイムタスクで管理者がプランされ たアクションを受諾してはじめてアクションが実行される 27 © 2012 IBM Corporation ランタイム・タスク (2/2) リアルタイム ランタイム・タスクの内容を管理コンソールを経由せずに確認する方法として「イベント・ロ ガー」、「E メール通知」の2種類がある イベント・ロガー – ランタイム・タスクで確認できるイベントをログに書き出すことが可能。 – セルレベルのカスタム・プロパティーで出力設定をする。 – <DM_profile_root>/tmsStorage に出力される 出力例(TaskManagementEvents.log) timeStamp|taskID|originatedTime|cell|notification|submitter|reasonMsg|taskType|severity|actions|state|status|statusMsg 2011-02-10T11:13:15.937+0900|1979882876|2011-02-10T11:13:15.640+0900|LENOVOXDCell01|websphere.taskmanagement.tasknew|ARFM Controller for cell LENOVO-XDCell01| ARFM0261E: セル LENOVO-XDCell01 のサービス・ポリシー SP_Gold が、11/02/10 11:12 から重大な違反を受けています。 |非プラン|重大| | 新規| | 2011-02-10T11:13:15.968+0900|1979882876|2011-02-10T11:13:15.640+0900|LENOVOXDCell01|websphere.taskmanagement.taskstatechange|ARFM Controller for cell LENOVO-XDCell01| ARFM0261E: セ ル LENOVO-XDCell01 のサービス・ポリシー SP_Gold が、11/02/10 11:12 から重大な違反を受けています。 |非プラン|重大 | |新規| | ※参考 - WVE 7.0 InfoCenter - タスク管理サービスのイベント・ロガー http://pic.dhe.ibm.com/infocenter/wveinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.virtualenterprise.doc%2Fxadmin%2Fcxadmtms.html 28 E メール通知 – ランタイムタスクの内容をEメールで通知することが可能 – 管理コンソール 「システム管理 > タスク管理 > 通知」 で設定 © 2012 IBM Corporation WVEが提供する「見える化」 リアルタイムにシステム状況を見たい ・ レポート ・ オペレーション・アラート ・ ランタイム・タスク 長期にわたるシステム統計情報を見たい 可視化データ・サービス 問題判別に役立つ情報を見たい 29 ・ バイナリー・トレース ・ ODRカスタムログ ・ 集中ロギング © 2012 IBM Corporation 可視化データ・サービス 統計情報 様々な統計情報をCSV形式で出力 – 管理コンソール 「システム管理 > 可視化データ・サービス」 で設定(デフォルト無効) – 有効にすると <DM_log_root>/visualization に出力される – DMがロギング(DMが停止しているとロギングされないので注意) 活用方法 – 課金のための情報としてログ – キャパシティープランに使用 – 統計分析に使用 出力例(ServerStatsCache.log) timeStamp,name,node,cellName,version,weight,cpu,usedMemory,uptime,totalRequests,liveSessions,updateTime,high MemMark,residentMemory,totalMemory,db_averageResponseTime,db_throughput,totalMethodCalls 1331717933703,nodeagent,AA3156300Node08,AA3156300Cell05,,0,,,,,,1331717920656,,,,,, 1331717933703,dmgr,AA3156300CellManager05,AA3156300Cell05,XD 7.0.0.1,1,,,,,,1331717920656,,,,,, 1331717948703,nodeagent,AA3156300Node08,AA3156300Cell05,,0,,,,,,1331717933703,,,,,, 1331717948703,dmgr,AA3156300CellManager05,AA3156300Cell05,XD 7.0.0.1,1,,,,,,1331717933703,,,,,, 1331717963703,nodeagent,AA3156300Node08,AA3156300Cell05,,0,,,,,,1331717948703,,,,,, 30 Excelなどを使ってグラフ化可能 © 2012 IBM Corporation (参考)可視化データ・サービスログ一覧 統計情報 ログ名 説明 DeploymentTargetStatsHistoricCache デプロイメント・ターゲット(アプリケーションサーバー、クラスター)の統計情報 NodeStatsHistoricCache ノードに関する統計情報 ServerStatsCache サーバー(各プロセスごと)の統計情報 TCModuleInstanceStatsCache トランザクション・クラス・モジュール・インスタンスの統計情報 TCModuleStatsCache トランザクション・クラス・モジュールに関する統計情報 TierStatsCache アプリケーションレイヤー以外の統計情報 FineGrainedPowerConsumptionStatsCache セル・ノードの処理能力および作業量の統計情報 ServerPowerConsumptionStatsCache サーバー・レベルの FineGrainedPowerConsumptionStatsCache と、いくつかの 追加のサーバー・データを統合したもの ※参考 - WVE 7.0 InfoCenter – ログ http://pic.dhe.ibm.com/infocenter/wveinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.virtualenterprise.doc%2Freference%2Flogs.html 31 © 2012 IBM Corporation WVEが提供する「見える化」 リアルタイムにシステム状況を見たい ・ レポート ・ オペレーション・アラート ・ ランタイム・タスク 長期にわたるシステム統計情報を見たい ・ 可視化データ・サービス 問題判別に役立つ情報を見たい 32 バイナリー・トレース ODRカスタムログ 集中ロギング © 2012 IBM Corporation バイナリー・トレース 問題判別 特定のイベントに関するトレース情報をバイナリー形式で出力 – ODRを通過するHTTP、SIPリクエストやODCイベントなど – デフォルト設定で出力される – ファイル名: btrace.* – <profile_root>/logs/<JVM_name> 配下に存在 – 出力設定はセルのカスタムプロパティーでおこなう バイナリー形式なので、そのままでは読めない。traceコマンドを使用する。 – <WAS_root>/bin/trace read <btrace.* 存在ディレクトリ> [<トレース仕様>] コマンド例 ./trace read /opt/IBM/WebSphere/AppServer/profiles/ODR01/logs/ODR01/ http.response.error 出力例 236: http.1 03/30/12 14:38:02:766 JST http.response.error.404, URL=http://localhost:81/snoop, reason=Reason: URL did not match any applications Null webmodule in addTreeInfo(). debugLevel=2 238: http.2 03/30/12 14:38:02:785 JST http.response.error.404, URL=http://localhost:81/favicon.ico, reason=Reason: URL did not match any applications Null webmodule in addTreeInfo(). debugLevel=2 ※参考 - WVE 7.0 InfoCenter - バイナリー・トレース機能カスタム・プロパティー http://pic.dhe.ibm.com/infocenter/wveinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.virtualenterprise.doc%2Fodoe_task%2Ftodoebtf.html 33 © 2012 IBM Corporation ODRカスタムログ 問題判別 統計情報 取得条件と記録形式をカスタマイズしたログの取得が可能。 – 基本的にアクセスログの形式 – 「ルール」と「アクション」という形で設定する。 • ルール: ログを取得する条件 • アクション: ログの記録形式 – wsadminまたはmanageODR.pyで設定。 以下は同一リクエストを2つのログに書き出す例 例:Custom1.log (出力設定: %r %B %h %z %Z) “GET /BADAPP HTTP/1.1" 70 myremotehost.mycompany.com - “GET /A/ServerInfo HTTP/1.1” 422 myremotehost.mycompany.com 9.44.111.191 myCell01/myNode01/MyClusterA_myNode01 "GET /A/ServerInfo HTTP/1.1" 90 myremotehost.mycompany.com - "GET /favicon.ico HTTP/1.1" 70 myremotehost.mycompany.com - "GET /favicon.ico HTTP/1.1" 70 myremotehost.mycompany.com - 例:Custom2.log (出力設定: %t %r %s) 01/Jul/2009:20:35:35 EDT "GET /BADAPP HTTP/1.1" 404 01/Jul/2009:20:35:43 EDT "GET /A/ServerInfo HTTP/1.1" 200 01/Jul/2009:20:37:21 EDT "GET /A/ServerInfo HTTP/1.1" 503 01/Jul/2009:20:37:21 EDT "GET /favicon.ico HTTP/1.1" 404 01/Jul/2009:20:37:24 EDT "GET /favicon.ico HTTP/1.1" 404 ※参考 - WVE 7.0 InfoCenter - カスタム・ログの構成 http://pic.dhe.ibm.com/infocenter/wveinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.virtualenterprise.doc%2Fodoe_task%2Ftxdcustomlog.html 34 © 2012 IBM Corporation 集中ロギング New v7 問題判別 集中ロギング – WVE V7からの新機能 – ログ収集とトレース解析のためのスクリプトを提供 • ログ収集: mustgather.py • トレース解析: traceRequestFlowAnalyzer – 次リリースのIBM Support Assistant (ISA)と統合予定 35 © 2012 IBM Corporation 集中ロギング :問題解析のためのログ収集 New v7 問題判別 新しいスクリプト:mustgather.py – 問題判別に使用する、MustGatherタイプのログを簡単に収集することが可能になりました。 – コマンドは、enable/disable/collect – 引数に、以下のタイプを指定します。 - Response codes: 404, 503, 504 - agent - middleware agent - appedition - Application Edition Manager - arfm - arfm - dc - dynamic clusters - hadmgr - High Availability Deployment Manager - hmm - health monitoring - odr - general issues on the odr - operations - visualization issues - reports - visualization issues with Report tab - reportsPerf - visualization issues with performance data - repository - Extended Repository Service - sip - SIP request routing 例: 9 404HTTPステータスコードに関する情報を収集する場合 ①有効化: wsadmin -lang jython -f c:¥WebSphere¥AppServer¥bin¥mustgather.py enable 404 ②問題を再現 ③収集: wsadmin -lang jython -f c:¥WebSphere¥AppServer¥bin¥mustgather.py collect 404 "c:¥¥mydocs¥¥collection.zip" ④無効化: wsadmin -lang jython -f c:¥WebSphere¥AppServer¥bin¥mustgather.py disable 404 36 © 2012 IBM Corporation 集中ロギング :トレースログの解析 新しいスクリプト: traceRequestFlowAnalyzer.sh/bat New v7 問題判別 – 使用方法 • traceRequestFlowAnalyzer <odrTraceLogFileName> [<odrTraceFileName> ...] • traceRequestFlowAnalyzer <odrTraceLogsDir> – 使用例) • traceRequestFlowAnalyzer.sh $WAS/profiles/mynode/logs/myodr/trace* > summary.out リクエスト/レスポンスのトレースログを解析するためのツールです。以下の様な解析が可能です。 – リクエスト/レスポンスの抽出 – URI、仮想ホスト、割り振り先の表示 – ステータスコード – ODR、アプリケーションサーバーの処理時間の表示 – あるリクエストに関するログを統合 – アフィニティデータのサマライズ – 見つかったエラーをハイライト表示 HttpProxyServiceContextImpl@5764615 =============================================================================== '//localhost:80/snoop%EF%BC%91 404: Client Error:Not Found Request arrived: [12/03/30 16:03:17:390 JST] thread='00000055' Lineno=3149 file='C:¥Program Files¥IBM¥WebSphere80¥AppServer¥profiles¥WVE70Custom01¥logs¥odr01¥trace.log' ERROR Status code: [12/03/30 16:03:17:437 JST] thread='00000055' Lineno=3385 file='C:¥Program Files¥IBM¥WebSphere80¥AppServer¥profiles¥WVE70Custom01¥logs¥odr01¥trace.log' Response dispatched: [12/03/30 16:03:17:500 JST] thread='00000055' Lineno=3514 file='C:¥Program Files¥IBM¥WebSphere80¥AppServer¥profiles¥WVE70Custom01¥logs¥odr01¥trace.log' ODR Request processing=0ms, Downstream server=0ms, ODR Response processing=0ms, Total=110ms *** ALERT: ODR generated errStatusCode 404 File=C:¥Program Files¥IBM¥WebSphere80¥AppServer¥profiles¥WVE70Custom01¥logs¥odr01¥trace.log Line=3385 Correlator=5764615 37 © 2012 IBM Corporation ユーザーへサービスを提供したままサーバーのメンテナンスをする ~保守モード~ 38 © 2012 IBM Corporation ユーザーへサービスを提供したままサーバーのメンテナンスをする サーバー#1 販売業務用 クラスター アフィニティを維持したまま サーバーメンテナンスをするこ とも可能です。 ODR #1 営業管理業務用 クラスター 在庫管理業務用 クラスター 営業管理 業務 在庫管理 業務 販売業務 営業管理 業務 在庫管理 業務 販売業務 営業管理 業務 在庫管理 業務 販売業務 サーバー#2 保守モード IHS ODR #2 ODR保守モード サーバー#3 39 © 2012 IBM Corporation 保守モード メンテナンス対象サーバーへのODRからのリクエスト割り振りを停止 – 他のサーバーに影響を与えずにメンテナンスや問題判別が可能 動的クラスターの場合、最小インスタンス数の確保が可能 – APCと連携して最小値を満たすように他サーバーを起動 3つのレベルでの保守モードをサポート – ノード – アプリケーション・サーバー – ODR • 前段にWebServer + plug-in の配置が前提 40 ODR メンテナンス中 © 2012 IBM Corporation 保守モード 保守モード移行の際には、アフィニティーのあるリクエストをどうするかを選択できる。 アプリケーション・サーバー単位の場合は以下の4種類のモード設定が存在 – 保守モード – 保守モード - アフィニティー中断 – 保守モード – 即時停止 – 標準 ノードの場合は、アフィニティー中断は存在しない 41 © 2012 IBM Corporation まとめ ヘルスポリシーを使用することで、障害予兆の早期発見と自動アクションが可能 障害でのシステム停止予防・未然対処 WVE特有のログ / モニター機能を使用することで、システム状況の詳細把握が可能 きめ細やかな監視による異常の早期発見 保守モードを使用することで、サービス提供の停止をせずにサーバーメンテナンスが可能 メンテナンス時のサービス無停止 42 © 2012 IBM Corporation