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

合并Istio與應用的監控指標

已有Prometheus監控端點的應用服務,通過啟用合并Istio與應用的監控指標功能,可以借助網格代理輸出原有業務指標。本文介紹如何合并Istio與應用的監控指標。

前提條件

已創建ASM實例,且版本為1.17.2.30及以上。具體操作,請參見創建ASM實例升級ASM實例

重要

本功能不適合應用程序指標數據較為敏感的場景。應用程序指標數據將與Istio指標混合采集,只要具備Istio指標查看權限的人員就可以同時查看應用程序指標數據。

功能介紹

啟用合并Istio與應用的監控指標功能后,服務網格會將應用程序指標合并到Istio指標中,相對應的prometheus.io注解會被加入到所有數據面Pod上,以啟用Prometheus的指標抓取能力。如果這些注解已經存在,就會被覆蓋。網格代理將應用指標和Istio指標進行合并,Prometheus可以從:15020/stats/prometheus端點拉取合并后的指標。

啟用該功能后,服務網格將對Pod進行以下操作:

  • 網格化之前使用prometheus.io注解標注的抓取方法,會被保存到網格代理的環境變量之中。

  • 將被網格劫持的應用服務輸出的Prometheus指標和網格代理自身指標進行合并,輸出到:15020/stats/prometheus端點,供Prometheus拉取。

步驟一:部署示例應用

部署一個包含prometheus.io注解的示例應用。具體操作,請參見在ASM實例關聯的集群中部署應用

productpage應用對應的部署文件示例如下。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: productpage-v1
  labels:
    app: productpage
    version: v1
spec:
  replicas: 1
  selector:
    matchLabels:
      app: productpage
      version: v1
  template:
    metadata:
      annotations:
        prometheus.io/scrape: "true"
        prometheus.io/port: "9080"
        prometheus.io/path: "/metrics"
      labels:
        app: productpage
        version: v1
    spec:
      ......

部署后,對應生成的Pod內容如下。

apiVersion: v1
kind: Pod
metadata:
  annotations:
    k8s.aliyun.com/pod-ips: 172.17.0.132
    kubectl.kubernetes.io/default-container: productpage
    kubectl.kubernetes.io/default-logs-container: productpage
    kubernetes.io/psp: ack.privileged
    prometheus.io/path: /metrics
    prometheus.io/port: '9080'
    prometheus.io/scrape: 'true'

由上述YAML可以看到,prometheus.io注解如下。

prometheus.io/path: /metrics
prometheus.io/port: '9080'
prometheus.io/scrape: 'true'

步驟二:啟用合并Istio與應用的監控指標功能

ASM在網格級別默認禁用此功能,您可以全局設置該配置項,或者通過在Pod上添加注釋prometheus.istio.io/merge-metrics: "true"來針對每個工作負載啟用此功能。本文以全局為例進行說明。

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

  2. 網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇網格實例 > 基本信息

  3. 配置信息區域的合并Istio與應用的監控指標右側,單擊啟用,然后在啟用合并Istio與應用的監控指標對話框,單擊確定

說明

若您不再需要此功能,可以按需選擇以下操作進行關閉。

  • 全局:在配置信息區域的合并Istio與應用的監控指標右側,單擊禁用,然后在禁用合并Istio與應用的監控指標對話框,單擊確定

  • 工作負載:在Pod上添加注釋prometheus.istio.io/merge-metrics: "false"來針對每個工作負載禁用此功能。

步驟三:查看啟用效果

啟用合并Istio與應用的監控指標功能之后,重新滾動拉起新Pod之后,查看Pod的內容。

Pod YAML示例如下。

apiVersion: v1
kind: Pod
metadata:
  annotations:
    k8s.aliyun.com/pod-ips: 172.17.0.126
    kubectl.kubernetes.io/default-container: productpage
    kubectl.kubernetes.io/default-logs-container: productpage
    kubernetes.io/psp: ack.privileged
    prometheus.io/path: /stats/prometheus
    prometheus.io/port: '15020'
    prometheus.io/scrape: 'true'
    ......
spec:
  containers:
    - args:
        - proxy
        - sidecar
        ......
      env:
        ......
        - name: ISTIO_PROMETHEUS_ANNOTATIONS
          value: '{"scrape":"true","path":"/metrics","port":"9080"}'
                

由上述YAML可以看到,prometheus.io注解已更新為如下內容。同時,新增了一個名稱為ISTIO_PROMETHEUS_ANNOTATIONS的環境變量,其值為原有的prometheus.io注解內容。

prometheus.io/path: /stats/prometheus
prometheus.io/port: '15020'
prometheus.io/scrape: 'true'