すべてのプロダクト
Search
ドキュメントセンター

Time Series Database:Kubernetes クラスターへの Prometheus のデプロイ

最終更新日:Jan 14, 2025

このトピックでは、Kubernetes クラスターに Prometheus をデプロイする方法について説明します。

背景情報

Kubernetes は、コンテナ化されたアプリケーションのデプロイプロセスを自動化するオープンソースシステムです。 Kubernetes は、コンテナ化されたアプリケーションの拡張と管理にも役立ちます。 Kubernetes の詳細については、「Kubernetes ドキュメント」をご参照ください。このトピックでは、コンテナサービス Kubernetes 版 (ACK) クラスターに Prometheus をデプロイし、Prometheus によって収集された監視データを時系列データベース (TSDB) データベースに保存する方法について説明します。

Prometheus は、クラウドネイティブアプリケーション向けのオープンソースの監視ツールです。 Prometheus は、サービスディスカバリーまたは静的構成に基づいて監視対象のサーバーを識別します。 Prometheus は、Kubernetes 内の以下のオブジェクトを監視します。

  • kube-apiserver、kube-controller-manager、etcd など、Kubernetes クラスターに組み込まれているシステムコンポーネント。

  • ノードのリソースステータスやカーネルイベントなどの静的リソースエンティティ。

  • デプロイメント、DaemonSet、ポッドなど、Kubernetes の抽象ワークロードのエンティティである動的リソースエンティティ。

  • アプリケーションのカスタムデータやメトリクスなど、アプリケーション内のカスタムオブジェクト。

システムコンポーネントと静的リソースエンティティを監視するには、構成ファイルで監視方法を指定します。 Kubernetes クラスターの動的リソースエンティティを監視するには、Kubernetes クラスターに Prometheus をデプロイできます。

手順

  1. データを監視するために、Kubernetes クラスターに Prometheus をデプロイします。

    Prometheus Operator を使用して、Kubernetes クラスターに Prometheus をデプロイできます。 詳細については、「オープンソースツール Prometheus を使用して Kubernetes クラスターを監視する」をご参照ください。

  2. Prometheus の構成を変更します。

    prometheus-prometheus.yaml ファイルを変更します。 spec オブジェクトで、Prometheus の構成項目 remoteWrite と remoteRead を作成します。 Prometheus Operator は、camelCase の命名規則を使用して Prometheus のリモート設定を構成します。

    この例では、TSDB インスタンスのインスタンスタイプは 3xlarge です。次のコードに基づいて設定を構成できます。 ビジネス要件に基づいて構成項目 queueConfig を変更できます。

    spec:
      remoteWrite:
      - url: "http://ts-xxxxxxxxxxxx.hitsdb.rds.aliyuncs.com:3242/api/prom_write"
        queueConfig:
          capacity: 10000  // 容量
          maxShards: 6 // 最大シャード数
          maxSamplesPerSend: 500 // 送信ごとの最大サンプル数
      remoteRead:
      - url: "http://ts-xxxxxxxxxxxx.hitsdb.rds.aliyuncs.com:3242/api/prom_read"
        readRecent: true

    prometheus-prometheus.yaml のその他の構成項目を取得するには、prometheus-operator の GitHub リポジトリにアクセスしてください。 詳細については、「GitHub リポジトリ」をご参照ください。

  3. 構成を更新します。

    次のコマンドを実行して、変更された構成を更新します。

    kubectl apply -f manifests/prometheus-prometheus.yaml