Synthetics API Tests(外形監視)機能を使ってみた #datadog

2019.04.18

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは オペ部 園部です。

今年3月に Datadog Synthetics Test がリリースされました。

※ 後日Browser Test(ブラウザ テスト) がリリースされたため、ここではSynthetics API Testとして記載していきます。

今回は Synthetics API Test をやってみます。

やってみた

今回、本ブログ を対象に作成します。

Synthetics API Test 作成

Synthetics >>> Get Started を選択

New API Test を選択

Make a Request(テスト内容)を入力

|画面|入力|補足| |:--:|:--:|:--:| |URL|GET,POST,PATCH,PUT,DELETE,HEAD,OPTIONS から選択|メソッド| |〃|URLを入力|URL形式チェックあり| |Follow Redirects|ON/OFF から選択|リダイレクト先までチェックを行うか?| |Headers|Request header|| |Authentication|ユーザーとパスワード を入力|Basic認証| |Body > Request body|フリー入力|| |Body > Body type|text/plan,application/json,text/xml,none から選択|選択すると HeadersContent-Type として自動入力| |Cookies|フリー入力|| |Name|テスト名称|デフォルトでは、Test on URN となります| |Select your tags|タグがあればプルダウンから選択|| |Pick the locations to run tests from|Canada Central(AWS),Ohio(AWS),Oregon(AWS), Sydney(AWS),Tokyo(AWS),Frankfurt(AWS),London(AWS) から選択|チェック拠点を選択できます| |How often should we run the test?|1m,5m,15m,30m,1h,6h,12h,1d,1w から選択|テスト間隔|

Test URL を選択

入力したテスト内容が確認できます。

Alert conditions(アラート条件) を入力

Test URL を行うと自動で3つ設定されますが削除することも可能です。

一つ目の項目は When条件 となり、以降は And条件 となります。

AssertionType condition
body contains, does not contain, is, is not, matches, does not match
header contains, does not contain, is, is not, matches, does not match
response time less than XXX ms
status code is

Notify your team(通知) を入力

アラート条件に Pass しなかった場合のアクションを設定します。

Create Test を選択

テスト画面

設定したテスト内容状況を確認する画面へと遷移します。

各要素を見ていきます。

Properties

Test種別, Tags, Overview, Message が表示されます。

Overview では Alert conditions が表示されていて便利です。

History

Uptime, Response Time by Location, Network timings (averaged) が表示されます。(今回、3拠点からテストを実施していています。)

Network timings については、以下の内容となっています。

(引用:Datadog 公式ドキュメントより)

TIMING DESCRIPTION
DNS Time spent resolving the DNS name of the last request.
Connect Time spent establishing a connection to the server.
SSL Time spent for the TLS handshake. If the last request is not over HTTPS, this metric does not appear.
TTFB (time to first byte) Time spent waiting for the first byte of response to be received.
Download Time spent downloading the response.

拠点を絞ることで、 Response TimeNetwork timings の関係を確認することができます。 (これは嬉しい方も多いのではないでしょうか?)

Test Results

Test に関するイベントと実行結果が表示されます。

  • Events

対象テストのイベントを確認することができます。以下の例は、故意に存在しない URLに変更した結果です。

  • Test Results

対象テストの実行結果を確認することができます。

個別の実行内容を見ることも可能です。

Failed になった場合は、ここから状況を確認していけそうです。

Overview

例では一つの対象しかないためあまり有用性がわかりづらいですが、複数存在するサービスであれば可読性が高いのではないかと思います。

まとめ

直感的に設定が可能で、各要素を見ながら状況把握することが出来そうで素敵な機能なのではないかを感じました。 Datadog 公式ドキュメント内で、 Synthetics IP ranges も公開されています。

運用でよくあるSSL証明証期限監視も出来たら最高ではないか!

...と最後に期待をボソボソと言いながら終わりたいと思います。