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 を参照してください。
-
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" ]; thenfe_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" ]; thenbe_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"elseecho "UNKNOWN INSTANCE TYPE: $STARROCKS_INSTANCE_TYPE"exit 1fisudo systemctl stop datadog-agentsudo systemctl start datadog-agent}スクリプトには以下のパラメータを指定する必要があります。
Parameter Description YOUR_DD_API_KEY あなたの DataDog API キー。 YOUR_DD_SITE あなたの DataDog サイト URL。 fe_metric_namespace FE/Coordinator Node メトリクスの名前空間。このパラメータを cluster_name + xxx + feの形式で設定することを推奨します。これにより、メトリクスを簡単に識別できます。例:celerdata_test_fe。be_metric_namespace BE/Compute Node メトリクスの名前空間。このパラメータを cluster_name + xxx + feの形式で設定することを推奨します。これにより、メトリクスを簡単に識別できます。例:celerdata_test_be。 -
install_datadog.shを、CelerData クラスターをホストする EC2 インスタンスに読み取り権限が付与された S3 バケットにアップロードします。
ステップ 2: Terraform を介してエージェントをインストール
ファイルを S3 にアップロードした後、クラスターをデプロイする際にスクリプトを実行して DataDog Agent をインストールできます。
-
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...}リソースには以下の引数を指定する必要があります。
Parameter Description 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.sh install_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がクラスターのデプロイに使用するバケットに保存されている場合、この形式を使用できます。
-
リソースを適用します。
terraform apply
DataDog Agent を正常にインストールした場合、DataDog サイトの Metrics Explorer ページで CelerData クラスターのメトリクスを確認できます。サポートされているメトリクスの詳細な説明については、 StarRocks Monitoring Metrics を参照してください。
