監視 AWS API Gateway
在您安裝 Instana 代理程式之後,會自動部署並安裝 AWS API Gateway 感應器。
附註: 如需其他支援的 AWS 服務,請參閱 AWS 主題。
API 有三種類型 (REST、HTTP 和 WebSocket) ,所擷取的度量值也會以它們為基礎。
感應器 (資料收集)
追蹤配置
AWS API Gateway 感應器會收集下列 API Gateway 詳細資料:
- ARN
- 名稱
- 地區
- 通訊協定
- 端點類型
- 建立時間
- AWS 分組區域
度量值
AWS API Gateway 感應器會收集下列度量:
REST API
| 名稱 | 說明 |
|---|---|
| API 要求 (計數) | 給定期間的 API 要求總數。 |
| 延遲總計 | 從 API Gateway 收到來自用戶端的要求到它將回應傳回用戶端之間的時間。 延遲包括整合延遲及其他 API Gateway 額外負擔。 |
| 整合延遲 | 從 API Gateway 將要求轉遞至後端到收到來自後端的回應之間的時間。 |
| 4xx 錯誤 | 在給定期間內所擷取的用戶端錯誤數。 |
| 5xx 錯誤 | 在給定期間內所擷取的伺服器端錯誤數。 |
| 快取命中 (計數) | 在給定期間從 API 快取提供的要求數。 |
| 快取遺失 (計數) | 啟用 API 快取時,在給定時段內從後端處理的要求數。 |
HTTP API
| 名稱 | 說明 |
|---|---|
| API 要求 (計數) | 給定期間的 API 要求總數。 |
| 延遲總計 | 從 API Gateway 收到來自用戶端的要求到它將回應傳回用戶端之間的時間。 延遲包括整合延遲及其他 API Gateway 額外負擔。 |
| 整合延遲 | 從 API Gateway 將要求轉遞至後端到收到來自後端的回應之間的時間。 |
| 4xx 錯誤 | 在給定期間內所擷取的用戶端錯誤數。 |
| 5xx 錯誤 | 在給定期間內所擷取的伺服器端錯誤數。 |
WebSocket API
| 名稱 | 說明 |
|---|---|
| 連接 (計數) | 傳送至 $connect 路徑整合的訊息數目。 |
| 訊息 (計數) | 從用戶端傳送至 WebSocket API 或傳送至用戶端的訊息數目。 |
| 整合錯誤 | 從整合傳回 4XX/5XX 回應的要求數。 |
| 用戶端錯誤 | 在呼叫整合之前, API Gateway 傳回 4XX 回應的要求數。 |
| 執行錯誤 | 呼叫整合時發生錯誤。 |
| 整合延遲 | 從 API Gateway 將要求轉遞至後端到收到來自後端的回應之間的時間。 |
必要許可權
需要下列許可權:
cloudwatch:GetMetricDatacloudwatch:GetMetricStatisticscloudwatch:ListMetricsapigateway:GET
配置
API Gateway 的度量值每 60 秒取回一次,可以使用 <agent_install_dir>/etc/instana/configuration.yml 檔案中的代理程式配置來變更:
com.instana.plugin.aws.apigateway:
cloudwatch_period: 60
若要停用監視 API Gateway 實例,請使用下列配置:
com.instana.plugin.aws.apigateway:
enabled: false
Proxy 配置
若要讓特定的 AWS 感應器使用 Proxy 配置,請新增下列代理程式配置設定:
com.instana.plugin.aws.apigateway:
proxy_host: 'example.com' # proxy host name or ip address
proxy_port: 3128 # proxy port
proxy_protocol: 'HTTP' # proxy protocol: HTTP or HTTPS
proxy_username: 'username' # OPTIONAL: proxy username
proxy_password: 'password' # OPTIONAL: proxy password
監視多個 AWS 帳戶
若要使用相同區域中的一個 AWS 代理程式來設定多個 AWS 帳戶的監視,請參閱 監視多個 AWS 帳戶 主題。
AWS具名設定檔方法
若要置換用來監視 API Gateway的設定檔,請使用下列配置:
com.instana.plugin.aws.apigateway:
profile_names:
- 'profile2'
- 'profile3'
附註: 如果您在服務層次定義設定檔,則會置換廣域 AWS 設定檔配置。
AWS STS 方法
若要置換用來監視 API Gateway的 IAM 角色,請使用下列配置:
com.instana.plugin.aws.apigateway:
role_arns:
- 'arn:aws:iam::<account_1_id>:role/<role_1_name>'
- 'arn:aws:iam::<account_2_id>:role/<role_2_name>'
附註: 如果您在服務層次上定義 IAM 角色,則會置換廣域 AWS IAM 角色配置。
過濾
您可以定義多個標籤,以逗點區隔。 需要提供標籤作為鍵值組。 若要讓配置更容易,您可以定義要在探索中併入或從探索中排除哪些標籤。 如果您同時在兩個清單 (include 和 exclude) 中定義標籤,則 exclude 清單具有較高的優先順序。 如果您不需要過濾服務,則不需要定義標籤。 不一定要定義所有值以啟用過濾。
您可以使用 tagged-services-poll-rate 配置內容來指定感應器輪詢 AWS 標籤資源的頻率。 依預設,此值為 300 秒。
附註: 標籤僅適用於 AWS 代理程式。
若要定義感應器輪詢已標記資源的頻率,請使用下列配置:
com.instana.plugin.aws:
tagged-services-poll-rate: 60 #default 300
若要將依標籤的服務併入探索中,請使用下列配置:
com.instana.plugin.aws.apigateway:
include_tags: # Comma separated list of tags in key:value format (e.g. env:prod,env:staging)
若要從探索中依標籤排除服務,請使用下列配置:
com.instana.plugin.aws.apigateway:
exclude_tags: # Comma separated list of tags in key:value format (e.g. env:dev,env:test)
依預設會監視沒有標籤的 AWS 服務,但可以透過將 include_untagged 欄位設為 false來排除:
com.instana.plugin.aws.apigateway:
include_untagged: false # True value by default