このインテグレーションは公開ベータ版です。本番ワークロードで有効化する場合は注意してください。
概要
このチェックは Datadog Agent を通じて Fly.io のメトリクスを監視します。
セットアップ
Fly アプリケーション上で実行中の Agent に対して、このチェックをインストールし構成するには、以下の手順に従ってください。
インストール
Fly.io チェックは Datadog Agent パッケージに含まれています。Datadog Agent の実行専用として 1 つの Fly.io アプリケーションをデプロイすることを推奨します。この Agent は Fly.io チェックを実行し、Prometheus メトリクス に加えて Machines API からの追加データも収集します。さらに、組織内のすべての Fly.io アプリケーションから トレース とカスタム メトリクスを Agent で受信するよう構成できます。
Datadog Agent を Fly.io アプリケーションとしてデプロイする
Fly.io で新しいアプリケーションを作成し、起動時のイメージに Datadog Agent を指定するか、fly.toml ファイルでイメージを指定します:
[build]
image = 'gcr.io/datadoghq/agent:7'
Datadog API キー用に DD_API_KEY という シークレット を設定し、任意で サイト を DD_SITE として設定します。
アプリのディレクトリで Fly.io インテグレーション用の conf.yaml を作成し、インテグレーションを 構成 したうえで、Agent の conf.d/fly_io.d/ ディレクトリに conf.yaml としてマウントします:
instances:
- empty_default_hostname: true
headers:
Authorization: Bearer <YOUR_FLY_TOKEN>
machines_api_endpoint: http://_api.internal:4280
org_slug: <YOUR_ORG_SLUG>
アプリを デプロイ します。
注: アプリケーションからトレースとカスタム メトリクスを収集する場合は、アプリケーション トレース を参照してください。
構成
Agent の構成ディレクトリのルートにある conf.d/ フォルダ内の fly_io.d/conf.yaml を編集して、Fly.io のパフォーマンス データの収集を開始します。利用可能なすべての構成オプションは サンプル fly_io.d/conf.yaml を参照してください。
Agent を再起動します。
検証
Agent の status サブコマンドを実行 し、Checks セクションに fly_io が表示されることを確認します。
収集データ
メトリクス
イベント
Fly.io インテグレーションには、イベントは含まれません。
サービス チェック
Fly.io インテグレーションには、サービス チェックは含まれません。
アプリケーション トレース
Fly.io 環境のアプリケーションでトレースを収集するには、次の手順に従います。
アプリケーションを インスツルメント します。
Datadog Agent を Fly.io アプリケーションとして デプロイ します。
アプリケーションの fly.toml または Dockerfile に必要な環境変数を設定し、アプリをデプロイします。
Datadog Agent アプリケーションにメトリクスを送信するため、次を環境変数として設定します:
[env]
DD_AGENT_HOST="<YOUR_AGENT_APP_NAME>.internal"
ログとメトリクスで同じホストを報告するために、次の環境変数を設定します:
DD_TRACE_REPORT_HOSTNAME="true"
統合サービス タグ付け を利用するには、以下の環境変数を設定します:
DD_SERVICE="APP_NAME"
DD_ENV="ENV_NAME"
DD_VERSION="VERSION"
ログとトレースを相関させるには、これらの 手順 に従い、次の環境変数を設定します:
Datadog Agent アプリケーション の fly.toml に次の環境変数を設定し、アプリをデプロイします:
[env]
DD_APM_ENABLED = "true"
DD_APM_NON_LOCAL_TRAFFIC = "true"
DD_DOGSTATSD_NON_LOCAL_TRAFFIC = "true"
DD_BIND_HOST = "fly-global-services"
注: APM と DogStatsD を有効化する場合は、それらのポートが外部に公開されないように Fly.io インスタンスの設定を確認してください。
ログ収集
Fly.io アプリケーションからログを収集するには、fly_logs_shipper を使用します。
ログ シッパーの プロジェクト をクローンします。
vector-configs/vector.toml を変更し、ログのソースを fly_io に設定します:
[transforms.log_json]
type = "remap"
inputs = ["nats"]
source = '''
. = parse_json!(.message)
.ddsource = 'fly-io'
.host = .fly.app.instance
.env = <YOUR_ENV_NAME>
'''
この構成は Fly.io 固有の基本的なログ属性を解析します。すべてのログ属性を完全に解析するには、Vector transforms を使用してアプリごとに ddsource を 既知の ログ インテグレーション に設定してください。
NATS 用の シークレット を設定します:
ORG と ACCESS_TOKEN
Datadog 用の シークレット を設定します: DATADOG_API_KEY と DATADOG_SITE
ログ シッパー アプリを デプロイ します。
トラブルシューティング
ご不明な点は、Datadog のサポートチームまでお問い合わせください。