Elidoの短縮リンクに対するDatadog URL監視には、2つの情報源があります。Elido自身が送るのはクリックデータで、1クリックにつき1件のログをDatadog Logsのインテイクに、さらに60秒ごとにフラッシュされる3つのクリック数の指標を送ります。リダイレクトのレイテンシやステータスコードは送りません。それらについては、カナリア用の短縮リンクにDatadog SyntheticsのHTTPテストを向け、リダイレクト遅延ダッシュボード、モニター、SLOはすべて、この2つの組み合わせの上に載ります。
この分担が設計のすべてです。クリック側は、何人がリンクを通り、どこから来たかを教えてくれます。Synthetic側は、リダイレクトが応答したか、どれだけ速かったか、正しいステータスだったかを教えてくれます。この記事では、指標とログの正確な形、接続方法、ダッシュボードに置くもの、そして限界を扱います。
遅延が目当てなら、まずp95を15ms未満にする予算の仕組みを読んでください。しきい値を選ぶ前に、健全な数字がどのようなものか説明しています。
Elidoが実際にDatadogへ送るもの
接続されたワークスペースのすべてのクリックは、2つの経路をたどります。ログの経路は、クリックが記録された直後に、1件だけのバッチをhttps://http-intake.logs.<site>/api/v2/logsにPOSTします。指標の経路はメモリ上のカウンターを加算し、フラッシャーが1分に1回、そのカウントをhttps://api.<site>/api/v2/seriesにPOSTします。どちらもDD-API-KEYヘッダーで認証します。
| シグナル | Datadogでの名前 | 頻度 | タグと項目 |
|---|---|---|---|
| クリックログ | source:elido、メッセージはlink_clickで始まる | クリックごとに1件 | workspace_id、link_id、slug、country、device、destination、ip、timestamp |
| クリック数 | elido.clicks | 60秒ごと | workspace_id、vendor:elido |
| 国別クリック数 | elido.clicks_by_country | 60秒ごと | 上記に加えてcountry |
| デバイス別クリック数 | elido.clicks_by_device | 60秒ごと | 上記に加えてdevice |
指標はゲージで、値は前回のフラッシュ以降に数えられたクリック数です。したがって、37というポイントは、直近およそ1分間の37クリックを意味します。運用のグラフには自然な単位であり、合計はas_count()を使わず、時間で合算して求めます。足りないものにも注意してください。指標にはlink_idもslugのタグもありません。コストの面から妥当な判断だと思います。Datadogはカスタムメトリクスをユニークなタグの組み合わせごとに課金するため、混み合うワークスペースにslugタグを付けると、系列の数がリンクの数だけ掛け算で増えるからです。
ログにはlink_idもDatadogのタグとして付き、service:click-ingester、ホストはelido-edgeでタグ付けされるので、絞り込みに使うサービス名はこれです。項目はattributesオブジェクトの下に入れ子で届くため、Log Explorerのファセットは@attributes.slugや@attributes.countryのようになります。何かを作る前に、ログを1件展開してください。10秒で済み、壊れたクエリを防げます。
ElidoワークスペースでのDatadogの接続
設定は2つの項目です。Datadogの(アプリケーションキーではなく)APIキーと、組織が動いているサイトが必要です。
- Datadogで、Organization Settings、API Keysを開き、
elido-forwarderのような名前で1つ作成します。 - サイトを確認します。Datadogのサイトガイドに、各ログインURLとサイトの対応があります。
app.datadoghq.euならdatadoghq.euを入力し、us5.datadoghq.comならそのまま入力します。 - Elidoで、Integrationsを開いてDatadogを選び、キーを貼り付け、サイトを入力して保存します。キーは保存時に暗号化されます。
- フォワーダーがワークスペースの連携設定をキャッシュするため最大5分待ち、スマートフォンから自分のリンクをクリックして、Log Explorerで
source:elidoを検索します。
サイトを空にすると、Elidoはdatadoghq.comと見なします。EUの組織では、これが典型的な、黙って失敗するパターンです。入力ミスでも同じことが起き、すべてのPOSTが失敗しても、誰もエラーを見ません。
Test connectionボタンは、テスト用のログ(elido_test: trueの印付き)を1件Datadogのサイトに送り、Datadogの応答を表示するので、誤ったキーやサイトは、その場でDatadogの403として失敗します。成功したとしても、証明されるのはキーが使えることだけで、パイプラインやインデックスがログを保持するかどうかではないため、本当の証明は、やはりクリックログが現れることです。Mixpanelのクリックフォワーダーと同じルールで、本物のクリックがなければ、なかったことになります。
ホップを計測するリダイレクト遅延ダッシュボードを作る
Elidoはタイミングを送らないため、遅延データは、リクエストを送る何かから取る必要があります。Datadog SyntheticsのHTTPテストが適切なツールで、DNSやTLSを含め、訪問者が感じるものを計測します。
私がすべてのワークスペースに設定しているテストは次のとおりです。
- URL: 専用のカナリアリンク。できれば自社のカスタムドメイン上で、地味で安定した場所を指すようにします。
- リダイレクトの追従: オフ。オンにするとランディングページを計測することになり、問題のなかったリダイレクトのために、重いヒーロー画像が午前3時にあなたを呼び出します。
- アサーション: ステータスコードが302(既定。301や307に設定しているならそれを使います。トレードオフは301と302で説明しています)、
locationヘッダーにリンク先が含まれること、応答時間がしきい値未満であること。 - ロケーション: 少なくとも3か所で、利用者がいるEUリージョンに1か所置きます。毎分実行します。
- ヘッダー:
botを含むUser-Agent。Elidoがプローブをボットと見なし、クリックイベントを送出しないようにします。
しきい値は、ブログ記事ではなく、1週間観察した結果から選んでください。Syntheticの計測値にはプローブ自身のネットワーク経路が含まれるため、別の大陸にあるプローブがリージョン内の数字と一致することはなく、それで問題ありません。欲しいのは、平らなままの線です。
ダッシュボードには、4つのウィジェットが必要です。ロケーション別の応答時間(Syntheticテストの時系列)、アサーションの成功率、elido.clicksによる毎分のクリック数、そして国別のトップリストです。
# Clicks per minute across the workspace (gaps become zeros)
default_zero(sum:elido.clicks{workspace_id:42})
# Hourly click totals
sum:elido.clicks{workspace_id:42}.rollup(sum, 3600)
# Top 10 countries over the dashboard window
top(sum:elido.clicks_by_country{workspace_id:42} by {country}, 10, 'sum', 'desc')
なぜdefault_zeroなのでしょうか。クリックのない分にはポイントがまったく作られず、補間関数がないと、Datadogは欠損をまたいで直線を引くからです。その線は嘘をつきます。
クリック減少とリンク切れのモニター
リンクで起こる問題の大半は、3つのモニターでカバーできます。それぞれが別の情報源を使うので、最初の節の分担が効いてきます。
リダイレクトの故障または遅延。 Syntheticテストは、それ自体がすでにモニターです。1回の実行で2か所以上のロケーションが失敗したときにアラートを出せば、プローブのリージョンが1つ不安定でも、誰も起こされません。302以外の応答はステータスのアサーションに失敗するため、削除、期限切れ、一時停止されたカナリアリンクは、ここで404や410として現れます。
トラフィックの停止。sum:elido.clicks{workspace_id:42}にメトリクスモニターを作り、たとえば30分後にデータ欠損の通知をオンにします。Elidoはクリックのない分には何も送らないため、ここでの「データなし」は文字どおり「クリックなし」を意味し、キャンペーン中に気にすべき事象です。
トラフィックの異常。同じ指標へのアノマリーモニターで、方向を下にすると、普段は1時間に4,000クリックのキャンペーンが突然200になった場合を捉えられます。このパターンは3回見ましたが、毎回、原因はリンクの外にありました。却下された広告、誤ったセグメントに送られたニュースレター、足場の裏に隠れたQRポスターです。バンドを信頼する前に、数週間分の履歴を持たせてください。
リンクごとのアラートが欲しい場合、指標ではできませんが、ログならできます。source:elidoから@attributes.slugでグループ化したログベースの指標を作れば、監視できるスラッグごとのクリック数が得られます。絞り込んだキャンペーンのスラッグだけにしてください。さもないと、カーディナリティのコストが裏口から戻ってきます。
守れるSLO
短縮リンクのサービスレベル目標が意味を持つのは、その情報源がリダイレクトを計測している場合だけです。Syntheticテストの上に作ってください。そのテスト1つをモニターとするモニターベースのSLOで目的は果たせます。
私なら、30日間で99.9%から始めます。これは月におよそ43分のチェック失敗にあたり、マーケティングの責任者に一文で説明できる予算です。クリック数の上に作ってはいけません。クリックは需要を測るものであり、健全性ではないからです。誰もクリックしないリンクは、完全に利用可能です。
SLOのウィジェットの平らな線こそ足りなかったものなら、ワークスペースを設定し、カナリアを自社ドメインに向けて、目標を決める前に1週間動かしてください。
セルフホストのElido: リダイレクトカウンターのスクレイピング
リダイレクトサービスを自分で運用している場合(お客様自身のインフラ上でのEnterprise契約によるデプロイとしてのみ可能で、Elidoはダウンロードできるセルフホスト製品としては販売されていません)、情報源がもう1つ増えます。リダイレクトサービスは/metricsでPrometheusのエンドポイントを公開しており、Datadog AgentのOpenMetricsチェックでスクレイピングできます。役に立つ系列はelido_edge_redirect_totalで、fleetとoutcomeのラベルを持つカウンターです。outcomeにはok、notfound、expired、paused、disabled、blocked、capped、errorがあります。
これにより、SaaS連携にないものが得られます。全トラフィックにわたる本当の404率で、notfoundを全体で割って計算します。2つ目のカウンターedge_redirect_clicks_filtered_bot_totalは、クリックイベントなしでボットに配信されたリダイレクトの数を示します。ただし、このエンドポイントにレイテンシのヒストグラムはありません。レイテンシは、セルフホストでもそうでなくても、やはりSyntheticsから取得します。このエンドポイントがデプロイのどこにあるかは、k3sセルフホストのプレイブックで扱っています。
Datadog連携の限界
最初に問題になりやすい順に、限界を挙げます。
配信はベストエフォートで、クリックのパイプラインから行われるため、リダイレクトより少し遅れることがあります。失敗したログのPOSTは1秒後に1回だけ再試行され、その後は破棄されます。失敗した指標のフラッシュは再試行されません。その分は失われ、次の窓は新しく始まります。elido.clicksは傾向線として扱い、合計は、真実の記録であるElido自身のクリック分析と突き合わせてください。
ログには訪問者のIPと、UTMタグを含む完全なリンク先URLが含まれます。Datadogの組織がUSにあるなら、それは個人データがEUを離れることを意味し、その比較検討の仕方は、マーケティングチーム向けのEUデータレジデンシーガイドで説明しています。最低限、EUサイトがあるならそれを選んでください。
ログのコストはクリック数に比例し、1件ずつ取り込まれます。バズったリンクは、バズった請求書を生みます。除外フィルター、またはログベースの指標と保持期間の短いインデックスの組み合わせで、妥当な水準に収められます。
そして対象はクリックです。リンク作成のイベントも、コンバージョンも、レイテンシも、ステータスコードもありません。正直なところ、クリックのフォワーダーがレイテンシまで運ぶべきなのか、私には確信がありません。外部から計測するプローブのほうが、どのみちより真実に近い証人です。
上でリンクしたDatadogのドキュメントのページは、2026-10-25に閲覧しました。リダイレクトの背後にある遅延予算については、p95を15ms未満にする記事を参照してください。
ブログの関連記事
- Mixpanelのリンク追跡 - 同じクリックフォワーダーを、プロダクト分析に向けたもの。
- URLリダイレクトのキャッシュ戦略 - リダイレクトの遅延がそうなる理由。
- リンク腐敗の防止戦略 - 404モニターが発報したあとにすること。
- 短縮リンクのクリックとGA4セッション - クリック数と分析のセッション数が一致しない理由。
- リダイレクト経由のGA4サーバーサイド計測 - Googleに送る、サーバーサイドのクリックイベント。
- Klaviyoのリンク追跡 - 同じクリックフォワーダーで、各クリックをKlaviyoに送るもの。
よくある質問
Datadogで短縮リンクを監視できますか?
はい、2つの方向からできます。ElidoはすべてのクリックをログとしてDatadogに転送し、毎分のクリック数を指標として送るため、トラフィック量をカバーできます。可用性と遅延については、カナリア用の短縮リンクに対してDatadog SyntheticsのHTTPテストを追加します。訪問者が体験するのと同じように、外部からリダイレクトを計測します。
ElidoはどんなメトリクスをDatadogに送りますか?
ワークスペースごとに毎分フラッシュされる、3つのゲージ指標です。期間内のクリック数を示すelido.clicks、countryタグ付きのelido.clicks_by_country、deviceタグ付きのelido.clicks_by_deviceです。すべてにworkspace_idとvendor:elidoのタグが付きます。それらと並行して、各クリックがsourceがelidoのログとして送られます。
ElidoはリダイレクトのレイテンシをDatadogに送りますか?
いいえ。この連携が送るのはクリックであり、タイミングではなく、ペイロードにレイテンシやステータスコードの指標はありません。リダイレクト遅延のダッシュボードは、代わりにDatadog SyntheticsのHTTPテストから、リダイレクトの追従をオフにして作ってください。グラフにする応答時間が、ランディングページではなくリダイレクトのホップだけになります。
EUのワークスペースはどのDatadogサイトを使うべきですか?
Datadogの組織が置かれているサイトを、素のドメインで入力します。たとえばEUサイトならdatadoghq.euです。欄を空にすると、ElidoはUSサイトのdatadoghq.comにフォールバックし、EUの組織にはそこに届いたものが何も見えません。
Elidoのクリック指標が、ゼロではなくデータなしと表示されるのはなぜですか?
Elidoは、ワークスペースに少なくとも1クリックがあった分についてだけ、データポイントを送ります。クリックのない分はポイントがまったく作られないため、Datadogには欠損として表示されます。ダッシュボードではクエリをdefault_zero()で包み、トラフィックが完全に止まったことを捉えたいときは、データなしのアラートを使ってください。
DatadogのSyntheticチェックはElidoでクリックとして数えられますか?
数えられることがあります。Elidoは、ボットのリストに一致するユーザーエージェント、たとえばbotという語を含むものや一般的なHTTPライブラリについては、クリックイベントを送出しません。Syntheticテストにbotを含むカスタムのUser-Agentヘッダーを設定し、専用のカナリアリンクを指すようにして、プローブがキャンペーンの数字を水増ししないようにしてください。
Elidoを試す
URLを貼り付けて短縮リンクを取得
登録不要。リンクは30日間有効。永久に保存するには登録してください。
登録不要。無料登録すると月 50 件のリンクを作成できます。