このドキュメントは、Cloud Logging と Cloud Monitoring を拡張してオンプレミスのインフラストラクチャとアプリを含める方法に関する、2 部構成シリーズの一つです。
- BindPlane を使用してオンプレミス リソースのロギングを行う: Cloud Logging でオンプレミス リソースからのロギングをサポートする方法について説明します。
- BindPlane を使用してオンプレミス リソースをモニタリングする(このドキュメント): Cloud Monitoring でオンプレミス リソースのモニタリングをサポートする方法について説明します。
オンプレミス リソースのロギングとモニタリングに Logging と Stackdriver を使用する理由として、次のことが考えられます。
- インフラストラクチャを Google Cloud に移行するにあたり、オンプレミス リソースを廃止するまでモニタリングする一時的なソリューションが必要。
- 複数のクラウドとオンプレミス リソースが含まれる、多様性のあるコンピューティング環境を使用する可能性がある。
いずれの場合も、Logging API、Monitoring API、BindPlane を使用することによって、オンプレミス リソースに対する可視性を向上させることができます。このドキュメントは、Google Cloud のリソースと、残存するオンプレミスのインフラストラクチャおよびアプリのリソースのモニタリング戦略に関心のある、DevOps の技術者、管理者、エグゼクティブを対象としています。
Monitoring を使用して指標を取り込む
Monitoring に指標を取り込むには、次の 2 つの方法があります。
- observIQ の BindPlane を使用して、オンプレミスまたは他のクラウドソースから指標を取り込む。
- OpenCensus を使用して Cloud Monitoring API に書き込む。
BindPlane を使用して指標を取り込む
次の図は、BindPlane で指標を収集する仕組みと、収集された指標が Monitoring に取り込まれる仕組みに関するアーキテクチャを示しています。
observIQ には、BindPlane の複数のバージョン(Google、セルフホスト、SaaS、Enterprise)が用意されています。これらのバージョンの詳細については、BindPlane ソリューションのページをご覧ください。
メリット:
- 必要となるのはアプリのインストゥルメンテーションではなく、実装にかかる時間を短縮する構成です。
- Monitoring の使用料金に含まれています。
- モニタリング プロダクトによる構成とサポートの対象です。
- デフォルト構成では提供されない指標を取り込むように拡張できます。
デメリット:
- observIQ の BindPlane エージェントを使用して指標を Monitoring に中継する必要があるため、システム全体が複雑化する可能性があります。
必要な作業量が減ることから、この方法を選択することをおすすめします。このソリューションに必要な作業は開発ではなく、構成です。
OpenCensus を使用して Monitoring API に書き込む
次の図は、OpenCensus で指標を収集する仕組みと、収集された指標が Monitoring に取り込まれる仕組みに関するアーキテクチャを示しています。
Monitoring API を直接使用する場合は、指標を API に直接送信するために、計測コードをアプリに追加して、API に指標を直接送信する必要があります。それには、直接 Monitoring API を使用して指標を書き込むか、OpenCensus 用の Monitoring エクスポータを使用してアプリの計測を行います。OpenCensus は、トレースと指標に使用する標準データ構造を定義するオープンソース プロジェクトです。OpenCensus を使用すると、Monitoring を含む複数のバックエンドをサポートできるというメリットがあります。また、OpenCensus を使用する場合は、Monitoring API を使用する際の低レベルの技術的詳細も実装されます。
メリット:
- OpenCensus エクスポータを使用して必要なインストゥルメンテーションを簡単に実装できるため、柔軟性があります。
デメリット:
- インフラストラクチャ指標を取得する別個のソリューションが必要です。そのために、カスタム エージェントを作成しなければなりません。
- アプリのインストゥルメンテーションが必要です。したがって、実装コストが高くなる可能性があります。
- オープンソース ライブラリが必要です。
この方法では作業量が多くなります。また、インフラストラクチャ指標はカバーされないため、この方法を選択することはおすすめできません。
BindPlane を使用する
このドキュメントでは、observIQ の BindPlane を使用して Monitoring に指標を取り込む方法について説明します。BindPlane サービスは一連のソースを定義し、それらのソースから指標を取り込んで、宛先として Monitoring に指標を送信します。BindPlane は、Windows、Linux、Kubernetes の一部のバージョンで実行されるエージェントをサポートしています。
ソース、エージェント、宛先、プロセッサ
BindPlane には次の機能があります。
- ソース: 指標を生成するアイテム。Google Kubernetes Engine(GKE)、Amazon Elastic Container Service for Kubernetes(Amazon EKS)、Microsoft Azure Container Service などです。
- エージェント: 環境をリモートからモニタリングして指標データを BindPlane に転送する軽量のプロセス。
- 宛先: BindPlane が指標を送信するサービス。この場合、宛先は Monitoring API を使用して指標を Monitoring に書き込む BindPlane 上のプロセスです。
- プロセッサ: データが宛先に到達する前にデータを変換できる構成。これには、属性の追加、フィルタリング、ログの指標への変換が含まれます。
ソース、エージェント、宛先、プロセッサの詳細については、BindPlane クイックスタート ガイドをご覧ください。
使用例
ExampleOrganization という名前の組織を例として考えます。ExampleOrganization には、Google Cloud と Microsoft Azure にデプロイされたリソースと、vSphere を使用してデプロイされたオンプレミス リソースがあります。Google Cloud には、GKE クラスタと、会社のウェブサイトを実行するデモアプリがデプロイされています。Microsoft Azure 環境では、Azure Kubernetes Service(AKS)が外部のデベロッパーに REST API エンドポイントを提供し、一連のマイクロサービスを実行しています。vSphere 環境では、MySQL、Oracle、Microsoft SQL Server が一部の会社のアプリをサポートしています。
それぞれの環境にリソースがあるため、ExampleOrganization はコンポーネントがデプロイされている場所に関係なく各コンポーネントをモニタリングしたいと考えています。BindPlane を使用して各環境から指標を Logging と Monitoring に送信すれば、すべての指標を 1 か所にまとめて、モニタリングとアラートを一元化できます。
BindPlane から Monitoring に指標を送信する
BindPlane が設定されて指標の送信を開始すると、Monitoring Workspace に指標が送信されてくるようになります。これにより、Monitoring であらゆる指標や時系列を扱う場合と同じように、表示、構成、アラートや、時系列によるダッシュボードの作成を行うことができます。詳細については、指標、時系列、リソースをご覧ください。
Monitoring で指標を使用する
前の例で、Google Cloud、Microsoft Azure、オンプレミスのソースから指標を送信するように BindPlane を構成しました。次の 3 つの指標が Monitoring に表示されます。
- GKE クラスタの指標
- AKS クラスタの指標
- vSphere オンプレミス データベースの指標
GKE クラスタの指標
GKE クラスタが設定されている場合、GKE クラスタの指標は [Kubernetes クラスタ] ページまたは [Kubernetes ワークロード] ページに表示されます。Monitoring で実行されている Kubernetes コンポーネントの複数のビューを表示できます。Pod ごとの指標、ログ、構成を確認できます。
詳細については、オブザーバビリティ指標を表示するをご覧ください。
AKS クラスタの指標
同じ Monitoring 環境で、AKS の指標も収集されます。これらの指標は Monitoring に表示され、Monitoring でダッシュボード、アラート、Metrics Explorer を含むあらゆる目的に使用できます。
[Metrics Explorer] ページでは、指標の検索、フィルタリング、グラフの作成を行うことができます。BindPlane から送信された指標には、指標名に接頭辞 workload.googleapis.com/THIRD_PARTY_APP_NAME
が付加されています。
Metrics Explorer では、指標のグラフを生成できます。グラフの詳細については、Metrics Explorer でグラフを作成するをご覧ください。
Monitoring のすべての指標と同様に、これらの指標を使用して、複数のグラフを表示するダッシュボードを構築できます。ダッシュボードは、AKS で生成され、BindPlane によって収集され、Monitoring に保存された指標を表示できます。ダッシュボードの詳細については、Google Cloud ダッシュボードの表示とカスタマイズをご覧ください。
vSphere オンプレミス クラスタの指標
この例の最後の部分には、vSphere 環境から収集されたデータベースの指標も示されています。vSphere 環境の指標も Monitoring に表示され、Monitoring の他のあらゆる指標と同じように使用できます。vSphere の Oracle 指標は、[Metrics Explorer] ページの指標リストに表示されます。
Monitoring のすべての指標と同様に、指標を使用してアラートを作成できます。このアラートは、vSphere 内で稼働する Oracle で生成され、BindPlane によって収集された指標を表しています。収集された指標は Monitoring に保存されます。アラートの詳細については、アラートの概要をご覧ください。
まとめ
使用中のプラットフォームについて把握できるよう、Monitoring ではダッシュボード、アラート、インシデント対応を使用できます。Monitoring と BindPlane を組み合わせて使用すると、オンプレミス リソースの可視性が高まります。
次のステップ
- Cloud Logging と Cloud Monitoring
- BindPlane クイックスタート ガイド
- Cloud アーキテクチャ センターで、リファレンス アーキテクチャ、図、ベスト プラクティスを確認する。