国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Prometheus基于k8s的自動發(fā)現(xiàn)配置監(jiān)控

這篇具有很好參考價值的文章主要介紹了Prometheus基于k8s的自動發(fā)現(xiàn)配置監(jiān)控。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

k8s配置Prometheus監(jiān)控時,可以通過servicemonitor的方式增加job,以此來增加監(jiān)控項,但這種方式進行監(jiān)控配置,只能手工一個一個的增加,如果k8s集群規(guī)模較大的情況下,這種方式會很麻煩。

一種方式是采用consul注冊中心的方式進行自動發(fā)現(xiàn)。

另外一種方式是基于kubernetes_sd_configs的自動發(fā)現(xiàn)的方式配置增加監(jiān)控項,本文主要講解此種配置方式。

基于consul的自動發(fā)現(xiàn)

在安裝consul后,可以通過指定consul讀取特定配置文件的方式發(fā)現(xiàn)并加載監(jiān)控項

Prometheus基于k8s的自動發(fā)現(xiàn)配置監(jiān)控

?但這種方式和Prometheus基于文件的動態(tài)發(fā)現(xiàn)沒有本質區(qū)別,甚至還增加了系統(tǒng)的復雜度,并不可取。

可以通過調(diào)用consul的API的方式,讓程序自動向consul進行注冊,在Prometheus中配置consul的相關項,讓其自動增加監(jiān)控Target

#Prometheus主配置文件增加如下內(nèi)容
#以便可以從consul中自動獲取監(jiān)控信息
   - job_name: 'consul-prometheus'
     consul_sd_configs:
       - server: '10.0.12.8:8500'
         services: []

# 注冊服務
curl -X PUT -d '{"id": "consul-redis","name": "redis","address": "10.0.12.8","port": 6379,"tags": ["service"],"checks": [{"http": "http://10.0.12.8:6379/","interval": "5s"}]}' http://10.0.12.8:8500/v1/agent/service/register
 
# 查詢指定節(jié)點以及指定的服務信息
[root@iZ2zejaz33icbod2k4cvy6Z ~]# curl http://10.0.12.8:8500/v1/catalog/service/consul-redis
 
#刪除指定服務 redis為要刪除服務的id
curl -X PUT  http://10.0.12.8:8500/v1/agent/service/deregister/consul-redis

基于kubernetes_sd_configs的自動發(fā)現(xiàn)

準備Prometheus的自動發(fā)現(xiàn)的配置文件并加載

[root@VM-12-8-centos kube-prom]# cat prometheus-additional.yaml 
- job_name: 'blackbox'
  metrics_path: /probe
  params:
    module: [http_2xx]
  static_configs:
    - targets:
      - http://10.1.226.250:6000
      - http://10.1.38.97:3000/healthz/ready
      - http://10.1.116.84:5000
      - http://10.1.215.125:7000/healthz/ready
      - http://10.1.111.235:8000/healthz/ready
  relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: blackbox-exporter:9115
- job_name: 'kubernetes-service-endpoints'
  kubernetes_sd_configs:
  - role: endpoints
  relabel_configs:
  - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
    action: keep
    regex: true
  - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
    action: replace
    target_label: __scheme__
    regex: (https?)
  - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
    action: replace
    target_label: __metrics_path__
    regex: (.+)
  - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
    action: replace
    target_label: __address__
    regex: ([^:]+)(?::\d+)?;(\d+)
    replacement: $1:$2
  - action: labelmap
    regex: __meta_kubernetes_service_label_(.+)
  - source_labels: [__meta_kubernetes_namespace]
    action: replace
    target_label: namespace
  - source_labels: [__meta_kubernetes_service_name]
    action: replace
    target_label: service
  - source_labels: [__meta_kubernetes_pod_name]
    target_label: pod
    action: replace
- job_name: 'kubernetes-pods'
  kubernetes_sd_configs:
  - role: pod
  relabel_configs:
  - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
    action: keep
    regex: true
  - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
    action: replace
    target_label: __metrics_path__
    regex: (.+)
  - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
    action: replace
    regex: ([^:]+)(?::\d+)?;(\d+)
    replacement: $1:$2
    target_label: __address__
  - action: labelmap
    regex: __meta_kubernetes_pod_label_(.+)
  - source_labels: [__meta_kubernetes_namespace]
    action: replace
    target_label: namespace
  - source_labels: [__meta_kubernetes_pod_name]
    action: replace
    target_label: pod

運行生成secret文件

[root@VM-12-8-centos kube-prom]# kubectl create secret generic additional-scrape-configs --from-file=prometheus-additional.yaml --dry-run -oyaml > additional-scrape-configs.yaml

應用,配置進入Prometheus中

[root@VM-12-8-centos kube-prom]# kubectl apply -f additional-scrape-configs.yaml -n monitoring 
secret/additional-scrape-configs configured

運行curl -XPOST http://10.0.12.8:30090/-/reload熱加載一下,就可以在dashboard中看到增加的配置了

Prometheus基于k8s的自動發(fā)現(xiàn)配置監(jiān)控

修改prometheus-k8s 的 ClusterRole權限?

?Prometheus 綁定了一個名為 prometheus-k8s 的 ServiceAccount 對象,而這個對象綁定的是一個名為 prometheus-k8s 的 ClusterRole,這個角色沒有對 Service 或者 Pod 的 list 權限,所以需要進行修改

[root@VM-12-8-centos manifests]# kubectl edit clusterrole prometheus-k8s -n monitoring -o yaml  
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  creationTimestamp: "2022-11-13T14:21:08Z"
  name: prometheus-k8s
  resourceVersion: "16164985"
  selfLink: /apis/rbac.authorization.k8s.io/v1/clusterroles/prometheus-k8s
  uid: 7a404fac-9462-486a-a109-65a1ef98e423
rules:
- apiGroups:
  - ""
  resources:
  - nodes
  - services
  - endpoints
  - pods
  - nodes/proxy
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - ""
  resources:
  - configmaps
  - nodes/metrics
  verbs:
  - get
- nonResourceURLs:
  - /metrics
  verbs:
  - get

Prometheus基于k8s的自動發(fā)現(xiàn)配置監(jiān)控

?pod配置自動發(fā)現(xiàn)

pod要自動發(fā)現(xiàn),必須在annotations:增加prometheus.io/scrape: "true"

新建一個pod

[root@VM-12-8-centos k8s]# cat PODforheadlesssvr.yml
apiVersion: v1
kind: Pod
metadata:
  name: ex-podforheadlesssvr
  annotations:
    prometheus.io/scrape: "true"
spec:
  containers:
  - name: testcontainer
    image: docker.io/appropriate/curl
    imagePullPolicy: IfNotPresent
    command: ['sh', '-c']
    args: ['echo "test pod for headless service";sleep 96000']
[root@VM-12-8-centos k8s]# kubectl apply -f ex6_1_4PODforheadlesssvr.yml
pod/ex-podforheadlesssvr created
[root@VM-12-8-centos k8s]# kubectl get po
NAME                                     READY   STATUS      RESTARTS   AGE
ex-podforheadlesssvr                     1/1     Running     0          3s

過一會檢查dashboard,已經(jīng)在界面上了

Prometheus基于k8s的自動發(fā)現(xiàn)配置監(jiān)控

?狀態(tài)為down,因為這個pod對應的鏡像并沒有相關的metrics接口,我們主要是用來進行自動發(fā)現(xiàn)測試的

在服務發(fā)現(xiàn)界面

Prometheus基于k8s的自動發(fā)現(xiàn)配置監(jiān)控

在target labels部分

Prometheus基于k8s的自動發(fā)現(xiàn)配置監(jiān)控

如上操作,就可以基于k8s自動發(fā)現(xiàn)?在Prometheus中增加監(jiān)控項了

?文章來源地址http://www.zghlxwxcb.cn/news/detail-454705.html

到了這里,關于Prometheus基于k8s的自動發(fā)現(xiàn)配置監(jiān)控的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【Minikube & Prometheus】基于Prometheus & Grafana監(jiān)控由Minikube創(chuàng)建的K8S集群

    【Minikube & Prometheus】基于Prometheus & Grafana監(jiān)控由Minikube創(chuàng)建的K8S集群

    通過運行以下命令來檢查狀態(tài) 由于使用的是 Minikube,第二個命令 prometheus-server 使用 NodePort . 這樣,當 Pod 準備就緒時,就可以輕松訪問 Prometheus Web 界面: http://192.168.20.20:30944/targets 由于使用的是 Minikube,為了輕松訪問 Grafana 的 Web 界面,將該服務公開為 NodePort 。 注意: Gr

    2024年02月03日
    瀏覽(1019)
  • Prometheus+Grafana(外)監(jiān)控Kubernetes(K8s)集群(基于containerd)

    Prometheus+Grafana(外)監(jiān)控Kubernetes(K8s)集群(基于containerd)

    1、k8s環(huán)境 版本 v1.26.5 二進制安裝Kubernetes(K8s)集群(基于containerd)—從零安裝教程(帶證書) 主機名 IP 系統(tǒng)版本 安裝服務 master01 10.10.10.21 rhel7.5 nginx、etcd、api-server、scheduler、controller-manager、kubelet、proxy master02 10.10.10.22 rhel7.5 nginx、etcd、api-server、scheduler、controller-manager、kubel

    2024年02月16日
    瀏覽(101)
  • K8s(健康檢查+滾動更新+優(yōu)雅停機+彈性伸縮+Prometheus監(jiān)控+配置分離)

    前言 快速配置請直接跳轉至匯總配置 K8s + SpringBoot實現(xiàn)零宕機發(fā)布:健康檢查+滾動更新+優(yōu)雅停機+彈性伸縮+Prometheus監(jiān)控+配置分離(鏡像復用) 配置 健康檢查 業(yè)務層面 定義訪問端口、路徑及權限 application.yaml 將暴露/actuator/health/readiness和/actuator/health/liveness兩個接口,訪問方

    2024年02月14日
    瀏覽(24)
  • 基于k8s容器化部署Prometheus和Grafana可視化監(jiān)控數(shù)據(jù)

    基于k8s容器化部署Prometheus和Grafana可視化監(jiān)控數(shù)據(jù)

    提示:需要提前部署k8s集群(master、node01、node02 .. ) 目錄 1.部署kube-state-metrics 2.部署node-export 3.部署nfs-pv 4.部署alertmanager ?4.1 vim alertmanager-configmap.yml 4.2 vim alertmanager-deployment.yml? ?4.3?vim alertmanager-pvc.yml ?4.4?vim alertmanager-service.yml 5.部署promethus-server 6.部署grafana 6.1.配置grafa

    2024年04月11日
    瀏覽(97)
  • Prometheus監(jiān)控實戰(zhàn)之Prometheus監(jiān)控K8S

    Prometheus監(jiān)控實戰(zhàn)之Prometheus監(jiān)控K8S

    Cadvisor + node-exporter + prometheus + grafana Cadvisor:數(shù)據(jù)采集 node-exporter:匯總 prometheus:處理、存儲 grafana:展示 容器監(jiān)控:Prometheus使用cadvisor采集容器監(jiān)控指標,而 cadvisor集成在K8S的kubelet中所以無需部署 ,通過Prometheus進程存儲,使用grafana進行展示。 node節(jié)點監(jiān)控:node端的監(jiān)控通

    2023年04月21日
    瀏覽(91)
  • Prometheus監(jiān)控K8S

    Prometheus監(jiān)控K8S

    目錄 一、描述 二、監(jiān)控流程 三、Kubernetes監(jiān)控指標 四、使用Prometheus監(jiān)控k8s Cadvisor + node-exporter + prometheus + grafana是一套非常流行的Kubernetes監(jiān)控方案。它們的功能如下: - Cadvisor:容器資源監(jiān)控工具,可以實時監(jiān)控CPU、內(nèi)存、存儲、網(wǎng)絡等容器指標,并暴露Metrics接口。 - node-exporter

    2024年02月02日
    瀏覽(93)
  • Prometheus接入AlterManager配置郵件告警(基于K8S環(huán)境部署)

    Prometheus接入AlterManager配置郵件告警(基于K8S環(huán)境部署)

    基于 此環(huán)境做實驗 1.創(chuàng)建AlertManager ConfigMap資源清單 執(zhí)行YAML資源清單: 2.配置文件核心配置說明 group_by: [alertname]:采用哪個標簽來作為分組依據(jù)。 group_wait:10s:組告警等待時間。就是告警產(chǎn)生后等待10s,如果有同組告警一起發(fā)出。 group_interval: 10s :上下兩組發(fā)送告警的間隔

    2024年04月17日
    瀏覽(25)
  • 使用大衛(wèi)的k8s監(jiān)控面板(k8s+prometheus+grafana)

    使用大衛(wèi)的k8s監(jiān)控面板(k8s+prometheus+grafana)

    書接上回,對EKS(AWS云k8s)啟用AMP(AWS云Prometheus)監(jiān)控+AMG(AWS云 grafana),上次我們只是配通了EKS+AMP+AMG的監(jiān)控路徑。這次使用一位大衛(wèi)老師的grafana的面板,具體地址如下: https://grafana.com/grafana/dashboards/15757-kubernetes-views-global/ 為了想Prometheus暴露一些有用的性能指標,需要在

    2024年04月23日
    瀏覽(657)
  • Prometheus接入AlterManager配置企業(yè)微信告警(基于K8S環(huán)境部署)

    Prometheus接入AlterManager配置企業(yè)微信告警(基于K8S環(huán)境部署)

    注意:請基于 Prometheus+Grafana監(jiān)控K8S集群(基于K8S環(huán)境部署)文章之上做本次實驗。 1、創(chuàng)建企業(yè)微信機器人 點擊登入企業(yè)微信網(wǎng)頁版: 應用管理 機器人 創(chuàng)建應用 創(chuàng)建好之后如上圖,我們獲取 點擊查看獲取 Secret 值。 2、獲取企業(yè)ID 1、創(chuàng)建AlterManager ConfigMap資源清單 執(zhí)行YAML資源

    2024年02月04日
    瀏覽(17)
  • K8S結合Prometheus構建監(jiān)控系統(tǒng)

    K8S結合Prometheus構建監(jiān)控系統(tǒng)

    一、Prometheus簡介 1、Prometheus基本介紹 數(shù)據(jù)模型:Prometheus 使用時間序列數(shù)據(jù)模型來存儲監(jiān)控數(shù)據(jù)。時間序列由一個唯一的指標名稱和一組鍵值對標簽組成,代表了某個指標在特定時間點的數(shù)值。這種數(shù)據(jù)模型非常適合度量指標的變化和趨勢。 數(shù)據(jù)采集:Prometheus 支持多種數(shù)據(jù)

    2024年02月03日
    瀏覽(95)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包