マーケットプレイス製品の開発

概要

このページでは、Datadog マーケットプレイスで製品開発を行う方法について説明します。ご質問がある場合は、marketplace@datadoghq.com までご連絡ください。

開発プロセス

マーケットプレイスタイルを開発するには、以下の手順で行います。

  1. 掲載する製品の種類を選択します
  2. [マーケットプレイスのリポジトリにアクセスし、ディレクトリを設定します](#set-up-a-directory and-clone-the-marketplace-repository)。
  3. Datadog Development Toolkit をインストールし、構成します
  4. インテグレーションタイルのスキャフォールディングを入力します
  5. 必要なインテグレーションアセットファイルを完成させます
  6. プルリクエストを開きます
  7. フィードバックを確認し、プルリクエストをマージしてインテグレーションタイルをリリースするための承認をリクエストします
  8. パートナーマーケティングとの市場参入機会を調整します

製品選択

マーケットプレイスの標準的なインテグレーションタイルが以下のフォーマットで表示されます。

マーケットプレイスのタイルの例

Datadog マーケットプレイスに掲載するインテグレーションタイルを作成するために、以下の製品タイプから選択します。

Agent ベースのインテグレーション

Agent ベースのインテグレーションは、Datadog Agent を使用してデータを収集し、Agent チェックを中心に構築されます。チェックの種類は 3 つあります。

  • OpenMetrics チェックは、OpenMetrics 標準を使用してメトリクスを公開する既存のアプリケーションからテレメトリデータを収集するのに適しています。
  • Python チェックは、標準形式でメトリクスを公開しないサービスまたは製品の監視に適しています。Python チェックは、さまざまな API またはコマンドラインツールからテレメトリデータを収集するためにも使用できます。
  • DogStatsD は、すでに StatsD プロトコルを使用してテレメトリーを発信しているアプリケーションに適しています。

Agent インテグレーションは、Datadog からデータを取得し、Datadog にデータをプッシュする双方向のものです。これは、Datadog マーケットプレイス上の情報タイルのみのリスト (スタンドアロン SaaS ライセンスやプロフェッショナルサービス製品など) とは異なるもので、双方向性ではありません。

インテグレーションは、以下の種類のデータを Datadog に送信します。

Datadog Agent ベースのインテグレーションの詳細については、以下を参照してください。

REST API インテグレーション

API インテグレーションを使用して、バックエンドからデータをリッチ化して送信したり、Datadog から直接データを取り出したりすることができます。API インテグレーションは、Datadog と他の SaaS プラットフォーム間のコネクターを構築する際に効果的です。この方法は、SaaS ベースで、作成者が認可のためにログインするための既存の Web サイトを持っている技術パートナーに最適です。

API インテグレーションは、Datadog Agent を使用してデータを収集しないため、開発作業が完了したら、情報タイルのみのリストを作成する必要があります。

REST API インテグレーションは、双方向でなければなりません。つまり、インテグレーションは、Datadog からデータを引き出し、Datadog にデータをプッシュすることができなければなりません。

REST API インテグレーションは、以下の種類のデータを Datadog に送信します。

Datadog API エンドポイントにデータを送信するには Datadog API キーが必要で、Datadog からデータをクエリするにはアプリケーションキーが必要です。Datadog では、これらの資格情報をユーザーに直接要求する代わりに、OAuth を使用して API ベースのインテグレーションの認可とアクセスを処理することを推奨しています。

Vantage のような integrations-extras リポジトリで、既存の API インテグレーションの例を調べることができます。

Datadog Apps

Datadog アプリは、Datadog Developer Platform で開発されたカスタムダッシュボードウィジェットです。Datadog アプリを公開できるようになったら、インテグレーションまたはマーケットプレイスページに情報タイルのみのリストを作成する必要があります。

SaaS ライセンスまたはプロフェッショナルサービス製品

SaaS ライセンスまたはプロフェッショナルサービス製品をマーケットプレイスに掲載するには、情報タイルのみの掲載を作成する必要があります。

ディレクトリを設定し、マーケットプレイスのリポジトリを複製する

製品が決まったら、ディレクトリを設定します。

  1. マーケットプレイスのドキュメントの指示に従って、マーケットプレイスのリポジトリへのアクセスをリクエストします。

  2. dd ディレクトリを作成します。

    mkdir $HOME/dd

    Datadog Development Toolkit コマンドは、$HOME/dd/ ディレクトリで作業していることを想定しています。これは必須ではありませんが、異なるディレクトリで作業する場合は、追加の構成手順が必要です。

  3. マーケットプレイスのリポジトリへのアクセスが許可されたら、dd ディレクトリを作成し、marketplace リポジトリを複製します。

    git clone git@github.com:DataDog/marketplace.git

  4. 作業するフィーチャーブランチを作成します。

Datadog Development Toolkit をインストールして構成する

Datadog Development Toolkit コマンド (ddev) を使用すると、インテグレーションを開発する際に、インテグレーションタイルのアセットとメタデータのスケルトンを生成してスキャフォールディングを作成することができます。

始める前に、以下の前提条件を満たしていることを確認してください。

  • Python v3.8 以降
  • Agent ベースのインテグレーションを構築する場合は、Docker が必要です
  • 環境の競合を避けるために、Python の仮想環境を使用することをお勧めします。以下の説明では、ほとんどの OS で Python v3.3 以降に同梱されている venv を使用します。

Development Toolkit をインストールして構成します。

  1. marketplace ディレクトリの中にいることを確認します。

    cd $HOME/dd/marketplace

  2. Python の仮想環境を構築します。

       python3 -m venv venv
       . venv/bin/activate

    仮想環境は deactivate を実行することでいつでも終了させることができます。

  3. Developer Toolkit をインストールします。

    pip3 install "datadog-checks-dev[cli]"

    Z Shell を使用している場合は、pip3 install datadog-checks-dev\[cli\] を実行して、エスケープされた文字を使用する必要があるかもしれません。

  4. デフォルトの作業用リポジトリとして marketplace を設定します。

       ddev config set marketplace $HOME/dd/marketplace
       ddev config set repo marketplace

    マーケットプレイスディレクトリの複製に $HOME/dd 以外のディレクトリを使用した場合は、以下のコマンドを使用して作業リポジトリを設定します。

       ddev config set marketplace <PATH/TO/MARKETPLACE>
       ddev config set repo marketplace

インテグレーションタイルスキャフォールディングにデータを入力する

ddev コマンドを実行すると、インテグレーションに必要なフォルダとファイルのスケルトンが生成されます。このコマンドで使用するオプションは、開発しているインテグレーションの種類によって異なります。ddev コマンドで作成されるファイルの一覧は、インテグレーションアセットを参照してください。

情報タイルのみの掲載を作成する

Datadog アプリ、Datadog REST API インテグレーション、プロフェッショナルサービス、スタンドアロン SaaS ライセンスについては、Datadog Development Toolkit を使用して、情報タイルのみの掲載のスキャフォールディングを作成することができます。

情報タイルのみの掲載のスキャフォールディングを作成するには

  1. marketplace ディレクトリの中にいることを確認します。
    cd $HOME/dd/marketplace
  2. -t tile オプションを付けて ddev コマンドを実行します
    ddev create -t tile "<Offering Name>"

Agent ベースの完全なインテグレーションを作成する

Agent ベースのインテグレーションのためのスキャフォールディングを生成するには

  1. marketplace ディレクトリの中にいることを確認します。
    cd $HOME/dd/marketplace
  2. -t tile オプションを付けて ddev コマンドを実行します
    ddev create "<Offering Name>"

必要なインテグレーションアセットファイルを完成させる

インテグレーションに必要な以下のアセットが揃っていることを確認してください。

Asset NameAsset Description
READMEIncludes an Overview, Setup, Data Collected (optional), and Support section using H2 headings (##) in Markdown.

For more information, see README.
MediaAdd any images and a video that you want to use for the integration tile’s media carousel in an images folder. You can add one video to each listing.

Technology Partners can use .png files instead of .jpg files to reduce image compression.
Media CarouselDefine the images you want to add to the integration tile’s media carousel in the media object specified in the tile front matter on the manifest.json file.

For more information, see Media Carousel.
Manifest.jsonSpecify a JSON object that includes elements such as manifest_version,
display_on_public_website, tile, author, oauth, pricing, assets, and more.

For more information, see Manifest file.
Metadata.csvContains a list of out-of-the-box metrics included in the integration defined in the following format ending with a comma: metric_name,metric_type,interval,unit_name,per_unit_name,description,
orientation,integration,short_name,curated_metric.

For more information, see Metrics metadata file.
Dashboards and MonitorsProvide the JSON files for out-of-the-box dashboards and monitors included in the integration in the dashboards and monitors folders nested in the assets directory.

For both dashboards and monitors, a title and description is required.

Technology Partners can create dashboards and monitors in a provisioned sandbox account, and export these assets into JSON files. For more information about dashboards, see Best Practices for Integration Preset Dashboards.
LogosAdd at least one SVG file which can be used in light and dark modes in a logos folder nested in the assets directory, or add the file(s) directly to the assets directory.

Technology Partners are responsible for the licensing of submitted logos.
ChangelogDocument release notes and version information in the Changelog.md file using the following format: 1.0.0 / YYYY-MM-DD. This information is displayed in the Release Notes tab of the integration tile.

Technology Partners can add releases and version updates in descending order (latest version at the top).
CODEOWNERSThe CODEOWNERS file belongs in the shared .github directory and defines the individuals or teams responsible for maintaining the content and source code in the Marketplace repository.

For more information about syntax, see the GitHub code owners documentation.
End User License Agreement (EULA)Add the eula.pdf file in the assets directory.

Technology Partners are responsible for adding the EULA.

README

README.md ファイルを作成したら、以下のセクションを H2s (##) として追加し、マーケットプレイスのタイルに表示される内容を記入します。

ヘッダー名ヘッダー
概要Datadog マーケットプレイスでインテグレーションを購入しインストールすることで、ユーザーに提供する価値やメリット (例えば、すぐに使えるダッシュボード、ユーザーセッションのリプレイ、ログ、アラートなど) を ## Overview ヘッダーの下に説明文を記述してください。

この情報は、インテグレーションタイルの Overview タブに表示されます。
セットアップH3 の見出し (###) に分けられた情報を含む、マーケットプレイスインテグレーションを設定するためのすべてのステップを含みます。標準的なトピックは以下の通りです。

- アプリ内インテグレーションタイルを使用してインテグレーションをインストールする。
- Datadog の組織で適切なロールと権限でインテグレーションを構成する。
- インテグレーションを購入しインストールしたユーザーがアクセスできる、すぐに使える Datadog の機能 (メトリクス、イベント、モニター、ログ、ダッシュボードなど) にアクセスする。
アンインストールマーケットプレイスインテグレーションをアンインストールするためのすべてのステップを含めます。この情報は、インテグレーションタイルの Configure タブに表示されます。
収集データすぐに使えるメトリクス、イベント、またはサービスチェックに関する情報を含む、マーケットプレイスインテグレーションによって収集されるデータの種類を指定します。

ログ、モニター、ダッシュボードなど、その他の収集データの種類を含めることができます。マーケットプレイスインテグレーションがこれらのいずれかを提供しない場合、Data Collected セクションを追加する必要はありません。
サポートサポートチームへのメール、自社への電話番号、自社のドキュメントやブログ記事へのリンク、その他のヘルプ情報などを含む連絡先情報を箇条書きで掲載します。

メディアカルーセル

インテグレーションタイルには、画像とビデオのメディアカルーセルが含まれます。

テクノロジーパートナーは、インテグレーションタイルにビデオを追加することができます。プルリクエストでビデオをアップロードしないでください。代わりに、ビデオのコピーまたはダウンロードリンクを marketplace@datadoghq.com に送信してください。マーケットプレイスチームは vimeo_link を返信します。このリンクを manifest.json ファイルに追加すると、メディアカルーセルの中にビデオを含めることができます。

ビデオは以下の要件を満たしている必要があります。

ビデオ要件説明
タイプMP4 H.264
サイズビデオサイズは最大 1GB です。
ディメンションアスペクト比は正確に 16:9、解像度は 1920x1080 以上でなければなりません。
名前ビデオファイル名は、partnerName-appName.mp4 でなければなりません。
ビデオの長さビデオの長さは最大 60 秒です。
説明最大許容文字数は 300 文字です。

テクノロジーパートナーは、インテグレーションタイルのメディアカルーセルに最大 8 枚 (ビデオを含む場合は 7 枚) の画像を追加することができます。

イメージは以下の要件を満たしている必要があります。

イメージ要件説明
タイプ.jpg または .png
サイズ平均は 500KB 程度です。最大イメージサイズは 1MB です。
ディメンションアスペクト比は正確に 16:9 で、以下の仕様に適合している必要があります。

- 幅: 1440px
- 最低高さ: 810px
- 最大高さ: 2560px
名前英字、数字、アンダースコア、ハイフンを使用してください。スペースは使用しないでください。
カラーモードRGB
カラープロファイルsRGB
説明最大許容文字数は 300 文字です。

このテンプレートに従って、イメージ、ビデオサムネイル、ビデオを含むメディアカルーセルの media オブジェクトを定義してください。

manifest.json

"media": [
      {
        "media_type": "image",
        "caption": "A Datadog Marketplace Integration OOTB Dashboard",
        "image_url": "images/integration_name_image_name.png"
      },
      {
        "media_type": "video",
        "caption": "A Datadog Marketplace Integration Overview Video",
        "image_url": "images/integration_name_video_thumbnail.png",
        "vimeo_id": 123456789
      },
    ],

詳しくは、インテグレーションアセットリファレンスをご覧ください。

プルリクエストを開く

機能ブランチをプッシュアップし、インテグレーションタイルのアセットファイル (イメージを含む) を含むプルリクエストを marketplace リポジトリに開きます。Marketplace リポジトリはフォークを許可していません。リポジトリの複製を作成する手順については、[セットアップセクション](#set-up-a-directory and clone-the-marketplace-repository)を参照してください。プルリクエストを作成すると、Azure DevOps パイプラインで自動チェックが実行され、プルリクエストが正常であること、更新に必要なコンテンツがすべて含まれていることが確認されます。

Azure DevOps パイプラインへのアクセスをリクエストするには、プルリクエストにコメントを残して、アクセスをリクエストします。

レビュープロセス

プルリクエストが全てのチェックを通過すると、Datadog/agent-integrationsDatadog/marketplace-reviewDatadog/documentation チームのレビュアーが、ベストプラクティスに関する提案やフィードバックを提供します。

フィードバックに対応し、レビューを再要求すると、これらのレビュアーがあなたのプルリクエストを承認します。サンドボックスアカウントでインテグレーションタイルをプレビューしたい場合は、マーケットプレイスチームに連絡してください。これにより、プルリクエストがマージされる前に、Datadog マーケットプレイスでインテグレーションタイルの追加変更を検証し、プレビューすることができます。

市場開拓の機会を調整する

マーケットプレイスのタイルが稼動すると、テクノロジーパートナーは Datadog のパートナーマーケティングチームとミーティングを行い、以下のような共同の市場開拓 (GTM) 戦略を調整することができます。

  • パートナーのプレスリリースの Datadog 見積もり
  • Datadog モニター内のブログ記事
  • ソーシャルメディア投稿の増幅

その他の参考資料