One Server

ドキュメント

ログ

アプリがエラーを出したときに何が起きたかを見る方法と、ソースごとに何が記録されるか。

ログ

アプリの様子がおかしいときは、推測する前にまずログを見てください。

get_logs { ref, level: "error" }            エラーだけ、新しい順
get_logs { ref, source: "server" }          デプロイしたサーバーが出力した行 (console.log、エラーのスタック)
get_logs { ref, search: "timeout" }         内容を検索
get_logs { ref, before: "<next_before>" }   前のページ

ビルドが失敗したら、list_deployments でデプロイを探し、get_deployment でビルドログの末尾を見てください。 失敗の理由は、たいてい最後の数行にあります。

ソース(source):

site       デプロイしたサイトへのリクエスト
server     デプロイしたサーバーが出力したもの
api        データ API のリクエスト
auth       ログインと新規登録のリクエスト
functions  関数の呼び出しと、関数が出力したもの
build      ビルドの出力

リクエストの行は メソッド パス ステータス 所要時間 の形です。クエリ文字列、本文、ヘッダーは保存しません。 保存期間はプランごとに異なり、レスポンスの retention_days にあります。

メトリクス

get_metrics { ref, range: "1h" | "24h" | "7d" } が、リクエスト数、失敗数、レイテンシー(p50/p95/p99)を対象ごとに、 さらにデータベースのサイズ、接続数、キャッシュヒット率を返します。遅くなったと聞いたら、ログより先にこれを見てください。

ログのエクスポート

保存期間より長く残したり、別のツールで見たりするには、外部に送ります。

list_log_drains         送信先、ソース、最後の送信とエラー
create_log_drain        追加 (kind: https | datadog, sources)
set_log_drain_enabled   一時停止・送信再開
remove_log_drain        削除

作成した後にたまるログから送信します。プロジェクトごとに5つまでで、オーナーと管理者だけが変更できます。

アラートルール

値が基準を超えると、組織の通知チャネルとメールで知らせます。1分ごとに確認します。

list_alert_rules         ルールと今の状態(ok | firing)
create_alert_rule        作成(kind: error_rate | p95 | function_errors | usage | firewall_blocks、threshold、window_minutes)
set_alert_rule_enabled   止める・またオンにする
remove_alert_rule        削除

開発者以上が変更できます。無料プランにはありません。

プロジェクトの Webhook

デプロイの開始・成功・失敗・昇格、環境変数・ドメイン・バックアップの変更、登録があったときに、公開の https アドレスに知らせます。Make や Zapier などの外部の自動化をつなぐときに使います。テーブルの行の変更はデータベースの Webhook です。

list_project_webhooks             Webhook、署名キー、選べるイベント
create_project_webhook            作成(name、url、events: 空ならすべて、deployment.* のようなグループ)
set_project_webhook_enabled       止める・また送る
test_project_webhook              ping を送る
list_project_webhook_deliveries   送信記録と失敗の理由
retry_project_webhook_delivery    送信1件を再送
remove_project_webhook            削除

署名はデータベースの Webhook と同じです: x-blackwall-signature: t=<秒>,v1=<HMAC-SHA256(signing_secret, "<t>.<本文>")>。プロジェクトごとに10個までで、オーナーと管理者だけが変更できます。