vague memory

うろ覚えを無くしていこうともがき苦しむ人の備忘録

Datadog Team 機能の小ネタ

Datadog に Team 機能があります。 Datadog上の各リソースをユーザに紐付けてグルーピングできる機能です。

公式ドキュメントの上記のページ以外には情報があまり無いようなので、捕捉していきます。



Handle

ハンドルはチーム名を入力すると自動的に入力欄に入ります。

  • 利用できる文字種は、 a-z, 0-9, and ._-:/
  • 大文字は小文字に変換される
  • スペースは ハイフン に変換される

※ ドキュメント上は、アンダースコアに変換されるとあります (Replace spaces with underscores.) が、実際はハイフンに変換されたので誤記と思われます。

Avatar and Banner

チームの詳細画面のバナーは作成時に自動的に選択されます。 設定からアバターとバナーの変更が可能です。

アバター設定とバナー変更を行った結果が以下です。 視覚的な違いを出す以外の意味は無いようです。

アバターはチーム一覧画面上も表示されます。

リソースとの紐付け

ドキュメント Team handle に以下の記載があります。

(via Google翻訳)

リソースを定義されたチームに関連付けるには、一致するチーム ハンドルを持つチームが Datadog に存在する必要があります。定義されたチームに関連付けられたリソースをクリックすると、チーム ハンドルと追加情報を示す小さなウィンドウが表示されます。定義されたチームは、以下のチーム フィルターなどの追加機能を提供します。

Datadog で定義されたチームに関連付けられていないチーム ハンドルは、タグと同様に動作します。 Teams の機能を活用するには、未定義のチーム ハンドルを定義済みのチームに変換します。

また、Web UI 上に以下の説明があります。

The handle is Team's short identifier for use in any automation- or tag-based workflows.

ハンドルはチームとリソースとの紐付けを担います。

公式の記載内容を言い換えますと、 リソースに対し、 team:<handle> というタグ付けを行うとチームに紐付きます。 チームが存在していない場合は、通常のタグ扱いです。

通常のタグとして利用できるからなのか、Getting Started with Tags の “reserved tag keys” に記載はありません。

API での指定

API や Terraform などでDatadogリソースをコード化する際のチームの指定方法についてです。

API Reference

Web UI 上では、 “Edit Teams” など設定メニューが用意されていますが、 API には現状 team 属性は用意されていないようです。

リファレンスに明記はされていないですが、 タグ付け = チーム設定となるので、 “tag” 属性へ team:<handle> を指定します。

## json-request-body
# 

# Curl command
curl -X POST "https://api.datadoghq.com/api/v1/monitor" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
  "message": "You may need to add web hosts if this is consistently high.",
  "name": "Bytes received on host0",
  "options": {
    "no_data_timeframe": 20,
    "notify_no_data": true
  },
  "query": "avg(last_5m):sum:system.net.bytes_rcvd{host:host0} \u003e 100",
  "tags": [
    "team:example-team-a-.-:/01", # team handle タグを指定する 
    "app:webserver",
    "frontend"
  ],
  "type": "query alert"
}
EOF

尚、Web UI 上でのチーム指定操作の際も、よく見るとタグと連動しています。

以下、 monitor の作成画面の例です。

  • Tags 未指定の状態で Teams からチームを設定

  • Tags にも team: タグが自動で設定される