통합 에셋 참조

개요

이 페이지에서는 Integration 페이지 또는 Marketplace 페이지에서 제공 사항을 생성하기 위해 필요한 파일을 설명합니다.

설정 파일

새로운 통합을 준비할 때 필요한 옵션과 적절한 기본값을 포함하는 예제 설정을 포함해야 합니다. 다음 예제 설정 파일은 <CHECK_NAME>/datadog_checks/<CHECK_NAME>/data/conf.yaml.example에 있습니다. 여기에는 최상위 요소 init_configinstances가 있습니다.

init_config 설정은 전체적으로 통합에 적용되며 통합의 모든 인스턴스 생성에 사용되는 반면 instances안에 있는 모든 것은 지정된 인스턴스화에만 해당됩니다.

각 섹션의 설정 블록은 다음과 같은 형식입니다.

## @<COMMAND> [- <ARGS>]
## <DESCRIPTION LINE 1>
## <DESCRIPTION LINE 2>
#
<KEY>: <VALUE>

구성 블록은 다음과 같은 지침을 따릅니다.

  • 설명은 비워둘 수 없습니다.
  • 자리표시자는 항상 <THIS_IS_A_PLACEHOLDER> 형식을 사용해야 합니다. 자세한 내용은 설명서 사이트 지침을 참고하세요.
  • 모든 필수 파라미터는 기본적으로 주석 처리되지 않습니다.
  • 선택 사항인 파라미터는 모두 기본적으로 주석 처리됩니다.
  • 자리표시자에 통합 기본값(예: 통합 상태 엔드포인트)이 있는 경우, 일반적인 자리표시자 대신 해당 값을 사용할 수 있습니다.

@param 사양

@param 명령을 사용하여 설정 블록을 설명하고 설정에 대한 설명서를 제공할 수 있습니다.

@param은 다음 형식 중 하나를 사용하여 구현됩니다.

@param <name> - <type> - required
@param <name> - <type> - optional
@param <name> - <type> - optional - default: <defval>

인수:

  • name: search_string와 같은 파라미터의 이름 (필수).
  • type: 파라미터 값의 데이터 유형 (필수). 사용 가능한 값: boolean, string, integer, double, float, dictionary, list*, and object*.
  • defval: 파라미터의 기본값으로, 비워둘 수 있음(선택 사항).

listobject 변수는 여러 줄에 걸쳐 있고 특별한 규칙이 있습니다.

  • list에서 개별 요소는 @param 사양과 함께 문서화되지 않습니다.
  • object에서는 @param 사양을 사용하여 요소를 개별적으로 문서화하거나 개체 자체의 사양에 따라 공통 최상위 설명을 갖도록 선택할 수 있습니다.

선택 사항인 파라미터

선택 사항인 파라미터는 기본적으로 주석을 달아야 합니다. 파라미터가 걸쳐있는 모든 줄 앞에 @param 사양과 동일한 들여쓰기와 함께 #를 추가합니다.

블록 주석

다음 규칙을 사용하여 설정 파일의 임의 위치에 블록 주석을 추가할 수 있습니다.

  • 주석은 ##로 시작합니다.
  • 주석은 다른 변수처럼 들여쓰기를 해야 합니다(하이픈은 미포함).

YAML 구문에 대한 자세한 내용은 YAML 위키피디아 문서를 참고하세요. 온라인 YAML 파서를 살펴볼 수도 있습니다.

매니페스트 파일

Integration 페이지 또는 Marketplace 페이지의 모든 제공 사항에는 manifest.json 파일이 포함되어 있습니다. 이 파일은 운영 파라미터, Datadog 통합 에코시스템 전체 내 포지셔닝, 추가 메타데이터를 정의합니다.

You can find the complete list of mandatory and optional attributes for the manifest.json file below:

AttributeMandatory or OptionalDescription
manifest_versionMandatoryType: String Enum.

Version of the manifest schema. Supported values include 1.0.0 and 2.0.0.
app_uuidMandatoryType: UUID.

Globally unique UUID for this application. This is automatically generated by Datadog when the developer toolkit ddev create command runs as part of creating tile scaffolding for your integration tile.
app_idMandatoryType: String.

The unique identifying name of this offering. Usually kebab case of the app title. For example, if the app title is “Marketplace Offering”, then the app_id would be marketplace-offering.
assetsMandatoryType: Dictionary.

Object containing any Datadog installable entity.
assets[dashboards]OptionalType: Dictionary.

Out-of-the-box dashboards associated with this offering.
assets[dashboards["dashboard_short_name"]]MandatoryType: String.

Key and value pairs for any out-of-the-box dashboards. The key is the globally unique short name of the dashboard and the value is the relative path to the dashboard’s JSON definition in relation to this manifest.
assets[integration]OptionalType: Dictionary.

Object containing information about the integration.
assets[integration[auto_install]]MandatoryType: Boolean.

Whether or not the integration and related assets should be installed automatically when metrics or logs from the integration are received from the source. This is typically set to true for integrations using the Datadog Agent, and other integrations that are configured outside the Datadog UI. It is typically set to false for marketplace integrations and integrations that are configured with the Datadog UI, such as integrations using OAuth.
assets[integration[configuration]]Mandatory, can be { }Type: Dictionary.

Object representing the configuration specification for this integration.
assets[integration[configuration[spec]]]MandatoryType: String.

Relative path to where the configuration spec lives in relation to this manifest.
assets[integration[events]]MandatoryType: Dictionary.

Information about events emitted by this integration.
assets[integration[events[creates_events]]]MandatoryType: Boolean.

Whether or not this integration emits events to Datadog.
assets[integration[metrics]]MandatoryType: Dictionary.

Information about the metrics this integration emits.
assets[integration[metrics[check]]]MandatoryType: String or list of strings.

A string or list representing metrics that this integration always emits on every run.
assets[integration[metrics[metadata_path]]]MandatoryType: String.

Relative path to where the metrics metadata lives in relation to this manifest.
assets[integration[metrics[prefix]]]MandatoryType: String.

The prefix for metrics emitted by this integration.
assets[integration[service_checks]]Mandatory, but can be { }Type: Dictionary.

Information about service checks emitted by this integration.
assets[integration[service_checks[metadata_path]]]MandatoryType: String.

Relative path to where the service check metadata lives in relation to this manifest.
assets[integration[source_type_name]]MandatoryType: String.

User-facing name of this integration.
assets[integration[source_type_id]]MandatoryType: Integer.

Globally unique ID for this integration. This is automatically generated by Datadog when the developer toolkit ddev create command runs as part of creating tile scaffolding for your integration tile.
assets[monitors]OptionalType: Dictionary.

Recommended monitors.
assets[monitors["monitor_short_name"]]MandatoryType: String.

Key and value pairs for any recommended monitors. The key is the globally unique short name of the monitor and the value is the relative path to the monitor’s JSON definition in relation to this manifest.
authorMandatoryType: Dictionary.

Information about the author of this app.
author[homepage]MandatoryType: String (URL).

The web URL to the homepage of the author.
author[name]MandatoryType: String.

The human-readable name for this company.
author[sales_email]MandatoryType: String (Email).

The Partner email to contact for any subscription-level events.
author[support_email]MandatoryType: String (Email).

The Partner email to contact for any support and maintenance queries.
author[contact_link]OptionalType: String (URL).

The URL link to meeting scheduling software, such as Calendly. This field is mandatory for professional services listings.
author[vendor_id]MandatoryType: String.

The vendor ID to use for subscription purposes. Must be globally unique and cannot be changed. Should follow the strict standards of app_id where only dashes and alphabetic chars are allowed. This value is provided to Datadog Technology Partners.
display_on_public_websiteMandatoryType: Boolean.

Whether or not information about this listing is displayed on the public Datadog Docs site. Once this is set to true, it cannot be changed.
legal_termsMandatoryType: Dictionary.

Any legal documentation that a user needs to agree to in order to use this app.
legal_terms[eula]MandatoryType: String.

Relative path to the End User License Agreement (EULA) PDF in relation to this manifest.
pricingMandatoryType: Array of Dictionaries.

List of objects representing the pricing model of the integration. See the Marketplace GitHub repository for pricing details. The Marketplace GitHub repository is private, email marketplace@datadog.com for access.
resourcesOptionalType: Array of Dictionaries.

List of externally hosted resources (blog posts, documentation, etc.) that appear in the “Dive Deeper” section of the integration tile with rich previews.
resources[resource_type]MandatoryType: String.

Type of resource being linked. Can be blog, documentation, faq, or other.
resources[url]MandatoryType: String.

Link to resource.
tileMandatoryType: Dictionary.

Information about this offering.
tile[media]Mandatory, can be [ ]Type: Array of Dictionaries.

Information about the various image and video style objects that are presented in the media gallery carousel on the listing page.
tile[media[media_type]]MandatoryType: String or Enum.

The type of media this is. Allowed values are image and video.
tile[media[caption]]MandatoryType: String.

The caption for the image.
tile[media[image_url]]MandatoryType: String.

The relative path to this image in relation to this manifest file.
tile[classifier_tags]Mandatory, can be [ ]Type: Array of strings.

Select and use the appropriate classifiers to describe this app, including categories, submitted or queried data types, supported_os, and available_offerings. For more information, see Classifier Tags.
tile[description]MandatoryType: String[80].

A brief description of what this offering provides. Limited to 80 characters.
tile[title]MandatoryType: String[50].

The user-friendly title for this app.

Classifier 태그

classifier_tags 파라미터를 사용하여 여러 카테고리를 설정하고 통합에 전송되거나 쿼리된 데이터 유형을 정의할 수 있습니다.

아래에서 manifest.json 파일에 대한 classifier 태그의 전체 목록을 찾을 수 있습니다:

NameDescription
Category::AI/MLIntegrations that monitor AI and Machine Learning technologies, Large Language Models, and assist with AI/ML Operations.
Category::AlertingIntegrations that collect Datadog data to alert on, or send alerts into Datadog.
Category::AutomationIntegrations for technologies that automate processes such as security, compliance, testing, and AIOps.
Category::AWSIntegrations that send in data from Amazon Web Services and its related services.
Category::AzureIntegrations that send in data from Azure and its related services.
Category::CachingIntegrations that monitor caches and caching technologies.
Category::CloudIntegrations that submit data from cloud platforms and their related services.
Category::CollaborationIntegrations for platforms that center around communication and collaboration, such as code collaboration, messaging software, and conference calling.
Category::ComplianceIntegrations that monitor and send compliance data into Datadog, such as support for HIPPA, SOC2, GDPR, and more.
Category::Configuration & DeploymentIntegrations that monitor platforms that can configure and deploy infrastructure.
Category::ContainersIntegrations that track metrics, logs, events, and traces from containers and container management technologies.
Category::Cost ManagementIntegrations that help track and manage cloud cost.
Category::Data StoresIntegrations that monitor data storage solutions such as databases, clusters, data lakes, and more.
Category::Developer ToolsIntegrations for technologies that developers use to help build applications such as version control, CI/CD, and infrastructure as code.
Category::Event ManagementIntegrations that send events into Datadog or query events to send into external platforms.
Category::Google CloudIntegrations that send in data from Google Cloud and its related services.
Category::IncidentsIntegrations that send incidents into Datadog, or create incidents externally based on Datadog data.
Category::IoTIntegrations that monitor IoT (Internet of Things) devices.
Category::Issue TrackingIntegrations that help users identify and manage issues in their infrastructure or code.
Category::KubernetesIntegrations that send in data from Kubernetes and Kubernetes-related services.
Category::LanguagesIntegrations that send metrics and additional data based on specific programming languages.
Category::Log CollectionIntegrations that submit or query logs from Datadog.
Category::MainframesIntegrations that monitor mainframe systems such as IBM z/OS.
Category::MarketplaceIntegrations that are sold in the Datadog Marketplace for an additional fee.
Category::Message QueuesIntegrations that monitor messaging queues and messaging systems.
Category::MetricsIntegrations that submit and query metrics from Datadog.
Category::MobileIntegrations that monitor mobile devices and applications.
Category::NetworkIntegrations that monitor networks and network devices.
Category::NotificationsIntegrations for technologies that focus on notifications, for example, incident response.
Category::OracleIntegrations that monitor Oracle-based technologies.
Category::OrchestrationIntegrations for technologies that provide orchestration for containers and more.
Category::OS & SystemIntegrations that monitor operating systems or other low-level systems.
Category::ProvisioningIntegrations for technologies that manage the provisioning of resources across the cloud, containers, and more.
Category::SAPIntegrations for SAP technologies.
Category::SecurityIntegrations that monitor security tools or provide security reporting.
Category::SNMPIntegrations that monitor SNMP and related tools.
Category::Source ControlIntegrations that monitor source code collaboration tools such as Git.
Category::TestingIntegrations that monitor technologies that run browser tests, load testing, and more.
Category::TracingIntegrations that send in or query traces from Datadog, and interact with Datadog APM.
Category::WindowsIntegrations for the Windows operating system.
Offering::IntegrationThis is an offering that submits or queries data from a user’s Datadog account.
Offering::Professional ServiceThis is a paid offering that provides third-party professional services, such as consulting, integration creation, and more to Datadog customers through the Datadog Marketplace.
Offering::Software LicenseThis is a paid offering that provides a subscription to a SaaS product through the Datadog Marketplace.
Offering::UI ExtensionThis is a custom dashboard widget that displays a rendered, interactive iFrame on the dashboards of Datadog users.
Queried Data Type::MetricsAn integration that reads metrics from a Datadog user’s account.
Queried Data Type::LogsAn integration that reads logs from a Datadog user’s account.
Queried Data Type::TracesAn integration that reads traces from a Datadog user’s account.
Queried Data Type::EventsAn integration that reads events from a Datadog user’s account.
Queried Data Type::IncidentsAn integration that reads incidents from a Datadog user’s account.
Submitted Data Type::MetricsAn integration that sends metrics into a Datadog user’s account.
Submitted Data Type::LogsAn integration that sends logs into a Datadog user’s account.
Submitted Data Type::TracesAn integration that sends traces into a Datadog user’s account.
Submitted Data Type::EventsAn integration that sends events into a Datadog user’s account.
Submitted Data Type::IncidentsAn integration that sends incidents into a Datadog user’s account.
Supported OS::AndroidAn integration that can run on and query/submit data from Android.
Supported OS::AnyAn integration that can run on and query/submit data from any OS.
Supported OS::HP-UXAn integration that can run on and query/submit data from HP-UX.
Supported OS::IBM i/OSAn integration that can run on and query/submit data from IBM i/OS.
Supported OS::IBM z/OSAn integration that can run on and query/submit data from IBM z/OS.
Supported OS::iOSAn integration that can run on and query/submit data from iOS.
Supported OS::LinuxAn integration that can run on and query/submit data from Linux.
Supported OS::macOSAn integration that can run on and query/submit data from macOS.
Supported OS::SolarisAn integration that can run on and query/submit data from Solaris.
Supported OS::WindowsAn integration that can run on and query/submit data from Windows.

서비스 검사 파일

service_check.json 파일은 통합에서 실행하는 서비스 검사를 설명합니다.

아래에서 service_checks.json 파일의 필수 특성 전체 목록을 확인할 수 있습니다.

속성설명
agent_version지원되는 최소 에이전트 버전입니다.
integration서비스 검사를 내보내는 통합의 이름입니다. manifest.json으로부터 비정규화된 tile.title 형식이어야 합니다.
check서비스 검사의 이름입니다. 고유한 이름이어야 합니다.
statusesok,warningcritical 는 검사의 상태를 나타냅니다. unknown을 선택할 수도 있습니다.
groups서비스 검사와 함께 전송되는 태그입니다.
name서비스 검사의 표시된 이름입니다. 표시되는 이름은 모든 통합에 걸쳐 고유하고 설명 가능한 이름이어야 합니다.
description서비스 검사에 대한 설명입니다.

메트릭 메타데이터 파일

metadata.csv 파일은 통합을 통해 수집할 수 있는 모든 메트릭을 설명합니다.

metadata.csv 파일의 필수 속성과 선택 속성의 전체 목록은 아래에서 확인할 수 있습니다.

열 이름필수 사항 또는 선택 사항설명
metric_name필수 사항메트릭의 이름입니다.
metric_type필수 사항메트릭의 유형입니다. 사용 가능한 메트릭 제출 유형 목록은 메트릭 유형을 참고하세요.
interval선택 사항메트릭의 수집 간격(초)입니다.
unit_name선택 사항메트릭의 단위입니다. 지원되는 단위의 전체 목록은 메트릭 단위를 참조하세요.
per_unit_name선택 사항request per second와 같은 단위 하위 구분이 있는 경우입니다.
description선택 사항메트릭에 대한 설명입니다.
orientation필수 사항메트릭이 myapp.turnover와 같이 증가해야 하는 경우 1로 설정합니다. 메트릭 변동이 관련이 없는 경우, 0으로 설정합니다. if the metric should go down, such asmyapp.latency’ 일 경우, ‘-1’로 설정합니다.
integration필수 사항메트릭을 내보내는 통합의 이름입니다. manifest.json파일의 tile.title는 표준화된 버전이어야 합니다. 문자, 밑줄, 대시 및 숫자를 제외한 모든 문자는 밑줄로 변환됩니다. 예: Openstack Controller->openstack_controller, ASP.NET-> asp_net, CRI-o->cri-o.
short_name필수 사항메트릭의 명시적인 고유 ID입니다.
curated_metric선택 사항특정 유형 (cpumemory 둘 다 허용됨)에 대해 주목할 만한 통합 메트릭을 표시합니다. 이러한 항목은 다른 통합 메트릭 위의 UI에 표시됩니다.

참고 자료

PREVIEWING: may/unit-testing