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

全托管服務(wù)監(jiān)控報(bào)警配置-ACK部署方案

更新時(shí)間:

本文講述計(jì)算巢全托管服務(wù)-ACK部署方案中業(yè)務(wù)監(jiān)控和報(bào)警的配置方案。

說(shuō)明

ACK部署方案中的托管版單租服務(wù)(每個(gè)用戶獨(dú)享集群)和托管版多租服務(wù)(多個(gè)用戶共享集群)接入Prometheus的解決方案一致,都是通過(guò)配置ACK集群中的Prometheus的租戶指標(biāo)轉(zhuǎn)發(fā)能力,實(shí)現(xiàn)用戶側(cè)和服務(wù)商側(cè)均能看到服務(wù)實(shí)例的監(jiān)控指標(biāo)。(技術(shù)支持釘釘群:31045016300)

工作原理

image

  • 計(jì)算巢采用了阿里云ARMS提供的Prometheus多租監(jiān)控的方案。

  • 阿里云Prometheus服務(wù)內(nèi)置了多租能力支持,在采集側(cè)agent端會(huì)根據(jù)workload資源(支持Pod/Namespace級(jí)別)上特定的租戶標(biāo)簽來(lái)區(qū)分租戶指標(biāo),不同租戶的指標(biāo)會(huì)分發(fā)到租戶對(duì)應(yīng)的云服務(wù)實(shí)例中。

  • 存儲(chǔ)側(cè)天然支持多租隔離特征。接入的服務(wù)商需要在相應(yīng)的租戶workload資源上打上規(guī)定的“租戶標(biāo)簽”即可。

  • 計(jì)算巢的全托管多租服務(wù)實(shí)例是以namespace來(lái)隔離各個(gè)租戶的資源的,當(dāng)對(duì)Namespace打上相應(yīng)的租戶標(biāo)簽,后端程序可實(shí)現(xiàn)租戶的指標(biāo)自動(dòng)轉(zhuǎn)發(fā)到租戶對(duì)應(yīng)的云服務(wù)實(shí)例中。

  • 另外通過(guò)設(shè)置服務(wù)商的RemoteWrite,可以把租戶的監(jiān)控?cái)?shù)據(jù)再投遞一份到服務(wù)商的賬號(hào)下,即可實(shí)現(xiàn)服務(wù)商查看所有租戶的監(jiān)控?cái)?shù)據(jù),租戶僅可查看自己的監(jiān)控?cái)?shù)據(jù)。

操作步驟

步驟一:配置ACK集群的Prometheus組件

Prometheus本身不支持指標(biāo)轉(zhuǎn)發(fā)功能,阿里云托管的Prometheus進(jìn)行額外的配置后,才能將與用戶應(yīng)用相關(guān)的監(jiān)控指標(biāo)轉(zhuǎn)發(fā)給具體的用戶。計(jì)算巢將此配置過(guò)程封裝成了ROS的一個(gè)模塊,您可直接在ROS模板中使用,

以下是該模塊的使用示例及說(shuō)明。

ClusterArmsConfig:
  Type: 'MODULE::ACS::ComputeNest::AckArmsConfig'
  Version: v1
  Properties:
    ClusterId:
      Fn::If:
        - Condition: CreateACKCondition
        - Ref: ManagedKubernetesCluster
        - Ref: ClusterId
    WhetherSupplierNeedMetric: true
    AccessKeyID: LTAIxxx
    AccessKeySecret: 7Cxxx
    SupplierAliuid: 15634578xxxxxx
  • WhetherSupplierNeedMetric:表示服務(wù)商是否需要收到租戶的數(shù)據(jù),如果服務(wù)商也需要收到租戶的指標(biāo),則需要設(shè)置為true。如果WhetherSupplierNeedMetrictrue,則需要配置AccessKeyID、AccessKeySecretSupplierAliuid這三個(gè)屬性,SupplierAliuid為服務(wù)商的阿里uid,AccessKeyID和AccessKeySecret都為服務(wù)商的AK。

    重要

    可以設(shè)置此AK的權(quán)限如下,滿足監(jiān)控需求的同時(shí)也滿足最小權(quán)限授予原則,避免安全問(wèn)題

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "arms:GetPrometheusApiToken"
          ],
          "Resource": "*"
        }
      ]
    }

因?yàn)槊總€(gè)ACK集群的Prometheus組件需要配置一次,所以

  • 托管版多租場(chǎng)景中,可以通過(guò)創(chuàng)建ACK全托管多租場(chǎng)景-容器基礎(chǔ)資源部署這個(gè)服務(wù)的服務(wù)實(shí)例來(lái)完成ACK集群的Prometheus配置。

  • 托管版單租場(chǎng)景中,需要在ROS模板中引用上述模塊,確保每個(gè)新建的ACK集群都配置好Prometheus組件。

    說(shuō)明

    這個(gè)步驟的前提是ACK集群中已經(jīng)安裝好Prometheus組件,如果是通過(guò)ROS模板新建的ACK集群,需要在模板中添加Addons, 如下圖所示:image

步驟二:配置ROS模板

  • 需要?jiǎng)?chuàng)建一個(gè)以服務(wù)實(shí)例ID為名稱的命名空間,并給該命名空間打上租戶標(biāo)簽。

    說(shuō)明

    其中tenant_userid、tenant_clusteridtenant_tokentenant_cloudproductcode為租戶標(biāo)簽的key,模板中只需填寫(xiě)固定的占位符即可。該命名空間的名稱設(shè)置為{{ serviceInstanceId }}這個(gè)占位符,表示以創(chuàng)建出來(lái)的服務(wù)實(shí)例的serviceInstanceId命名。

    ClusterNameSpaceApplication:
        Type: ALIYUN::CS::ClusterApplication
        Properties:
          YamlContent:
            Fn::Sub:
              - |
                apiVersion: v1
                kind: Namespace
                metadata:
                  name: '${Name}'
                  labels:
                    tenant_userid: '{{ aliUid }}'
                    tenant_clusterid: '{{ tenantClusterId }}'
                    tenant_token: '{{ tenantToken }}'
                    tenant_cloudproductcode: '{{ tenantCloudProductCode }}'
              - Name: '{{ serviceInstanceId }}'
          ClusterId:
            Fn::If:
              - Condition: CreateACKCondition
              - Ref: ManagedKubernetesCluster
              - Ref: ClusterId
    重要

    服務(wù)商的應(yīng)用要部署在上述創(chuàng)建的命名空間下,才能實(shí)現(xiàn)應(yīng)用的監(jiān)控指標(biāo)分發(fā)到租戶。

  • 如果是托管單租場(chǎng)景,ROS模板中要引用上述AckArmsConfig模塊,為每個(gè)新創(chuàng)建的ACK集群配置Prometheus。

  • 如果是自定義監(jiān)控指標(biāo),可以通過(guò)HTTP端口透出或者Exporter暴露,但暴露指標(biāo)的Service也必須以{{ serviceInstanceId }}命名, 且定義一個(gè)ServiceMonitor用于服務(wù)發(fā)現(xiàn),以下是通過(guò)mysqld-exporter采集MySQL監(jiān)控指標(biāo)時(shí)對(duì)應(yīng)的Service和ServiceMonitor的示例。

apiVersion: v1
kind: Service
metadata:
  name: {{ serviceInstanceId }}
  labels:
    io.mysql.service: {{ serviceInstanceId }}
spec:
  selector:
    app: mysql
  ports:
    - protocol: TCP
      port: 3306
      targetPort: 3306
      name: mysql
    - protocol: TCP
      port: 9104
      targetPort: 9104
      name: mysql-exporter
  type: LoadBalancer
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: prometheus-service-monitor
  annotations:
    arms.prometheus.io/discovery: 'true'
  labels:
    prometheus-service-monitor: prometheus-service-monitor
spec:
  selector:
    matchLabels:
      io.mysql.service: {{ serviceInstanceId }}
  namespaceSelector:
    matchNames:
      - {{ serviceInstanceId }}
  endpoints:
    - port: mysql-exporter
      scheme: http
      path: /metrics
      interval: 10s
      scrapeTimeout: 10s

步驟三:配置Grafana大盤

目前一個(gè)服務(wù)實(shí)例只支持展示一個(gè)大盤,如果服務(wù)商有多個(gè)大盤,需要將多個(gè)大盤組合成一個(gè)大盤,大盤需要滿足一個(gè)規(guī)則:

設(shè)置大盤的一個(gè)固定變量為Namespace,且大盤通過(guò)Namespace這個(gè)全局變量篩選各個(gè)應(yīng)用的監(jiān)控指標(biāo)。在阿里云托管版的Grafana上創(chuàng)建此大盤,得到此大盤的鏈接。

步驟四:配置產(chǎn)品標(biāo)識(shí)和對(duì)應(yīng)的大盤鏈接

托管版多租服務(wù)使用計(jì)算巢提供的Prometheus能力,需要設(shè)置服務(wù)標(biāo)識(shí)和監(jiān)控大盤信息:

  1. 服務(wù)標(biāo)識(shí):表示服務(wù)在監(jiān)控系統(tǒng)中的唯一標(biāo)識(shí),目前cn-mariadb這個(gè)產(chǎn)品標(biāo)識(shí)用于測(cè)試,所有服務(wù)共享使用該產(chǎn)品標(biāo)識(shí)。目前cn-mariadb已開(kāi)通杭州和中國(guó)香港兩個(gè)地域,并支持在這兩個(gè)地域下測(cè)試。

    說(shuō)明

    服務(wù)上線需要使用專用服務(wù)標(biāo)識(shí)的,請(qǐng)加入文章開(kāi)頭的技術(shù)支持群獲取技術(shù)支持。

  2. 監(jiān)控大盤設(shè)置包括監(jiān)控大盤標(biāo)題和Grafana大盤鏈接,監(jiān)控大盤信息與服務(wù)標(biāo)識(shí)是對(duì)應(yīng)關(guān)系,大盤鏈接為上述創(chuàng)建大盤的鏈接,大盤標(biāo)題為上述配置的大盤的標(biāo)題。

    說(shuō)明

    這里的配置目前需要一定的手工配置,請(qǐng)加入技術(shù)支持群獲取支持。

以下是示例服務(wù)中使用cn-mariadb產(chǎn)品標(biāo)識(shí)的配置信息。image

步驟五:配置告警

服務(wù)商側(cè)接入告警

  • 服務(wù)商需要提前創(chuàng)建好告警規(guī)則模板,拿到報(bào)警規(guī)則模板TemplateId。

說(shuō)明

TemplateId只能從控制臺(tái)的網(wǎng)絡(luò)請(qǐng)求中獲取image

  • ROS模板中編排告警模板,通過(guò)ALIYUN::ARMS::ApplyAlertRuleTemplate資源將此告警模板應(yīng)用到ACK集群中,即可實(shí)現(xiàn)在ACK集群中創(chuàng)建對(duì)應(yīng)的告警規(guī)則。 模板示例。

步驟五:查看監(jiān)控

服務(wù)實(shí)例部署完成后,用戶側(cè)和服務(wù)商側(cè)均能在服務(wù)實(shí)例詳情頁(yè)查看監(jiān)控大盤

  • 用戶側(cè):image

  • 服務(wù)商側(cè):image