# API 監控

Source: https://instatus.com/help/zh-tw/monitoring/api

API 監控每 30 秒對端點送出可自訂的 HTTP 請求，並在端點無法連線、回應過慢或回傳錯誤資料時警示你。你可以控制方法、標頭、內容與驗證方式，並對狀態碼、JSON 內容、標頭與回應時間設定判斷條件。

與[其他監控](https://instatus.com/help/zh-tw/monitoring)一樣，當 API 監控發現問題時，你可以與團隊一起[解決該事件](https://instatus.com/help/zh-tw/incident-response)，並視需要更新你的[狀態頁](https://instatus.com/help/zh-tw/status-page)。

| At a glance | Details |
| :-- | :-- |
| [檢查頻率](https://instatus.com/help/zh-tw/monitoring/api#進階設定) | 每 30 秒 |
| [HTTP 方法](https://instatus.com/help/zh-tw/monitoring/api#請求設定) | GET、POST、PUT、PATCH、DELETE、OPTIONS、HEAD |
| [請求內容](https://instatus.com/help/zh-tw/monitoring/api#請求設定) | JSON、表單資料、GraphQL、純文字 |
| [驗證](https://instatus.com/help/zh-tw/monitoring/api#請求設定) | Basic auth、API 金鑰、Bearer token |
| [判斷條件](https://instatus.com/help/zh-tw/monitoring/api#監控成功的條件) | 狀態碼、回應時間、內容、JSON 路徑、標頭 |
| [檢查地點](https://instatus.com/help/zh-tw/monitoring/api#進階設定) | 美國、加拿大、歐洲、亞洲 |

![監控](https://instatus.com/help/monitors/item.png)

## API 監控會檢查什麼？

- 每 30 秒從全球多個地點測試你的 API 端點。
- 驗證 HTTP 狀態碼、JSON 內容、標頭與回應時間。
- 可加入自訂標頭、查詢參數或 JSON 內容。
- 端點故障、變慢或回傳非預期結果時立即收到通知。
- 整合 Slack、電子郵件、簡訊、電話通知、Webhook 等管道。

## 如何新增 API 監控？

前往你的專案 → 監控 → 新增監控，選擇 **API**，輸入端點 URL，設定請求內容，並設定代表端點運作正常的判斷條件。

![新增 API 監控](https://instatus.com/help/monitors/API.png)

### 監控類型

把監控類型選為 **API**。

![API 監控類型](https://instatus.com/help/monitors/type-api.png)

輸入你要監控的端點 URL — 例如  
`https://api.yourservice.com/v1/users`。

### 請求設定

你可以完整自訂 API 請求：

- **HTTP 方法：**`GET`、`POST`、`PUT`、`PATCH`、`DELETE`、`OPTIONS` 或 `HEAD`
- **內容：**隨請求送出 JSON、表單資料、GraphQL 或純文字
- **驗證：**加入基本驗證、API 金鑰或 Bearer token 授權
- **查詢參數：**在請求 URL 後面附加鍵值對
- **標頭：**加入 API 請求所需的自訂標頭

### 監控成功的條件

當所有指定的判斷條件都符合時，API 監控就算成功。  
你可以設定下列一個或多個判斷條件：

- **狀態碼：**例如回應為 `200 OK`
- **回應時間：**例如少於 `1 second`
- **內容包含：**例如 `"success": true`
- **JSON path：**例如 `data.status` 等於 `"active"`
- **標頭包含：**例如 `Content-Type: application/json`

只要其中任一條件不符合，監控就會被標記為**故障**，並依你的[警報設定](https://instatus.com/help/zh-tw/monitoring/alerts)發送警報。

### 進階設定

![監控進階設定](https://instatus.com/help/monitors/advanced-settings.png)

- **易記名稱：**給監控一個具描述性的名稱，方便辨識。
- **檢查間隔：**決定要多頻繁測試這個端點。
- **檢查來源地點：**選擇測試地點（美國、加拿大、歐洲、亞洲）。
- **加入狀態頁：**公開顯示 API 的正常運行時間與回應統計。
- **當監控失敗時：**建立事件、通知訂閱者，或發佈到你的狀態頁。
- **當監控恢復時：**解決事件並自動更新你的狀態頁。

恭喜，你已經新增了第一個 API 監控！

- [Cron 監控](https://instatus.com/help/zh-tw/monitoring/cron): 了解如何監控排程工作與背景作業
