통합 에셋 참조

개요

이 페이지에서는 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 태그의 전체 목록을 찾을 수 있습니다:

이름설명
Category::AIAI 기술을 모니터링하는 통합
Category::AlertingDatadog 데이터를 수집해 알림을 키거나 Datadog로 알림을 보내는 통합
Category::Automation보안, 규정 준수, 테스트, AIOps와 같은 프로세스를 자동화하는 기술 통합
Category::AWSAmazon Web Services와 관련 서비스에서 데이터를 전송하는 통합
Category::AzureAzure와 관련 서비스에서 데이터를 전송하는 통합
Category::Caching캐시와 캐싱 기술을 모니터링하는 통합
Category::Cloud클라우드 플랫폼과 관련 서비스에서 데이터를 전송하는 통합
Category::Collaboration코드 협력, 메시지 소프트웨어, 컨퍼런스 전화 등 통신 및 협업 중심 플랫폼 통합
Category::ComplianceDatadog로 규정 준수 데이터를 전송하고 모니터링하는 통합(예: HIPPA, SOC2, GDPR 등 지원)
Category::Configuration & Deployment인프라스트럭처를 구성하고 배포할 수 있는 플랫폼 모니터링 통합
Category::Containers컨테이너와 컨테이너 관리 기술에서 메트릭, 로그, 이벤트, 트레이스를 추적하는 통합
Category::Cost Management클라우드 비용을 관리하고 추적하는 것을 도와주는 통합
Category::Data Store데이터베이스, 클러스터, 데이터 레이크 등 데이터 스토리지 솔루션을 모니터링하는 통합
Category::Developer Tools버전 제어, CI/CD, 코드형 인프라스트럭처 등 개발자가 애플리케이션을 빌드하는 것을 돕는 기술 통합
Category::Event ManagementDatadog나 쿼리 이벤트를 외부 플랫폼으로 전송하는 이벤트 통합
Category::Google CloudGoogle Cloud와 관련 서비스에서 데이터를 전송하는 통합
Category::IncidentsDatadog로 인시던트를 전송하거나 Datadog 데이터를 기반으로 외부 인시던트를 생성하는 통합
Category::IOTIoT(사물 인터넷) 기기를 모니터링하는 통합
Category::Issue Tracking사용자가 인프라스트럭처나 코드 문제를 파악하고 관리하는 것을 도와주는 통합
Category::Kubernetes쿠버네티스와 관련 서비스에서 데이터를 전송하는 통합
Category::Languages특정 프로그래밍 언어에 기반해 메트릭과 추가 데이터를 전송하는 통합
Category::Log CollectionDatadog에서 로그를 쿼리하거나 전송하는 통합
Category::Machine Learning & LLM머신 러닝 기술과 대형 언어 모델(Large Language Models)을 모니터링하고 ML Operations를 보조하는 통합
Category::MainframeIBM z/OS와 같은 메인프레임 시스템을 모니터링하는 통합
Category::MarketplaceDatadog Marketplace에서 추가 비용을 지불하고 판매 중인 상품 통합
Category::Messaging메시지 대기열과 메시지 시스템을 모니터링하는 통합
Category::MetricsDatadog에서 메트릭을 전송하고 쿼리하는 통합
Category::Mobile모바일 기기 및 애플리케이션을 모니터링하는 통합
Category::Network네트워크 및 네트워크 기기를 모니터링하는 통합
Category::Notification알림 중심 기술(예: 인시던트 응답) 통합
Category::OracleOracle 기반 기술을 모니터링하는 통합
Category::Orchestration컨테이너 등 오케스트레이션을 제공하는 기술 통합
Category::OS & System운영 체제나 다른 저수준 시스템을 모니터링하는 통합
Category::Provisioning클라우드, 컨테이너 등 전체 리소스 프로비저닝을 관리하는 기술 통합
Category::SAPSAP 기술 통합
Category::Security보안 도구나 보안 보고를 모니터링하는 통합
Category::SNMPSNMP와 관련 도구를 모니터링하는 통합
Category::Source ControlGit과 같은 소스 코드 협업 도구를 모니터링하는 통합
Category::Testing브라우저 테스트와 로드 테스트 등의 기술을 모니터링하는 통합
Category::TracingDatadog에서 트레이스를 전송하거나 쿼리하고 Datadog APM과 상호 작용하는 통합
Offering::IntegrationDatadog 계정에서 데이터를 전송하거나 쿼리하는 서비스
Offering::Professional Service타사 전문 서비스(예: 컨설팅, 통합 생성 등)를 Datadog Marketplace를 통해 Datadog 고객에게 제공하는 유료 서비스
Offering::Software LicenseSaaS 제품을 Datadog Marketplace를 통해 구독할 수 있는 유료 서비스
Offering::UI ExtensionDatadog 사용자의 대시보드에 렌더링된 대화형 iFrame을 표시하도록 하는 맞춤형 대시보드 위젯
Queried Data Type::MetricsDatadog 사용자 계정에서 메트릭을 읽는 통합
Queried Data Type::LogsDatadog 사용자의 계정에서 로그를 읽는 통합
Queried Data Type::TracesDatadog 사용자의 계정에서 트레이스를 읽는 통합
Queried Data Type::EventsDatadog 사용자의 계정에서 이벤트를 읽는 통합
Queried Data Type::IncidentsDatadog 사용자의 계정에서 인시던트를 읽는 통합
Submitted Data Type::MetricsDatadog 사용자의 계정에 메트릭을 전송하는 통합
Submitted Data Type::LogsDatadog 사용자의 계정에 로그를 전송하는 통합
Submitted Data Type::TracesDatadog 사용자의 계정에 트레이스를 전송하는 통합
Submitted Data Type::EventsDatadog 사용자의 계정에 이벤트를 전송하는 통합
Submitted Data Type::IncidentsDatadog 사용자의 계정에 인시던트를 전송하는 통합
Supported OS::AndroidAndroid에서 데이터를 실행하고 쿼리 및 전송할 수 있는 통합
Supported OS::AnyOS에서 데이터를 실행하고 쿼리 및 전송할 수 있는 통합
Supported OS::HP-UXHP-UX에서 데이터를 실행하고 쿼리 및 전송할 수 있는 통합
Supported OS::IBM i/OSIBM i/OS에서 데이터를 실행하고 쿼리 및 전송할 수 있는 통합
Supported OS::IBM z/OSIBM z/OS에서 데이터를 실행하고 쿼리 및 전송할 수 있는 통합
Supported OS::iOSiOS에서 데이터를 실행하고 쿼리 및 전송할 수 있는 통합
Supported OS::LinuxLinux에서 데이터를 실행하고 쿼리 및 전송할 수 있는 통합
Supported OS::macOSmacOS에서 데이터를 실행하고 쿼리 및 전송할 수 있는 통합
Supported OS::SolarisSolaris에서 데이터를 실행하고 쿼리 및 전송할 수 있는 통합
Supported OS::WindowsWindows에서 데이터를 실행하고 쿼리 및 전송할 수 있는 통합

서비스 검사 파일

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에 표시됩니다.

참고 자료