API で作成された埋め込み可能なグラフは、テンプレート変数を受け付けます。以下は、Python を使用して avg:system.cpu.user{$var}
に問い合わせる例です。この例では、$var
がテンプレート変数です。注: このメソッドは、時系列で視覚化されたグラフのみをサポートしています。
from datadog import initialize, api
import json
# Datadog API/APP キーによるリクエストパラメーターの初期化
options = {
'api_key': '<DATADOG_API_KEY>',
'app_key': '<DATADOG_APPLICATION_KEY>'
}
initialize(**options)
# 埋め込みグラフの定義を dict で作成し、JSON でフォーマットする
graph_json = {
"requests": [{
"q": "avg:system.cpu.user{$var}"
}],
"viz": "timeseries",
"events": []
}
graph_json = json.dumps(graph_json)
api.Embed.create(
graph_json=graph_json,
timeframe="1_hour",
size="medium",
legend="no"
)
応答例:
{
'embed_id': '<EMBED_ID>',
'revoked': False,
'template_variables': ['var'],
'html': '<iframe src="https://app.datadoghq.com/graph/embed?token=<EMBED_TOKEN>&height=300&width=600&legend=false&var=*" width="600" height="300" frameBorder="0"></iframe>',
'graph_title': 'Embed created through API',
'dash_url': None,
'shared_by': 734258,
'dash_name': None
}
レスポンスオブジェクトの HTML を利用して、Web サイトに埋め込みグラフを表示します。iframe URL のテンプレート変数 $var
がデフォルトで *
に設定されていることに注目してください。これはクエリ avg:system.cpu.user{*}
と同等です。
<iframe src="https://app.datadoghq.com/graph/embed?token=<EMBED_TOKEN>&height=300&width=600&legend=false&var=*" width="600" height="300" frameBorder="0"></iframe>
埋め込み例:
テンプレート変数を使って、フィルターを定義する iframe URL を更新することで、グラフを変更することができます。下記の HTML では、*
を host:embed-graph-test
に置き換えています。
<iframe src="https://app.datadoghq.com/graph/embed?token=<EMBED_TOKEN>&height=300&width=600&legend=false&var=host:embed-graph-test" width="600" height="300" frameBorder="0"></iframe>
埋め込み例:
その他の参考資料