Synthetics API Tests(外形監視)機能を使ってみた #datadog
こんにちは オペ部 園部です。
今年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
から選択|選択すると Headers
に Content-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
しなかった場合のアクションを設定します。
- 宛先として、ユーザーやインテグレーション サービスが指定可能
- メッセージをMarkdownで記述可能
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 Time
と Network timings
の関係を確認することができます。
(これは嬉しい方も多いのではないでしょうか?)
Test Results
Test に関するイベントと実行結果が表示されます。
- Events
対象テストのイベントを確認することができます。以下の例は、故意に存在しない URLに変更した結果です。
- Test Results
対象テストの実行結果を確認することができます。
個別の実行内容を見ることも可能です。
Failed
になった場合は、ここから状況を確認していけそうです。
Overview
例では一つの対象しかないためあまり有用性がわかりづらいですが、複数存在するサービスであれば可読性が高いのではないかと思います。
まとめ
直感的に設定が可能で、各要素を見ながら状況把握することが出来そうで素敵な機能なのではないかを感じました。 Datadog 公式ドキュメント内で、 Synthetics IP ranges も公開されています。
運用でよくあるSSL証明証期限監視も出来たら最高ではないか!
...と最後に期待をボソボソと言いながら終わりたいと思います。