「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>障害発生時の分析]] * 目次 [#l1d6e5f0] #contents *概要 [#w55392f9] 「処理能力」の問題や「障害」の発生を未然に防止したり、迅速に対応したりすることで~ 高い可用性を維持するには、「処理能力」・「信頼性(障害)」に関する情報の監視が必要になる。 一般的に、サーバの監視タスクには、以下の項目がある。 *サーバの監視タスク [#i306dbd9] **処理能力の監視 [#s6d4f02f] ***サーバ マシン [#o5394949] ハードウェアの状態、リソース消費量などの警告を確認して、問題発生の可能性を確認する。 ***サーバ プロセス [#q4120c1a] サーバ プロセス独自のリソース(キュー数、スレッド数、仮想アドレス空間など)の利用状況、アクセス状況を確認する。 **ログ監視 [#vafb5f50] ***信頼性(障害) [#if8850b4] ハードウェア・ソフトウェアの障害、設定ミスによるエラーの発生情報と発生原因などを確認する。 ***イベント [#ve64a13c] 各種イベント(システム イベント、アプリケーション イベント、セキュリティ イベント)を確認する。 ***アクセス [#yf6ff0cf] サーバへのリクエスト・レスポンス、レスポンス時間などを確認する。 **死活(生存)監視 [#xe76f02a] ***サービス [#k41c7a6c] サーバ上のネットワーク サービスと定期的に通信を行い、正常に動作しているか否かを確認する。 -ping疎通チェック(サーバ) -ポートチェック(サーバの特定のサービス) -HTTPチェック(Web,APサーバの場合) -DNSチェック ([[DNSサーバ]]の場合) -,etc. ***ネットワーク [#b984ca1e] サーバに向かって定期的にpingなどを実行することで、~ 経路が途中で遮断されていないかなどを確認する。 **ネットワークのトラフィック監視 [#k372416b] ネットワークのトラフィック量、 特定のサーバ、サービスへのトラフィック量を定常的に監視することで、~ トラフィック量が最大になる時間帯の把握や、回線容量の再見積もりができる。 **アップデートの監視 [#u3de9a6a] -オンライン アップデートの状況 -その他のソフトウェアの修正 -プログラム・SPの適用 -ハードウェアのドライバの更新状況 について確認する。 **セキュリティ監視 [#z3c85700] -セキュリティ アップデートについて確認する。 -また、不正アクセス・攻撃、盗聴ノードがないか確認する。 *問題の分析・対策、結果の確認の手順 [#v8631a81] **処理能力 [#k69df5be] 「処理能力」の監視と、問題の分析・対策、結果の確認の手順。 #ref(ProcedureOfPerformanceMonitoringAndMeasures.png,left,nowrap,「処理能力」の監視と対策の手順) ***対策の実施例 [#ec6e676f] +++ハードウェア増設の必要性は、「システム モニタ」で「カウンタ」を監視することで判断する。 +++パラメータ チューニングについては、種々の監視を重ね必要性を判断する。~ またパラメータを変更する場合は、システムのバックアップを用意した上で、慎重に実施する。 +++DBMSのインデックス チューニングの必要性は、~ 各DBMSのトレース ツール等を使用してDBサーバを監視することで判断する。 +++アプリケーションがボトルネックとなっている際に、コードレベルで問題を特定する。~ 支援ツールなどを活用してボトルネックの特定後、必要に応じてプログラムを改修する。 **信頼性(障害) [#j9ff7095] 「信頼性(障害)」の監視と、問題の分析・対策、結果の確認の手順(フロー図)。 #ref(ProcedureOfReliabilityMonitoringAndMeasures.png,left,nowrap,「信頼性(障害)」の監視と対策の手順) -障害の特定には、多くの場合、障害発生時のログの内容からサポート技術文書を検索する。~ このため障害発生時のログが残るように、システムやアプリケーションを実装する必要がある。 -また、正確且つ、迅速な対応が必要となる場合は、~ 製品サポートに加えて、高度なデバッグ ツール・ダンプツールを必要とする場合もある。 *手順の説明 [#i11ade51] **問題の把握・原因の特定 [#j4393ca6] 問題発生後のセルフ・サポートの開始部分になります。 -ツールを使用してシステムがどういう状況にあるか? 問題の把握・原因の特定をしていく作業になります。 例えば、システム上で実行される種々の処理が引き起こす、 -ボトルネック -メモリリーク -クラッシュ(=例外) -ハング -, etc. また、これら収集したシステム状態の情報は解決できなかった場合にも、 サポート・エンジニアに提供する重要な情報源になります。 **解決策の決定 [#u1926a9c] セルフ・サポートの部分になります。~ 「原因の把握」ができれば、その情報を元に~ Webなどから情報を収集して解決策を導く事が出来ます。 ↓↓↓上記で解決できなかった場合 **運用回避可能? [#u3a5a9ac] 原因の把握→本対策とのトレードオフを検討しつつ~ 運用回避などで対処できないかも合わせて検討しておきます。 ・・・例えば、以下の様な場合。 -PG修正量が大きく現実的でない -本番(稼働)環境で発生しており早急な対処が必要 -, etc. **サポートを活用して解決策を決定する [#n093ec63] サポート・エンジニアとの連携部分になります。 ここまでで収集したシステム状態の情報は~ サポート・エンジニアに提供します(現象報告レベルでも可)。 この場合も(原因の特定がまだされていないようなら)~ 継続して「原因の把握」が必要になります。 この作業は、現地作業者とサポート・エンジニアとの~ 連携により行われ、最終的に解決策を導く形をとります。 *[[因果関係の分析例]] [#n912344c] *[[障害対応に使用するツールの一覧]] [#r3ea0a64] ---- Tags: [[:障害対応]], [[:性能]], [[:デバッグ]]