# 標籤與指派

使用標籤整理探測器與檢查、建立選擇器、預覽比對結果，以及排查實際生效的指派。

標籤用來描述資源，選擇器則根據探測器標籤決定檢查要在哪裡執行。設計標籤分類時，請將這兩個用途分開思考。

## 建立一致的標籤規則

每個標籤都是一組 key/value，每一部分最多 64 個字元。實用的分類應該穩定，且團隊成員都能理解：

| Key           | 值的範例                              |
| ------------- | ------------------------------------- |
| `region`      | `taipei`、`tokyo`、`frankfurt`        |
| `provider`    | `isp-a`、`cloud-b`                    |
| `environment` | `production`、`staging`、`lab`        |
| `network`     | `office`、`residential`、`mobile`     |
| `role`        | `edge`、`datacenter`、`customer-site` |

請先在「**標籤**」中建立可用值，再將它們套用到探測器與檢查。重新命名或刪除標籤可能改變選擇器的比對結果，因此變更分類規則前，請先檢查受影響的檢查。

## 選擇要執行檢查的探測器

控制器使用支援標籤相等比較及邏輯組合的選擇器抽象語法樹。Web 編輯器會協助建立這個運算式，並預覽目前有哪些已啟用的探測器符合條件。

概念如下：

```text
region=tokyo AND (provider=isp-a OR provider=isp-b)
```

空白選擇器會符合專案中所有已啟用的探測器。只有希望檢查涵蓋所有探測器時，才應刻意使用這個設定。

## 實際生效的指派

控制器會為每個符合條件且已啟用的探測器，建立一筆實際生效的探測器／檢查指派。指派會記錄檢查與選擇器的版本，讓 agent 能偵測設定變更。

變更相關的探測器、檢查或標籤後，系統會重新整理指派。如果無法同步完成，背景重試程序會再次處理。

## 排查缺少量測結果的問題

請依下列順序檢查：

1. 確認檢查已儲存，而且執行間隔有效。
2. 預覽選擇器，確認預期的探測器有出現在比對結果中。
3. 確認探測器已啟用。
4. 確認探測器在線上，且近期持續傳送心跳訊號。
5. 依探測器或檢查篩選專案指派。
6. 等待 agent 下一次輪詢指派。
7. 查看探測器服務日誌，確認是否有執行或提交結果的錯誤。

如果探測器符合條件，卻無法執行明確指定 IPv4 或 IPv6 的檢查，請查看它回報的 IP 版本能力，以及主機實際的網路設定。

## 謹慎管理公開內容

狀態頁可以公開檢查的特定指派，也可以公開該檢查的所有指派。變更標籤後，請重新檢查狀態頁包含的指派，避免意外公開原本不在範圍內的探測器名稱、目標或位置。
