成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Prometheus 的新戰(zhàn)場:精準監(jiān)控阿里云 AKS Serverless 集群

安全 應用安全
Prometheus-Operator 是 Kubernetes 生態(tài)中廣泛應用的監(jiān)控組件,能夠簡化 Prometheus 的部署和管理。然而,隨著云原生技術的發(fā)展,監(jiān)控阿里云 AKS Serverless 集群成為了一個新的挑戰(zhàn)。

引言

我們緊接著上篇的 PromQL,接著往上蓋大樓。這篇我們的主角是 Prometheus-Operator 的 Prometheus,它的重要性就不言而喻了。

Prometheus-Operator 是 Kubernetes 生態(tài)中廣泛應用的監(jiān)控組件,能夠簡化 Prometheus 的部署和管理。然而,隨著云原生技術的發(fā)展,監(jiān)控阿里云 AKS Serverless 集群成為了一個新的挑戰(zhàn)。這些服務本質上是無服務器的,無法通過傳統(tǒng)的節(jié)點指標采集方式進行監(jiān)控。因此,我們需要對 Prometheus 自身進行調整,以更好地適配阿里云 AKS Serverless 場景。

本文將探討如何通過重塑 Prometheus ,使其高效監(jiān)控阿里云 AKS Serverless 環(huán)境。

開始

基本設計

prometheus-operator 的控制鏈路其實非常簡單,我們只需要知道以下基本原理就行:

? PodMonitor 和 ServiceMonitor 最終是用于生成 Prometheus 配置文件中的 srape_config;

? Prometheus 可以使用一個 HTTP Post 請求 /-/reload 來在運行時重新加載配置文件使新的 scrape_config 生效;

以上文為例,prometheus-operator 的控制鏈路是:

Prometheus

prometheus-operator 監(jiān)聽 Promtheus 資源,當有 Add Event 發(fā)生時,prometheus-operator 將以 StatefulSet 的形式部署 Prometheus 實例。每一個 Prometheus Pod 里有兩個容器:

? prometheus 容器:主容器,使用 /etc/prometheus/config_out/prometheus.env.yaml 作為主要的配置文件:

...
    - --config.file=/etc/prometheus/config_out/prometheus.env.yaml 
...

? prometheus-config-reloader 容器:輔助容器,用于監(jiān)聽上游配置文件的變化并調用主容器的 reload 接口重新加載配置;

當我們觀察這個 Pod 的 volumes 時候,有兩個 volume 可以重點關注:

...
volumes:
  - name: config
    secret:
      defaultMode: 420
      secretName: prom-agent-prometheus-agent
  - name: config-out
    emptyDir:
      medium: Memory
...

? config-out:EmptyDir 類型的卷,主要是用于 prometheus 容器與 prometheus-config-reloader 容器的數據共享,同時掛載于兩個容器的 /etc/prometheus/config_out/ 中;

? config:底層是一個 Secret,這個 config 將被掛載為 prometheus-config-reloader 容器中的 /etc/prometheus/config/prometheus.yaml.gz 。 prometheus-config-reloader 會監(jiān)聽這個文件的變化,一旦有變化,將基于新的文件內容生成新的配置文件 /etc/prometheus/config_out/prometheus.env.yaml。 prometheus-config-reloader 將調用主容器的 reload API 來重新加載配置文件;

PodMonitor / ServiceMonitor

? prometheus-operator 監(jiān)聽 PodMonitor 和 ServiceMonitor 的變化。一旦對應資源發(fā)生了變化,prometheus-operator 將基于新的資源生成新的配置文件并將其更新到對應的 Secrets 中。由于對應 Secrets 以文件形式掛載于 prometheus-config-reloader 容器中并被監(jiān)聽文件變化,所以當底層 Secrets 發(fā)生了變化,kubelet 將分鐘級傳播變化到對應容器內部,從而觸發(fā) prometheus-config-reloader 容器內的監(jiān)聽邏輯。

? Secrets 內部是一個 Base64 之后的 gz 格式的 prometheus.yaml,比如我們可以用下面這種方式解碼出 prometheus.yaml:

kubectl get secrets prometheus-k8s -o jsonpath="{.data.prometheus\.yaml\.gz}" | base64 -d > prometheus.yaml.gz 

gzip -d prometheus.yaml.gz

我們這些了解完成之后,對于我們后面的改進可謂是……語文不好,有點丟人,想不出來成語了。

Prometheus CRD YAML 優(yōu)化

我們先從 Prometheus 的持久化數據說起:

storage:
    volumeClaimTemplate:
      spec:
        storageClassName: alicloud-nas-subpath
        accessModes:
          - ReadWriteOnce
        resources:
          requests:
            storage: 15Gi

本地存儲優(yōu)化;

啟用 WAL 壓縮;

wal_compression: true

減少數據保留時間;

retention: 7d

還有我們資源的優(yōu)化,如果你的集群應用很多,資源太少,就會導致 pod 異常,這邊你自己調整:

resources:
    limits:
      cpu: "3"
      memory: 3Gi
    requests:
      cpu: 1000m
      memory: 1024Mi

完整文件;

apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  labels:
    app.kubernetes.io/component: prometheus
    app.kubernetes.io/instance: k8s
    app.kubernetes.io/name: prometheus
    app.kubernetes.io/part-of: kube-prometheus
    app.kubernetes.io/version: 3.0.1
  name: k8s
  namespace: monitoring
spec:
  alerting:
    alertmanagers:
    - apiVersion: v2
      name: alertmanager-main
      namespace: monitoring
      port: web
  enableFeatures: []
  storage:
    volumeClaimTemplate:
      spec:
        storageClassName: alicloud-nas-subpath
        accessModes:
          - ReadWriteOnce
        resources:
          requests:
            storage: 15Gi
  externalLabels: {}
  image: quay.io/prometheus/prometheus:v3.0.1
  nodeSelector:
    kubernetes.io/os: linux
  podMetadata:
    labels:
      app.kubernetes.io/component: prometheus
      app.kubernetes.io/instance: k8s
      app.kubernetes.io/name: prometheus
      app.kubernetes.io/part-of: kube-prometheus
      app.kubernetes.io/version: 3.0.1
  podMonitorNamespaceSelector: {}
  #  matchExpressions:
  #    - key: kubernetes.io/metadata.name
  #      operator: In
  #      values:
  #        - monitoring
  #        - lobby
  podMonitorSelector: {}
  probeNamespaceSelector: {}
  probeSelector: {}
  replicas: 2
  resources:
    limits:
      cpu: "5"
      memory: 5Gi
    requests:
      cpu: 2000m
      memory: 2048Mi
  ruleNamespaceSelector: {}
  ruleSelector: {}
  scrapeConfigNamespaceSelector: {}
  scrapeConfigSelector: {}
  securityContext:
    fsGroup: 2000
    runAsNonRoot: true
    runAsUser: 1000
  serviceAccountName: prometheus-k8s
  serviceMonitorSelector: {}
  serviceMonitorNamespaceSelector: {}
  #  matchExpressions:
  #    - key: kubernetes.io/metadata.name
  #      operator: In
  #      values:
  #        - monitoring
  #        - lobby
  version: 3.0.1
  retention: 15d
  wal_compression: true

擴展

因為 Prometheus 這邊優(yōu)化的還挺多的,所以我們這一篇就先講到這里,后面我們會更多的剖析相關內容。

? Prometheus Agent

? PrometheusRule

結語

我們 Prometheus 基礎的優(yōu)化和改進就結束了,相比較前幾篇,這篇的東西不是很多。其實還有很多的東西都需要講,我會把它們給分開。

責任編輯:武曉燕 來源: 云原生運維圈
相關推薦

2020-12-09 09:13:08

云計算IT技術

2020-12-29 08:48:35

邊緣計算云計算分布式云

2015-03-23 16:42:06

2023-10-09 07:31:25

2017-04-21 15:15:54

對象存儲云價格

2022-11-03 11:18:52

阿里云Serverless

2023-09-15 16:47:55

2021-07-01 11:29:45

KubernetesGrafana監(jiān)控

2020-03-09 09:15:56

集群Prometheus開源

2020-05-18 12:04:17

PrometheusMySQL監(jiān)控

2020-11-24 12:07:57

阿里云serverless容器

2010-08-23 10:41:51

Google蘋果Android

2024-04-08 08:00:00

云監(jiān)控監(jiān)控數據Prometheus

2017-11-03 13:47:12

邊緣計算歐洲

2025-01-06 00:38:12

2025-03-07 08:20:00

數據泄露網絡安全身份管理

2011-12-16 16:19:58

移動Web

2020-07-27 08:23:15

HadoopPrometheusZabbix

2021-12-08 16:40:17

元宇宙
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文视频在线 | 在线激情视频 | xx视频在线观看 | 成人午夜精品一区二区三区 | 亚洲精品一区二区三区在线观看 | 9久久精品 | 日本一区二区三区在线观看 | 极品国产视频 | 综合色播 | 精品国产一区二区三区性色av | 日本精品久久久一区二区三区 | aaaa一级毛片 | 国产精品亚洲第一 | 欧美福利影院 | 99re在线视频 | 欧美一区不卡 | 一区二区三区日本 | 成人午夜激情 | 一区二区三区av | 色综合久久久久 | 成人午夜免费福利视频 | 亚洲五码在线 | 精品亚洲一区二区三区四区五区 | 国产成人精品一区二区三 | 欧美一区二区三区 | 日韩中文在线视频 | 欧美精品乱码久久久久久按摩 | 国产 欧美 日韩 一区 | 欧美日韩福利视频 | 成人av资源在线 | 久久草在线视频 | 作爱视频免费观看 | 男人天堂999| 岛国毛片在线观看 | 日本高清视频在线播放 | 日韩电影免费在线观看中文字幕 | 久久久久久黄 | 欧美视频一区二区三区 | 九九免费在线视频 | 久久在线精品 | 午夜视频导航 |