日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

配置ASM監控指標定期清理

服務網格 ASM(Service Mesh)會為所有流入、流出及網格內部的服務流量生成指標,以便監控服務行為。這些指標包括總流量數、錯誤率和請求響應時間等信息。然而,長時間運行會生成大量的指標數據,顯著增加了Envoy和Prometheus的資源消耗。為此,ASM提供了定期清理監控指標的配置,支持定期清理Envoy中緩存的一段時間內未使用的指標,以減少Envoy內存消耗,并降低Prometheus拉取指標時的網絡負載。本文將介紹如何配置定期清理功能及其應用實例。

前提條件

配置方式

  1. 登錄ASM控制臺,在左側導航欄,選擇服務網格 > 網格管理

  2. 網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇可觀測管理中心 > 可觀測配置

  3. 可觀測配置頁面,單擊全局頁簽,在監控指標設置處輸入定期清理時間,然后單擊提交

    image

    重要

    建議監控指標定期清理時間至少設為Prometheus指標抓取時間scrape_interval的兩倍,以確保在指標清理之前Prometheus能夠成功地抓取指標。

示例演示

部署示例應用

  1. 使用以下內容在數據面集群部署示例應用。具體操作,請參見通過編排模板創建Linux應用使用YAML模板創建

    展開查看YAML信息

    apiVersion: v1
    kind: Service
    metadata:
      name: httpbin
      labels:
        app: httpbin
        service: httpbin
    spec:
      ports:
      - name: http
        port: 8000
        targetPort: 80
      selector:
        app: httpbin
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: httpbin
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: httpbin
          version: v1
      template:
        metadata:
          labels:
            app: httpbin
            version: v1
        spec:
          containers:
          - image: registry-cn-hangzhou.ack.aliyuncs.com/ack-demo/httpbin:0.1.0
            imagePullPolicy: IfNotPresent
            name: httpbin
            ports:
            - containerPort: 80
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: sleep
      labels:
        app: sleep
        service: sleep
    spec:
      ports:
      - port: 80
        name: http
      selector:
        app: sleep
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: sleep
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: sleep
      template:
        metadata:
          labels:
            app: sleep
        spec:
          terminationGracePeriodSeconds: 0
          containers:
          - name: sleep
            image: registry.cn-hangzhou.aliyuncs.com/acs/curl:8.1.2
            command: ["/bin/sleep", "infinity"]
            imagePullPolicy: IfNotPresent
  2. 執行以下命令,查看應用狀態,

    kubectl get pod

    預期輸出:

    NAME                       READY   STATUS    RESTARTS   AGE
    httpbin-846bxxx694-xxxxx   2/2     Running   0          44s
    sleep-866xxx97f9-xxxxx     2/2     Running   0          44s

啟用指標并測試

  1. 登錄ASM控制臺,在左側導航欄,選擇服務網格 > 網格管理

  2. 網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇可觀測管理中心 > 可觀測配置

  3. 可觀測配置頁面,單擊全局頁簽,在監控指標設置列表中,勾選SERVER側指標REQUEST_COUNT指標的啟用。然后單擊提交

    image

  4. 執行以下命令,訪問httpbin應用。

     kubectl exec -it deploy/sleep -- sh -c 'for i in $(seq 1 10); do curl -s httpbin:8000/status/418 > /dev/null; done'
  5. 執行以下命令,查看httpbin應用的監控指標。

    kubectl exec -it deploy/httpbin -c istio-proxy -- curl 0.0.0.0:15020/stats/prometheus | grep istio_requests_total{

    預期輸出:

    istio_requests_total{reporter="destination",source_workload="sleep",source_canonical_service="sleep",...,request_protocol="http",response_code="418",grpc_response_status="",response_flags="-",connection_security_policy="mutual_tls"} 20

配置監控指標定期清理

  1. 根據配置方式中的步驟,配置監控指標定期清理時間為10s。

    指標清理會有幾秒的延遲,驗證過程中,您可以視情況適當調整清理時間。
  2. 配置完成后,執行以下命令,查看httpbin應用的監控指標。

    kubectl exec -it deploy/httpbin -c istio-proxy -- sh -c ' for i in $(seq 1 2); do echo "# Current content of the istio_requests_total metric: "; curl -s 0.0.0.0:15020/stats/prometheus | grep istio_requests_total{; sleep 15; done'

    預期輸出:

    # Current content of the istio_requests_total metric: 
    istio_requests_total{reporter="destination",source_workload="sleep",source_canonical_service="sleep",...connection_security_policy="mutual_tls"} 30
    # Current content of the istio_requests_total metric: 
    以上測試命令共發送2次請求。在清理之前,每次請求都會返回一行指標內容輸出和一行自定義輸出;15s后指標數據已經被清理,每次請求的返回變為只有一行自定義輸出。