マネージド インスタンス クラスターから生成されたメトリックを視覚化するように Grafana を構成する

Azure Managed Instance for Apache Cassandra クラスターをデプロイすると、サービスによって各データ ノードに Metric Collector for Apache Cassandra エージェント ソフトウェアがプロビジョニングされます。 メトリックは Prometheus によって使用され、Grafana で視覚化されます。 この記事では、マネージド インスタンス クラスターから生成されたメトリックを視覚化するように Prometheus と Grafana を構成する方法について説明します。

メトリックを視覚化するには、次のタスクが必要となります。

  • マネージド インスタンスが存在する Azure 仮想ネットワーク内に Ubuntu 仮想マシンをデプロイします。
  • Prometheus ダッシュボードを VM にインストールします。

警告

Prometheus と Grafana はオープンソース ソフトウェアであり、Azure Managed Instance for Apache Cassandra サービスの一部としてサポートされていません。 以下で説明する方法でメトリックを視覚化するには、Prometheus と Grafana の両方のサーバーとして仮想マシンをホストして維持する必要があります。 以下の手順は Ubuntu Server 18.04 でのみテストしたものであり、他の Linux ディストリビューションで動作する保証はありません。 このアプローチに従う場合、領域不足やサーバーの可用性など、発生する可能性のある問題に対応する必要があります。 完全にサポートされ、ホストされたメトリック エクスペリエンスが必要な場合は、Azure Monitor メトリックまたは Azure Monitor のパートナー統合の使用を検討してください。

Ubuntu サーバーをデプロイする

  1. Azure portal にサインインします。

  2. マネージド インスタンス クラスターがあるリソース グループに移動します。 [追加] を選択し、Ubuntu Server 18.04 LTS イメージを検索します。

    Azure portal から Ubuntu サーバー イメージを検索する。

  3. そのイメージを選択し、[作成] を選択します。

  4. [仮想マシンの作成] ブレードで、次の各フィールドの値を入力します。その他のフィールドは既定値のままでかまいません。

    • [仮想マシン名] - VM の名前を入力します。
    • [リージョン] - 仮想ネットワークのデプロイ先と同じリージョンを選択します。

    Ubuntu サーバー イメージを使用して VM を作成するためのフォームに記入する。

  5. [ネットワーク] タブで、マネージド インスタンスがデプロイされている仮想ネットワークを選択します。

    Ubuntu サーバーのネットワーク設定を構成する。

  6. 最後に [確認と作成] を選択して、メトリック サーバーを作成します。

Prometheus ダッシュボードをインストールする

  1. 最初に、新しくデプロイされた Ubuntu サーバーのネットワーク設定に、ポート 90903000 を許可する受信ポート規則があることを確認します。 これらは後で Prometheus と Grafana のそれぞれで必要になります。

    ポートを許可する

  2. Azure CLI や任意のクライアント ツールを使用して、Ubuntu サーバーに SSH で接続します。

  3. VM に接続した後、メトリック コレクター ソフトウェアをインストールする必要があります。 まず、ファイルをダウンロードして解凍します。

     #install unzip utility (if not already installed)
     sudo apt install unzip
    
     #get dashboards
     wget https://github.com/datastax/metric-collector-for-apache-cassandra/releases/download/v0.3.0/datastax-mcac-dashboards-0.3.0.zip -O temp.zip
     unzip temp.zip
    
  4. 次に、prometheus ディレクトリに移動し、vi を使用して tg_mcac.json ファイルを編集します。

     cd */prometheus
     vi tg_mcac.json    
    
  5. クラスター内の各ノードの IP アドレスを、それぞれポート 9443 で targets に追加します。 tg_mcac.json ファイルは以下のようになります。

     [
       {
         "targets": [
           "10.9.0.6:9443","10.9.0.7:9443","10.9.0.8:9443"
         ],
         "labels": {
    
         }
       }
     ]  
    
  6. ファイルを保存します。 次に、同じディレクトリで prometheus.yaml ファイルを編集します。 以下のセクションを見つけてください。

     file_sd_configs:
       - files:
         - 'tg_mcac.json'
    
  7. このセクションの直下に、以下を追加します。 メトリックは https 経由で公開されるため、これが必要です。

     scheme: https
     tls_config:
             insecure_skip_verify: true
    
  8. ファイルは次のようになるはずです。 各行のタブが以下の通りであることを確認してください。

     file_sd_configs:
       - files:
         - 'tg_mcac.json'
     scheme: https
     tls_config:
             insecure_skip_verify: true
    
  9. ファイルを保存します。 Prometheus と Grafana を起動する準備ができました。 まず、Docker をインストールします。

    sudo apt install apt-transport-https ca-certificates curl software-properties-common
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu `lsb_release -cs` test"
    sudo apt update
    sudo apt install docker-ce
    
  10. 次に、docker compose をインストールします。

    sudo apt install docker-compose
    
  11. そして、docker-compose.yaml が存在する最上位のディレクトリに移動し、アプリケーションを起動します。

    cd ..
    sudo docker-compose up
    
  12. Prometheus はメトリック サーバーのポート 9090 で、Grafana ダッシュボードはポート 3000 で利用できるはずです。

    Cassandra マネージド インスタンスのメトリックをダッシュボードで表示する。

次のステップ

この記事では、Grafana を使用してダッシュボードを構成し、Prometheus のメトリックを視覚化する方法について説明しました。 Azure Managed Instance for Apache Cassandra の詳細については、次の記事を参照してください。