Prometheusを使用したメトリクスの手動のエクスポートと視覚化

既存のPrometheusサーバーを使用してメトリクスをエクスポートし、ダッシュボードでメトリクスを視覚化するようにGrafanaを構成します。

DSE Metrics Collectorを構成したら、メトリクスをエクスポートしてダッシュボードで可視化することができます。次の例では、Prometheusが監視ソリューションであり、Grafanaがダッシュボードとして使用されています。ただし、DSE Metrics Collectorでは他の監視および視覚化ツールも使用できます。

Prometheusサーバーが既に実行されている場合は、メトリクスのエクスポートおよび視覚化にこの方法を使用すると、既存のサーバーを使用できます。

始める前に

  1. 必要に応じて、DSE 6.7以降をダウンロードしてインストールします。
  2. 監視ソリューションとして使用するPrometheusをダウンロードしてインストールするか、既に実行されているPrometheusを使用します。
  3. 視覚化ダッシュボードとして使用するGrafanaをダウンロードしてインストールします。
  4. GitHubからprometheus.yamlファイルをダウンロードし、Prometheusが実行されているサーバー上のディレクトリーに保存します。prometheus.yamlファイルは、DSE Metrics Collectorによってレポートされるメトリクスを取得するように事前構成されています。各メトリックでは、メトリクス・タイプとして特定のregexを使用します。
  5. tg_dse.jsonファイルをダウンロードして、prometheus.yamlファイルと同じディレクトリーに保存します。prometheus.yamlファイルは、このファイルを参照して各クラスター・ノードのIPアドレスを取得します。
  6. DataStaxが提供する事前構成済みのGrafanaダッシュボードのJSONファイルをダウンロードします。これらのファイルは、アクセス可能なローカル・ディレクトリーに配置します。
クイック・チェック

Prometheusが実行されているサーバーでは、prometheus.yamlファイルとtg_dse.jsonファイルは同じディレクトリー内に併置されます。

手順

  1. Prometheusサーバーを有効にするには、DSE Metrics Collectorが読み取るDataStax Enterprise(DSE)クラスターで構成ファイルを作成します。

    Lifecycle Manager(LCM)によって管理されるクラスターの場合、LCMを使用してPrometheusおよびその他のサポートされている管理ツールへメトリクス収集をエクスポートします。

    1. 以下のディレクトリーのいずれかでprometheus.confファイルを作成します。
      • tarボール:installation_location/resources/dse/collectd/etc/collectd
      • パッケージ:/etc/dse/collectd
      sudo touch prometheus.conf
      ヒント: /collectdディレクトリーが存在しない場合は、このディレクトリーを作成してからprometheus.confファイルを作成します。
    2. 以下のコードをprometheus.conf構成ファイルに追加して、保存します。
      vi prometheus.conf
      LoadPlugin write_prometheus
      
      <Plugin write_prometheus>
       Port “9103”
      </Plugin>
    3. クラスターの任意のノードで、DSE Metrics Collectorを無効にしてから再び有効にし、変更内容を伝播します。
      dsetool insights_config --mode DISABLED
      注: DSE Metrics Collectorを無効にする場合、クラスター全体に伝播するまでに最長で30秒かかる可能性があります。DSE Metrics Collectorを再び有効にするまで、短くとも30秒間待ってください。
      dsetool insights_config --mode ENABLED_WITH_LOCAL_STORAGE
  2. ダウンロードされたtg_dse.jsonファイルを変更してクラスター内の各ノードのIPアドレスを“targets”に含めます。IPアドレスのリストは、コンマ区切りであり、各IPアドレスは二重引用符で囲む必要があります。
    vi tg_dse.json
    [
      {
        "targets": [
          "10.100.110.96:9103",
          "10.100.100.95:9103",
          "10.100.100.97:9103"
        ]
      }
    ]
  3. --Configオプションを使用してPrometheusを起動し、DSE Metrics Collectorダッシュボード・リポジトリーからダウンロードしたprometheus.yamlファイルを指定します。たとえば、prometheus.yamlファイルを/etc/dse/tmpディレクトリーに保存した場合は、コマンドは次のようになります。
    ./prometheus --config.file=/etc/dse/tmp/prometheus.yaml
  4. PromtheusとGrafanaのターゲットを確認します。
    1. ブラウザーを開き、http://prometheus_server_IP_address:9090に移動します。ここで、prometheus_server_IP_addressはPrometheusサーバーが実行されているIPアドレス、9090はPrometheusが実行されるデフォルト・ポートです。
    2. http://prometheus_server_IP_address:9090/targetsに移動して、Prometheusが監視しているターゲットを表示します。tg_dse.jsonファイルで指定されている各ノードが、エンドポイントとして、現在のステータスと最後の取得時間とともに表示されます。
  5. PrometheusがDSE Metrics Collectorが実行されているエンドポイントを取得していることを確認したら、Grafanaを起動してPrometheusプラグインを有効にします。このプラグインはデフォルトでGrafanaに含まれています(別にインストールする必要はありません)。
    注: Grafanaにデータ・ソースを追加するには、組織の管理者権限が必要です。
    1. http://grafana_server_IP_address:3000のGrafanaにログインします。ここで、grafana_server_IP_addressはGrafanaサーバーが実行されているIPアドレスです。
    2. 左上のGrafanaアイコンをクリックしてサイド・メニューを開きます。
    3. サイド・メニューで[Configuration] > [Data Sources]を選択します。
    4. [Configuration]ページで、[Add data source]をクリックします。
    5. データ・ソースの名前を入力します。
    6. データ・ソース・タイプとして[Prometheus]を選択します。
    7. Prometheusサーバーが実行されている場所のURLを入力します。
    8. Prometheusの実行場所に応じて[Server]または[Browser]を選択します。
    9. [Save & Test]をクリックします。
  6. Prometheusデータ・ソースを使用してGrafanaダッシュボードを作成します。
    1. Grafanaインスタンスにログインします。
    2. サイド・メニューで[Create] > Importをクリックします。
    3. [Upload .json file]をクリックし、ダウンロードしたJSONファイルの1つを選択します。たとえば、dse-cluster-condensed.jsonなどです。
    4. ダッシュボードの名前を入力し、[Import]をクリックします。

タスクの結果

Grafanaインスタンスにダッシュボードが表示されます。