This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.10. Prometheus による組み込みモニターリングの設定
以下では、Prometheus Operator を使用して Operator SDK いよって提供されるビルトインされたモニタリングサポートについて説明し、Operator 作成者がどのように使用できるかについて詳しく説明します。
5.10.1. Prometheus Operator のサポート リンクのコピーリンクがクリップボードにコピーされました!
Prometheus はオープンソースのシステムモニタリングおよびアラートツールキットです。Prometheus Operator は、 OpenShift Container Platform などの Kubernetes ベースのクラスターで実行される Prometheus クラスターを作成し、設定し、管理します。
ヘルパー関数は、デフォルトで Operator SDK に存在し、Prometheus Operator がデプロイされているクラスターで使用できるように生成された Go ベースの Operator にメトリクスを自動的にセットアップします。
5.10.2. メトリクスヘルパー リンクのコピーリンクがクリップボードにコピーされました!
Operator SDK を使用して生成される Go ベース Operator では、以下の関数が実行中のプログラムについての一般的なメトリクスを公開します。
func ExposeMetricsPort(ctx context.Context, port int32) (*v1.Service, error)
func ExposeMetricsPort(ctx context.Context, port int32) (*v1.Service, error)
これらのメトリクスは controller-runtime
ライブラリー API から継承されます。メトリクスはデフォルトで 0.0.0.0:8383/metrics
で提供されます。
Service
オブジェクトは、メトリクスポートが公開された状態で作成されます。これはその後 Prometheus によってアクセスされます。Service
オブジェクトは、リーダー Pod の root
オーナーが削除されるとガベージコレクションの対象になります。
以下のサンプルは、Operator SDK を使用して生成されるすべての Operator の cmd/manager/main.go
ファイルにあります。
5.10.2.1. メトリクスポートの変更 リンクのコピーリンクがクリップボードにコピーされました!
Operator の作成者は、メトリクスが公開されるポートを変更できます。
前提条件
- Operator SDK を使用して生成される Go ベースの Operator
- Prometheus Operator がデプロイされた Kubernetes ベースのクラスター
手順
生成された Operator の
cmd/manager/main.go
ファイルで、以下の行のmetricsPort
の値を変更します。var metricsPort int32 = 8383
var metricsPort int32 = 8383
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.10.3. サービスモニター リンクのコピーリンクがクリップボードにコピーされました!
ServiceMonitor
は、Prometheus Operator によって提供されるカスタマーリソースであり、 Service
オブジェクトで Endpoints
を検出し、Prometheus がこれらの Pod を監視するように設定します。
Operator SDK を使用して生成される Go ベースの Operator では、GenerateServiceMonitor()
ヘルパー関数は Service
オブジェクトを取り、これに基づいて ServiceMonitor
オブジェクトを生成することができます。
5.10.3.1. サービスモニターの作成 リンクのコピーリンクがクリップボードにコピーされました!
Operator の作成者は、新規に作成されるサービスを受け入れる metrics.CreateServiceMonitor()
ヘルパー関数を使用して、作成されたモニターリングサービスのサービスターゲット検出を追加できます。
前提条件
- Operator SDK を使用して生成される Go ベースの Operator
- Prometheus Operator がデプロイされた Kubernetes ベースのクラスター
手順
metrics.CreateServiceMonitor()
ヘルパー関数を Operator コードに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow