在Service MeshASM開啟採集Prometheus監控指標後,Envoy會輸出預設的監控指標。ASM支援使用自訂Metric的功能針對性輸出監控指標,支援自訂網格層級、命名空間層級、工作負載層級的監控指標。本文介紹如何在Service MeshASM中自訂監控指標。
前提條件
已添加叢集到ASM執行個體。具體操作,請參見添加叢集到ASM執行個體。
背景資訊
Istio會預設產生監控指標,每個監控指標包含標籤。以下介紹Istio會產生的指標:
對於HTTP、HTTP/2和GRPC流量,Istio會產生以下指標:
Request Count (istio_requests_total): This is a COUNTER incremented for every request handled by an Istio proxy. Request Duration (istio_request_duration_milliseconds): This is a DISTRIBUTION which measures the duration of requests. Request Size (istio_request_bytes): This is a DISTRIBUTION which measures HTTP request body sizes. Response Size (istio_response_bytes): This is a DISTRIBUTION which measures HTTP response body sizes. gRPC Request Message Count (istio_request_messages_total): This is a COUNTER incremented for every gRPC message sent from a client. gRPC Response Message Count (istio_response_messages_total): This is a COUNTER incremented for every gRPC message sent from a server.
對於TCP流量,Istio產生以下指標:
Tcp Bytes Sent (istio_tcp_sent_bytes_total): This is a COUNTER which measures the size of total bytes sent during response in case of a TCP connection. Tcp Bytes Received (istio_tcp_received_bytes_total): This is a COUNTER which measures the size of total bytes received during request in case of a TCP connection. Tcp Connections Opened (istio_tcp_connections_opened_total): This is a COUNTER incremented for every opened connection. Tcp Connections Closed (istio_tcp_connections_closed_total): This is a COUNTER incremented for every closed connection.
每個指標都會包含標籤,以下為每個Istio指標預設包含的標籤:
DefaultStatTags=["reporter","source_namespace","source_workload","source_workload_namespace","source_principal","source_app","source_version","source_app","source_version","source_cluster",destination_namespace","destination_principal","destination_app","destination_version","destination_service","destination_service_name","destination_service_namespace","destination_port","destination_cluster","request_protocol","request_operation","request_host","response_flags","grpc_response_status","connection_security_policy","source_canonical_service","destination_canonical_service","source_canonical_revision","destination_canonical_revision"]
標籤說明
標籤 | 說明 |
reporter | 請求的上報者,不同的上報者標籤值不同:
|
source_workload | 源工作負載的名稱。如果沒有採集到標籤值,則標籤值為 |
source_workload_namespace | 源工作負載的名稱空間。如果沒有採集到標籤值,則標籤值為 |
source_principal | 流量源的對等主體。只有建立了對等身分識別驗證時,才可以採集到該標籤的值。 |
source_app | 根據源工作負載的應用程式標籤標識源應用程式。如果沒有採集到標籤值,則標籤值為 |
source_version | 源工作負載的版本。如果沒有採集到標籤值,則標籤值為 |
source_cluster | 源工作負載的叢集。 |
destination_namespace | 目標工作負載的名稱空間。如果沒有採集到標籤值,則標籤值為 |
destination_workload | 目標工作負載的名稱。如果沒有採集到標籤值,則標籤值為 |
destination_workload_namespace | 目標工作負載的名稱空間。如果沒有採集到標籤值,則標籤值為 |
destination_principal | 通訊目的地的對等主體。只有建立了對等身分識別驗證時,才可以採集到該標籤的值。 |
destination_app | 根據目標工作負載的應用程式標籤標識目標應用程式。如果沒有採集到標籤值,則標籤值為 |
destination_version | 目標工作負載的版本。如果沒有採集到標籤值,則標籤值為 |
destination_service | 負責傳入請求的目標服務主機。 |
destination_service_name | 目標服務名稱。 |
destination_service_namespace | 目標服務的名稱空間。 |
destination_port | 目標連接埠。 |
destination_cluster | 目標工作負載的叢集。 |
request_protocol | 請求的協議。 |
request_operation | 請求的操作。 |
request_host | 請求的主機。 |
response_flags | 有關來自代理的響應或串連的其它詳細資料。 |
grpc_response_status | GRPC返回狀態。 |
connection_security_policy | 請求的服務身分識別驗證策略。 |
操作步驟
ASM執行個體版本為1.15.3.65以下
可選:開啟Prometheus監控。
說明如果您已開啟Prometheus監控,無需執行此步驟。
登入ASM控制台,在左側導覽列,選擇 。
在網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇 。
在基本資料頁面,單擊右上方的功能設定。
在功能設定更新面板,選中開啟採集 Prometheus 監控指標,按需選擇開啟方式,然後單擊確定。
自訂指標。
在網格管理頁面左側導覽列,選擇 ,然後單擊建立。
在建立頁面,進行相關配置,然後單擊建立。
配置項
說明
匹配標籤
配置名稱為標籤的名稱,值為應用的名稱。ASM將會根據配置的值匹配應用,自訂指標僅對該應用生效。
inboundSidecar
單擊inboundSidecar,然後單擊新增指標,配置入口流量的自訂標籤。
指標名稱:配置為空白,表示對所有指標生效。
指標維度:單擊新增指標維度,配置標籤和運算式。
刪除指標緯度的標籤:配置需要刪除指標維度標籤。
outboundSidecar
單擊outboundSidecar,然後單擊新增指標,配置出口流量的自訂標籤。
指標名稱:配置為空白,表示對所有指標生效。
指標維度:單擊新增指標維度,配置標籤和運算式。
刪除指標緯度的標籤:配置需要刪除指標維度標籤。
gateway
單擊gateway,然後單擊新增指標,配置網關的自訂標籤。
指標名稱:配置為空白,表示對所有指標生效。
指標維度:單擊新增指標維度,配置標籤和運算式。
刪除指標緯度的標籤:配置需要刪除指標維度標籤。
說明如果您只配置了inboundSidecar,沒有配置outboundSidecar和gateway,表示僅入口流量採用自訂標籤,出口流量和網關仍然使用預設的方式產生指標。
ASM執行個體版本為1.15.3.65及以上,1.17.2.35以下
ASM對原有的自訂Metrics頁面進行了升級,更名為監控指標,提供更便捷的UI介面,提高您的配置效率。使用此功能需要您的ASM執行個體版本為v1.15.3.65-g97cc18dd-aliyun及以上。關於升級執行個體的具體操作,請參見升級ASM執行個體。
登入ASM控制台,在左側導覽列,選擇 。
在網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇 。
在監控指標頁面,單擊指標設定頁簽,按需配置全域或自訂指標。
配置全域指標
ASM預設提供了一些全域指標,預設為開啟狀態。您可以按需選擇是否啟用相關指標,或對指標的維度進行修改。關於指標的說明,請參見指標說明。
操作
說明
開啟或關閉全域指標
開啟全域指標:單擊全域頁簽,在目標指標右側,選中CLIENT側指標或SERVER側指標列下的啟用,然後單擊儲存。
關閉全域指標:單擊全域頁簽,在目標指標右側,取消選中CLIENT側指標或SERVER側指標列下的啟用,然後單擊儲存。
修改指標維度
單擊全域頁簽,在目標指標右側,單擊CLIENT側指標或SERVER側指標列下的編輯維度。
在自訂CLIENT 維度配置對話方塊,按需選中目標維度,單擊確認,然後單擊儲存。
配置自訂指標
單擊自訂頁簽,單擊建立,進行相關配置,然後在頁面下方,單擊建立。關於指標的說明,請參見指標說明。
配置項
說明
命名空間
選擇自訂監控指標生效的命名空間。
名稱
輸入自訂標籤的名稱。
工作負載選擇
單擊新增匹配標籤,配置標籤的名稱和工作負載的名稱。ASM將會根據配置項匹配應用,自訂指標僅對該應用生效。
指標設定
ASM預設提供了一些全域指標,預設為開啟狀態。您可以選擇是否啟用相關指標,或對指標的維度進行修改。
開啟或關閉全域指標:
開啟全域指標:在目標指標右側,選中CLIENT側指標或SERVER側指標列下的啟用。
關閉全域指標:在目標指標右側,取消選中CLIENT側指標或SERVER側指標列下的啟用。
修改維度:
在目標指標右側,單擊CLIENT側指標或SERVER側指標列下的編輯維度。
在自訂CLIENT 維度配置對話方塊,按需選中目標維度,然後單擊確認。
通過選取器可以選擇一個命名空間內的單個工作負載的指標配置。該選取器支援基於標籤選擇工作負載。
同一命名空間下,以下配置無效:
使用選取器,為同一個工作負載建立多個自訂指標(Telemetry CR)。
建立多個自訂指標,但未指定選取器。
更多資訊,請參見Workload Selection。
ASM執行個體版本為1.17.2.35及以上
具體操作,請參見可觀測配置。
指標說明
ASM監控指標的說明如下。更多資訊,請參見MetricSelector.IstioMetric。
ASM網關僅支援匯出CLIENT側指標,Sidecar可以匯出CLIENT側和SERVER側指標。
指標 | 說明 | 在Prometheus下對應的指標 |
ALL_METRICS | 表示所有Istio預設指標。 | - |
REQUEST_COUNT | 為HTTP、HTTP/2和GRPC流量產生的應用程式請求計數器。 | istio_requests_total |
REQUEST_DURATION | 為HTTP、HTTP/2和GRPC流量產生的請求期間長條圖。 | istio_request_duration_milliseconds |
REQUEST_SIZE | 為HTTP、HTTP/2和GRPC流量產生的請求Body大小的長條圖。 | istio_request_bytes |
RESPONSE_SIZE | 為HTTP、HTTP/2和GRPC流量產生的響應Body大小的長條圖。 | istio_response_bytes |
TCP_OPENED_CONNECTIONS | 在工作負載的生命週期內開啟的TCP串連計數器。 | istio_tcp_connections_opened_total |
TCP_CLOSED_CONNECTIONS | 在工作負載的生命週期內關閉的TCP串連計數器。 | istio_tcp_connections_closed_total |
TCP_SENT_BYTES | 在通過TCP串連進行響應期間發送的位元組計數器。 | istio_tcp_sent_bytes_total |
TCP_RECEIVED_BYTES | 通過TCP串連請求期間接收的位元組數。 | istio_tcp_received_bytes_total |
GRPC_REQUEST_MESSAGES | 從用戶端發送的每條gRPC訊息,計數器都會遞增。 | istio_request_messages_total |
GRPC_RESPONSE_MESSAGES | 從伺服器發送的每條gRPC訊息,計數器都會遞增。 | istio_response_messages_total |