メインコンテンツまでスキップ

Terraform で DataDog を統合

DataDog は、クラウド規模のアプリケーション向けの監視およびセキュリティプラットフォームです。サーバー、データベース、アプリケーション、サービスに対するリアルタイムの可視性を提供します。DataDog を使用して、CelerData Cloud BYOC クラスターのパフォーマンスを追跡し、ボトルネックを特定し、最適な運用を確保することで、クラスターの健全性と効率を維持できます。

CelerData は、Terraform を介して DataDog Agent をインストールすることで、CelerData クラスターと DataDog の統合をサポートしています。以下の手順に従って DataDog Agent をインストールできます。

ステップ 1: スクリプトの準備とアップロード

CelerData クラスター用に DataDog Agent をインストールするには、まずエージェントをインストールするスクリプトファイルを準備し、CelerData クラスターをホストするすべての EC2 インスタンスが必要な読み取りまたは書き込み権限を持つ S3 バケットにスクリプトをアップロードする必要があります。CelerData でのスクリプトの実行に関する詳細は、 Run Scripts を参照してください。

  1. DataDog Agent インストールスクリプト install_datadog.sh を準備します。

    on_deployment_completed() {
    # <YOUR_DD_KEY> をあなたの DataDog API キーに置き換えてください。
    # <YOUR_DD_SITE> をあなたの DataDog サイト URL に置き換えてください。
    DD_API_KEY=<YOUR_DD_API_KEY> DD_SITE="<YOUR_DD_SITE>" bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_script_agent7.sh)"

    if [ "$STARROCKS_INSTANCE_TYPE" = "FE" ]; then
    fe_config='
    init_config:
    instances:
    - openmetrics_endpoint: http://127.0.0.1:8030/metrics
    # <fe_metric_namespace> を FE/Coordinator Node メトリクスに使用する名前空間に置き換えてください。
    namespace: <fe_metric_namespace>
    metrics:
    - starrocks.*
    '
    sudo bash -c "echo '$fe_config' > /etc/datadog-agent/conf.d/openmetrics.d/conf.yaml"
    elif [ "$STARROCKS_INSTANCE_TYPE" = "BE" ]; then
    be_config='
    init_config:
    instances:
    - openmetrics_endpoint: http://127.0.0.1:8040/metrics
    # <be_metric_namespace> を BE/Compute Node メトリクスに使用する名前空間に置き換えてください。
    namespace: <be_metric_namespace>
    metrics:
    - starrocks.*
    '
    sudo bash -c "echo '$be_config' > /etc/datadog-agent/conf.d/openmetrics.d/conf.yaml"
    else
    echo "UNKNOWN INSTANCE TYPE: $STARROCKS_INSTANCE_TYPE"
    exit 1
    fi

    sudo systemctl stop datadog-agent
    sudo systemctl start datadog-agent
    }

    スクリプトには以下のパラメータを指定する必要があります。

    ParameterDescription
    YOUR_DD_API_KEYあなたの DataDog API キー。
    YOUR_DD_SITEあなたの DataDog サイト URL。
    fe_metric_namespaceFE/Coordinator Node メトリクスの名前空間。このパラメータを cluster_name + xxx + fe の形式で設定することを推奨します。これにより、メトリクスを簡単に識別できます。例: celerdata_test_fe
    be_metric_namespaceBE/Compute Node メトリクスの名前空間。このパラメータを cluster_name + xxx + fe の形式で設定することを推奨します。これにより、メトリクスを簡単に識別できます。例: celerdata_test_be
  2. install_datadog.sh を、CelerData クラスターをホストする EC2 インスタンスに読み取り権限が付与された S3 バケットにアップロードします。

ステップ 2: Terraform を介してエージェントをインストール

ファイルを S3 にアップロードした後、クラスターをデプロイする際にスクリプトを実行して DataDog Agent をインストールできます。

  1. CelerData クラスターをデプロイするために使用される celerdatabyoc_classic_cluster または celerdatabyoc_elastic_cluster リソースに install_datadog.sh を宣言します。

    以下の例は、celerdatabyoc_classic_cluster リソース内のスクリプト関連の引数のみを示しています。他の引数に関する詳細は、celerdatabyoc_classic_cluster および celerdatabyoc_elastic_cluster を参照してください。

    resource "celerdatabyoc_classic_cluster" "cluster-with-datadog" {
    ...
    init_scripts {
    // <path_to_script_logs> をスクリプトログの保存ディレクトリに置き換えてください。
    logs_dir = "<path_to_script_logs>"
    // <path_to_install_datadog.sh> を install_datadog.sh の S3 URI に置き換えてください。
    script_path = "<path_to_install_datadog.sh>"
    }

    run_scripts_parallel = false
    ...
    }

    リソースには以下の引数を指定する必要があります。

    ParameterDescription
    path_to_script_logsスクリプトのログを保存するために使用する S3 パス。S3 パスは以下の形式のいずれかです:
    • s3://<bucket_name>/<folder_name>/: CelerData クラスターがデプロイされる EC2 インスタンスに関連付けられたインスタンスプロファイルに移動し、指定されたバケットに対する読み取りおよび書き込み権限を構成する必要があります。
    • s3a://<bucket_name>/<folder_name>/: CelerData クラスターがデプロイされる EC2 インスタンスに関連付けられたインスタンスプロファイルに移動し、指定されたバケットに対する読み取りおよび書き込み権限を構成する必要があります。
    • /<folder_name>/: クラスターのデプロイに使用するバケットにログを保存したい場合、この形式を使用できます。
      Tip
      この引数を install_datadog.sh の親ディレクトリとして指定することを推奨します。
    path_to_install_datadog.shinstall_datadog.sh の S3 URI。S3 URI は以下の形式のいずれかです:
    • s3://<bucket_name>/<folder_name>/install_datadog.sh: CelerData クラスターがデプロイされる EC2 インスタンスに関連付けられたインスタンスプロファイルに移動し、指定されたバケットに対する読み取り権限を構成する必要があります。
    • s3a://<bucket_name>/<folder_name>/install_datadog.sh: CelerData クラスターがデプロイされる EC2 インスタンスに関連付けられたインスタンスプロファイルに移動し、指定されたバケットに対する読み取り権限を構成する必要があります。
    • /<folder_name>/install_datadog.sh: install_datadog.sh がクラスターのデプロイに使用するバケットに保存されている場合、この形式を使用できます。
  2. リソースを適用します。

    terraform apply

DataDog Agent を正常にインストールした場合、DataDog サイトの Metrics Explorer ページで CelerData クラスターのメトリクスを確認できます。サポートされているメトリクスの詳細な説明については、 StarRocks Monitoring Metrics を参照してください。

img