稼働モニター

モニターはアプリの外側からスケジュールに従ってチェックを行い、状態が変わるとアラートを出します。7種類のモニターが「稼働状況」ページを共有します。ジョブが ping するハートビート以外、コードは不要です。

1種類を選ぶ

HTTP:2xx または 3xx を稼働と判定し、任意でボディ内のキーワードと応答時間の上限を要求できます。ハートビート:cron ジョブがシークレット URL に ping し、遅延は停止と判定します。SSL:host:port への TLS ハンドシェイク、チェーンは信頼済みである必要があり、発行者と有効期限を表示します。ドメイン:RDAP による登録期限、レジストラを表示します。TCP:host:port に接続して閉じます。DNS:1.1.1.1 と 8.8.8.8 経由で A、AAAA、CNAME、MX、TXT を解決し、任意で値を要求できます。ブラウザ:ヘッドレス Chromium で実行するステップの一覧。

2間隔

HTTP は1、3、5、10、30、60分ごと。ハートビートは1分から24時間まで、猶予期間は1〜60分。SSL とドメインは1、6、12、24時間ごと。ブラウザチェックは5〜60分ごと。

3ブラウザチェックのステップ

最大20ステップをコードではなくデータとして定義します。ステップ1は goto である必要があります。操作:goto(url)、click(selector)、fill(selector、value)、expect_text(text)、expect_selector(selector)、wait(ms)。セレクターとテキストは300文字まで、値は500文字まで、待機は各10秒・合計30秒まで、実行全体は60秒まで。失敗時はページのスクリーンショットが行の下に保持されます。fill の値にはテスト用アカウントを使ってください。平文で保存されます。

json
[
  { "action": "goto", "url": "https://shop.example.com/login" },
  { "action": "fill", "selector": "#email", "value": "monitor@example.com" },
  { "action": "fill", "selector": "#password", "value": "test-only" },
  { "action": "click", "selector": "button[type=submit]" },
  { "action": "expect_text", "text": "Your orders" }
]

4停止の判定方法

失敗したチェックは20秒後に再試行され、2回連続で失敗した場合のみリージョンは失敗と判定されます。複数リージョンのモニターは、厳密な過半数が失敗している場合のみ停止と判定されます(1/1、2/2、2/3)。ドメインとブラウザのチェックは1リージョンを使います。各停止と各復旧は、チャネルまたはオーナー宛てに1回のアラートを発生させます。

知っておくと便利

  • プランごとの上限:HTTP、SSL、ドメイン、TCP、DNS は1つのプールを共有し、10(Free)、25(Solo)、100(Team)、500(Scale)。ハートビートは独自のプールで同じ数。ブラウザチェックは0、3、20、100。
  • 追加の通知:直近10回の HTTP チェックの p95 が応答時間の上限を越えたときの monitor.slow と monitor.fast。証明書は14、7、1日前、ドメインは30、7日前に、しきい値ごとに1回の monitor.expiring。
  • プライベートおよび内部アドレス(localhost、10.x、.local、.internal など)は保存時に拒否されます。.io など RDAP のないレジストリは稼働中のままとなり、期限日は取得不可と表示されます。
  • 稼働率は24時間と30日間で表示されます。生のチェック結果は3日間保持されます。ハートビート URL は一度だけ表示され、置き換え可能です。

お困りですか?support@blipit.io までメールしてください。各プロジェクトのキーと正確な DSN は app.blipit.io の「APIキー」にあります。