ステータスおよびヘルス・モニタリング
Private Cloud Applianceの全体的なヘルス・ステータスは、ハードウェアおよびプラットフォーム・レイヤーのリアルタイム・データを使用して継続的に監視されます。システム・ヘルス・チェックおよびモニタリング・データは、問題検出の基盤であり、異常な状態をトラブルシューティングするための出発点です。
必要に応じて、管理者はOracleにサービス・リクエストを送信し、問題の解決を支援します。システムがOracle Auto Service Request (ASR)をサポートして登録されている場合、特定のハードウェア障害によって、サービス・リクエストおよび診断データがOracleサポートに自動的に送信されます。
モニタリング
組み込みの健全性検査とは関係なく、管理者はいつでもモニタリングデータを参照して、システムの全体的なステータスや特定のコンポーネントまたはサービスの状態を確認できます。これは、Prometheusに格納されたシステム全体のメトリック・データを問い合せることによって、Grafanaインタフェースを介して行われます。
Grafanaは、監視に視覚的なアプローチを提供します。これにより、多数のビジュアライゼーション・パネルで構成されるダッシュボードを作成できます。各パネルは、選択した形式で表示される単一のメトリック問合せまたはメトリック問合せの組合せに対応します。オプションには、グラフ、表、チャート、ダイアグラム、ゲージなどがあります。メトリック・パネルごとに、しきい値を定義できます。問合せ結果が指定のしきい値を超えたり下回ったりすると、表示の色が変わり、どの要素が正常であるか、調査が必要であるか、または誤動作しているかをすばやく確認できます。
管理者は、一連の事前定義済ダッシュボードを使用して、システムを起動して実行するとすぐにシステムの監視を開始できます。デフォルトのモニタリング・ダッシュボードは、次のカテゴリにグループ化されます。
|
ダッシュボード・セットの監視 |
摘要 |
|---|---|
|
サービス・アドバイザ |
Kubernetesコンテナ・オーケストレーション環境、コンテナ化されたサービス、およびシステム・ヘルス・チェック・サービスを監視するための、アプライアンス固有のダッシュボード・コレクション。 |
|
サービス・レベル・モニタリング |
すべてのマイクロサービスに統計データを提供するダッシュボードの読取り専用コレクション。 |
|
Kubernetesモニタリング |
Oracleのクラウド・ネイティブ監視および視覚化エキスパートが提供するダッシュボードの追加コレクション。これらは、Kubernetesクラスタとそのサービスに関する広範で詳細な情報を提供します。 |
デフォルトのダッシュボードには、システムの物理コンポーネント(サーバー、スイッチ、ストレージ・プロバイダ、オペレーティング・システムおよびファームウェア)のメトリック・データに加え、その論理コンポーネント(コントローラ・ソフトウェア、プラットフォーム、Kubernetesクラスタおよびマイクロサービス、コンピュート・インスタンスおよび仮想化リソース)が含まれます。これにより、管理者またはサポート・エンジニアは、両方のコンポーネント・カテゴリのヘルス・ステータスを個別に検証し、それらの間の相関関係を検索できます。たとえば、特定のマイクロサービスは、使用可能なメモリーが不足しているためパフォーマンスが低下する可能性があります。モニタリングデータは、これがシステム構成の問題、物理リソースの不足、またはハードウェア障害の症状であるかどうかを示します。モニタリングシステムには、ハードウェア障害を検出して報告できるアラートサービスがあります。管理者はオプションで、モニタリング・システムで定義されたルールに基づいてアラートを受信するように通知チャネルを構成できます。
サービスおよびサポート操作の一環として、Oracleでは、デフォルトのダッシュボードに表示される特定のメトリック・データをレポートするよう求められる場合があります。このため、デフォルトのダッシュボード構成は常に保持する必要があります。ただし、監視機能の一部が誤って変更または破損している場合は、デフォルトをリストアできます。同様に、Oracleでは、新しいダッシュボードを作成したり、監視を改善するために既存のダッシュボードを変更したり、正式なアップグレード手順を必要とせずにそれらを運用環境にプッシュできます。
ここで説明するすべてのオープン・ソースのモニタリングおよびロギング・ツールには、顧客が既存のヘルス・モニタリングおよびアラート・システムと統合できるパブリックAPIがあります。ただし、Oracleでは、このようなカスタム構成はサポートされません。
フォルト・ドメインの監視
アプライアンス・インフラストラクチャ、コンピュート・インスタンスおよびそれらの関連リソースを正常な状態で稼働させる場合、フォルト・ドメインは非常に重要な概念です。これは、障害またはメンテナンスによる停止時間イベントを分離することを目的として、インフラストラクチャ・コンポーネントのセットをグループ化し、他のフォルト・ドメインのリソースが影響を受けないようにします。
Oracle Cloud Infrastructureに沿って、Private Cloud Applianceには常に3つのフォルト・ドメインがあります。各フォルト・ドメインは、1つ以上の物理コンピュート・ノードに対応します。Grafanaを使用してシステム全体の監視データを調べる以外に、管理者はサービス・エンクレーブから直接フォルト・ドメインの主要な容量メトリックにアクセスすることもできます。
-
フォルト・ドメイン当たりのコンピュート・ノード数
-
フォルト・ドメイン当たりのRAMの合計および使用可能な量
-
フォルト・ドメイン当たりのvCPUsの合計数および使用可能な数
-
未割当てのシステムCPUおよびRAM容量
フォルト・ドメイン・メトリックは、コンピュート・ノードでホストされているコンピュート・インスタンスによって消費できる実際の物理リソースを反映します。合計には、ハイパーバイザの操作用に予約されたリソース(40GB RAMおよび4 CPUコア(8 vCPUs)は含まれません。
3つの障害ドメインに加えて、サービス CLIには「Unassigned」カテゴリが表示されます。これは、プロビジョニングされていない、したがってまだフォルト・ドメインの一部ではない、インストール済のコンピュート・ノードを参照します。未割当ての計算ノードの場合、メモリー容量は計算できませんが、CPUメトリックが表示されます。
システムの健全性検査
ヘルス・チェックは最も基本的な検出形式です。これらは、通常のUNIX cronジョブに非常に似ているKubernetes CronJobサービスとして定期的に実行されます。ステータス・エントリは、すべてのヘルス・チェック結果に対して作成されます。これは、常に、正常または非正常の2つの可能性のいずれかです。すべてのステータス情報は、Prometheusでさらに処理するために保存されます。異常な結果では、トラブルシューティング・プロセスの進行に役立つ詳細を含むログ・エントリもLokiに生成されます。
ヘルス・チェックは、特定のシステム・コンポーネントのステータスを検証し、ステータス変更を検出することを目的としています。各ヘルス・チェック・プロセスは、現在の状態を記録し、期待される結果と比較するという同じ基本原則に従います。一致した場合、ヘルス・チェックは通過します。一致しない場合、ヘルス・チェックは失敗します。ステータスが正常から正常ではないに変更された場合は、トラブルシューティングが必要であることを示します。
トラブルシューティングの目的で、2つの主要なデータ・ソース(ログとメトリック)を使用できます。どちらのカテゴリのデータもシステム全体から収集され、中央の場所に格納されます。ログはLokiで集計され、Prometheusのメトリックです。どちらのツールにも、データをフィルタおよびビジュアル化できる問合せインタフェースがあり、どちらもGrafanaと統合できます。ブラウザベースのインタフェースには、サービスWeb UIからアクセスできます。
ヘルス・チェックが失敗する原因を調査するために、失敗のタイプに基づいてログおよびメトリック・データをフィルタ処理するのに役立ちます。Lokiは、ラベリング・システムでデータを分類し、選択したログ・ラベルに一致するログ・メッセージを表示します。リストからラベルを選択して、目的のサービスまたはアプリケーションのログを表示します。このリストでは、ヘルス・チェックだけでなく、内部および外部のアプライアンス・サービスも選択できます。
また、Grafanaにデフォルトで用意されているサービス・アドバイザ・ダッシュボード・セットの一部であるプラットフォーム・ヘルス・チェック・ダッシュボードには、各ヘルス・チェックの最新ステータスが表示されます。
Private Cloud Applianceでは、次に示すヘルス・チェックが実行されます。
|
ヘルスチェックサービス |
摘要 |
|---|---|
|
証明書チェッカー |
各管理ノードで、期限切れの証明書がないことを検証します。 |
|
フランネルチェッカー |
Flannelコンテナ・ネットワーク・サービスが各Kubernetesノードで完全に動作していることを確認します。 |
|
kubernetesチェッカー |
Kubernetesノードおよびポッドのヘルス・ステータス、およびコンテナ化されたサービスとその接続エンドポイントを検証します。 |
|
mysql-cluster-checker |
MySQLクラスタ・データベースのヘルス・ステータスを確認します。 |
|
l0-cluster-services-checker |
ハードウェアおよびプラットフォーム・レイヤー内の低レベルのクラスタリング・サービスおよび主要な内部コンポーネント(プラットフォームAPI、DHCPなど)が完全に動作していることを確認します。 |
|
ネットワークチェッカー |
システム・ネットワーク構成が正しいことを確認します。 |
|
レジストリチェッカー |
コンテナ・レジストリが各管理ノードで完全に動作していることを確認します。 |
|
ボールトチェッカー |
シークレット・サービスが各管理ノードで完全に動作していることを確認します。 |
|
etcd-checker |
etcdサービスが各管理ノードで完全に動作していることを確認します。 |
|
zfssa-analytics-exporter |
ZFS Storage Applianceクラスタのステータス、アクティブな問題、および管理パスの接続情報を報告します。また、データセットの構成可能なリストの分析情報もレポートします。 |
集中ロギング
このプラットフォームは、システム全体の統合ロギングを提供します。Fluentdデータ・コレクタは、システム全体のコンポーネントからログを取得し、アプライアンスのテレメトリ・データとともに中央の場所に格納します。その結果、必要なすべてのトラブルシューティングおよびデバッグ情報が1つのデータ・ストアに保持されるため、問題を調査する必要がある場合は、様々なソースから収集する必要はありません。システムの全体的な状態は、1つのビュー(Grafanaダッシュボード)で取得されます。つまり、管理者が個々のコンポーネントをチェックする必要はありません。
Oracleからの支援を必要とする問題が見つかった場合、管理者はサービス・リクエストをログに記録します。通常、サポートバンドルはそのプロセスの一部として要求されます。集中管理されたロギングのおかげで、サポートバンドルは簡単に生成でき、システム操作が著しく危険にさらされた場合でも引き続き可能です。サポート・バンドルの生成は、単一の圧縮アーカイブ・ファイルを生成するスクリプト化された操作です。管理者は、統合ログおよびその他の診断データを含むアーカイブ・ファイルを手動でアップロードする必要があります。
Private Cloud ApplianceがASRに登録されると、特定のハードウェア障害によってサービス・リクエストが発生し、診断データがOracleサポートに自動的に送信されます。
保守性
保守性とは、運用システムで発生した問題を検出、診断および修正する機能です。
主な要件は、システムデータの収集です。一般的なハードウェア遠隔測定の詳細、すべてのシステムコンポーネントからのログファイル、およびシステムや構成の健全性検査の結果です。Private Cloud Applianceは、エンジニアド・システムとして、収集されたデータを構造化された方法で処理するように設計されています。
リアルタイムのステータス情報を提供するために、システムはPrometheusを使用してすべてのコンポーネントとサービスのメトリック・データを統合的に収集および格納します。Prometheusの集中的に集計されたデータは、Grafanaダッシュボードのメトリック・パネルを介してビジュアル化され、管理者はシステム全体のステータスを一目で確認できます。ログはFluentdを使用してアプライアンス全体で取得され、診断目的でLokiで収集されます。
コンポーネント・ステータスが「正常」から「正常」に変更されると、サービス・ワークフローを開始する通知を送信するようにアラート・メカニズムを構成できます。Oracleからのサポートが必要な場合は、最初のステップで管理者がサービス・リクエストを開き、問題の説明を入力します。
Private Cloud ApplianceがOracle Auto Service Request (ASR)に登録されている場合、特定のハードウェア障害により、サービス・リクエストおよび診断データがOracleサポートに自動的に送信されます。診断データの収集は、サポート・バンドルとも呼ばれます。サービス・エンクレーブ管理者は、サービス・リクエストおよびサポートする診断データをASRとは別に作成および送信することもできます。ASRおよびサポート・バンドルの詳細は、次のトピックを参照してください。
報告された問題を解決するために、Oracleはアプライアンスへのアクセスを必要とする場合があります。このため、システムの初期化中に専用のサービスアカウントが構成されます。セキュリティー上の理由から、このroot以外のアカウントにはパスワードがありません。エンジニアがシステムにかわって作業できるように、サービス・キーを生成して提供する必要があります。サービス・アカウントに関連するアクティビティは監査証跡を残し、他のユーザー・アクティビティとは明確に区別されます。
Oracle Engineered Systemsのほとんどのサービス・シナリオは、割り当てられたフィールド・エンジニアによって実行される詳細なアクション・プランで網羅されています。問題が解決された場合、またはコンポーネントが修復または交換された場合は、サービス・リクエストがクローズされる前に、エンジニアはシステムが再び健全であることを検証します。
問題検出、診断および解決へのこの構造化されたアプローチは、最小限の運用上の影響、遅延およびコスト、および最大限の効率で高品質のサービスを提供することを保証します。