部署 Prometheus Operator
本節在實踐時使用的是 Prometheus Operator 版本 v0.14.0。由於專案開發迭代速度很快,部署方法可能會更新,必要時請參考官方文件。
下載最新原始碼
git clone https://github.com/coreos/prometheus-operator.git
cd prometheus-operator
為方便管理,建立一個單獨的 Namespace monitoring
,Prometheus Operator 相關的元件都會部署到這個 Namespace。
kubectl create namespace monitoring
安裝 Prometheus Operator Deployment
helm install --name prometheus-operator --set rbacEnable=true --namespace=monitoring helm/prometheus-operator
Prometheus Operator 所有的元件都打包成 Helm Chart,安裝部署非常方便。如果對 Helm 不熟悉,可以參考前面相關章節。
安裝 Prometheus、Alertmanager 和 Grafana
helm install --name prometheus --set serviceMonitorsSelector.app=prometheus --set ruleSelector.app=prometheus --namespace=monitoring helm/prometheus
helm install --name alertmanager --namespace=monitoring helm/alertmanager
helm install --name grafana --namespace=monitoring helm/grafana
可以通過 kubectl get prometheus
檢視 Prometheus
型別的資源。
為了方便訪問 Prometheus Server,這裡已經將 Service 型別通過 kubectl edit
改為 NodePort。
同樣可以檢視 Alertmanager 和 Grafana 的相關資源。
Service 型別也都已經改為 NodePort。
安裝 kube-prometheus
kube-prometheus 是一個 Helm Chart,打包了監控 Kubernetes 需要的所有 Exporter 和 ServiceMonitor。
helm install --name kube-prometheus --namespace=monitoring helm/kube-prometheus
每個 Exporter 會對應一個 Service,為 Pormetheus 提供 Kubernetes 叢集的各類監控資料。
每個 Service 對應一個 ServiceMonitor,組成 Pormetheus 的 Target 列表。
如下是與 Prometheus Operator 相關的所有 Pod。
我們注意到有些 Exporter 沒有執行 Pod,這是因為像 API Server、Scheduler、Kubelet 等 Kubernetes 內部元件原生就支援 Prometheus,只需要定義 Service 就能直接從預定義埠獲取監控資料。
瀏覽器開啟 Pormetheus 的 Web UI http://192.168.56.105:30413/targets
所有 Target 的狀態都是 UP
。
安裝 Alert 規則
Prometheus Operator 提供了預設的 Alertmanager 告警規則,通過如下命令安裝。
sed -ie 's/role: prometheus-rulefiles/app: prometheus/g' contrib/kube-prometheus/manifests/prometheus/prometheus-k8s-rules.yaml
sed -ie 's/prometheus: k8s/prometheus: prometheus/g' contrib/kube-prometheus/manifests/prometheus/prometheus-k8s-rules.yaml
sed -ie 's/job=\"kube-controller-manager/job=\"kube-prometheus-exporter-kube-controller-manager/g' contrib/kube-prometheus/manifests/prometheus/prometheus-k8s-rules.yaml
sed -ie 's/job=\"apiserver/job=\"kube-prometheus-exporter-kube-api/g' contrib/kube-prometheus/manifests/prometheus/prometheus-k8s-rules.yaml
sed -ie 's/job=\"kube-scheduler/job=\"kube-prometheus-exporter-kube-scheduler/g' contrib/kube-prometheus/manifests/prometheus/prometheus-k8s-rules.yaml
sed -ie 's/job=\"node-exporter/job=\"kube-prometheus-exporter-node/g' contrib/kube-prometheus/manifests/prometheus/prometheus-k8s-rules.yaml
kubectl apply -n monitoring -f contrib/kube-prometheus/manifests/prometheus/prometheus-k8s-rules.yaml
安裝 Grafana Dashboard
Prometheus Operator 定義了顯示監控資料的預設 Dashboard,通過如下命令安裝。
sed -ie 's/grafana-dashboards-0/grafana-grafana/g' contrib/kube-prometheus/manifests/grafana/grafana-dashboards.yaml
sed -ie 's/prometheus-k8s.monitoring/prometheus-prometheus.monitoring/g' contrib/kube-prometheus/manifests/grafana/grafana-dashboards.yaml
kubectl apply -n monitoring -f contrib/kube-prometheus/manifests/grafana/grafana-dashboards.yaml
開啟 Grafana 的 Web UI http://192.168.56.105:32342/
Grafana 的 DataSource 和 Dashboard 已自動配置。點選 Home
就可以使用我們在最開始討論過的那些 Dashboard 了。
小結
本章我們實踐了三種 Kubernetes 監控方案。
Weave Scope 可以展示叢集和應用的完整檢視。其出色的互動性讓使用者能夠輕鬆對容器化應用進行實時監控和問題診斷。
Heapster 是 Kubernetes 原生的叢集監控方案。預定義的 Dashboard 能夠從 Cluster 和 Pods 兩個層次監控 Kubernetes。
Prometheus Operator 可能是目前功能最全面的 Kubernetes 開源監控方案。除了能夠監控 Node 和 Pod,還支援叢集的各種管理元件,比如 API Server、Scheduler、Controller Manager 等。
Kubernetes 監控是一個快速發展的領域。隨著 Kubernetes 的普及,一定會湧現出更多的優秀方案。
書籍:
1.《每天5分鐘玩轉Kubernetes》
https://item.jd.com/26225745440.html
2.《每天5分鐘玩轉Docker容器技術》
https://item.jd.com/16936307278.html
3.《每天5分鐘玩轉OpenStack》
https://item.jd.com/12086376.html
相關推薦
部署 Prometheus Operator - 每天5分鐘玩轉 Docker 容器技術(179)
相關 層次 float eight 可能 top 更新 CA pan 本節在實踐時使用的是 Prometheus Operator 版本 v0.14.0。由於項目開發叠代速度很快,部署方法可能會更新,必要時請參考官方文檔。 下載最新源碼 git clone https://
部署 Prometheus Operator 監控 Kubernetes 叢集
目錄 1、Prometheus Operator 介紹 2、環境、軟體準備 3、相關映象準備 4、Minikube 升級並配置 4.1、Miniku
kubernetes部署 Prometheus Operator監控系統
Prometheus Operator簡介 各元件功能說明: 1.MetricServer:是kubernetes叢集資源使用情況的聚合器,收集資料給kubernetes叢集內使用,如kubectl,hpa,scheduler等。 2.PrometheusOperator:是一個系統
部署 Prometheus Operator
本節在實踐時使用的是 Prometheus Operator 版本 v0.14.0。由於專案開發迭代速度很快,部署方法可能會更新,必要時請參考官方文件。下載最新原始碼git clone https://github.com/coreos/prometheus-operator
Prometheus Operator - 每天5分鐘玩轉 Docker 容器技術(177)
Kubernetes Docker 容器 教程 前面我們介紹了 Kubernetes 的兩種監控方案 Weave Scope 和 Heapster,它們主要的監控對象是 Node 和 Pod。這些數據對 Kubernetes 運維人員是必須的,但還不夠。我們通常還希望監控集群本身的運行狀態,比
Prometheus Operator 架構 - 每天5分鐘玩轉 Docker 容器技術(178)
Kubernetes Docker 容器 教程 本節討論 Prometheus Operator 的架構。因為 Prometheus Operator 是基於 Prometheus 的,我們需要先了解一下 Prometheus。Prometheus 架構Prometheus 是一個非常優秀的監
k8s全棧監控之metrics-server和prometheus-operator
一、概述 使用metric-server收集資料給k8s叢集內使用,如kubectl,hpa,scheduler等 使用prometheus-operator部署prometheus,儲存監控資料 使用kube-state-metrics收集k8s叢集內資源物件資料
Kubernetes更優雅的監控工具Prometheus Operator
Kubernetes更優雅的監控工具Prometheus Operator [TOC] 1. Kubernetes Operator 介紹 在 Kubernetes 的支援下,管理和伸縮 Web 應用、移動應用後端以及 API 服務都變得比較簡單了。其原因是這些應用一般都是無狀態的,所以 Deploym
prometheus-operator結合grafana展示k8s監控
oar 結合 rate afa 添加 導入 follow text href 1.接上篇:kubernetes全面監控之prometheus-operator部署部署完成後,其實本身已經部署了grafana,也可以正常訪問。但是我感覺太單調,數據不夠詳實。 2.產生個想法,
Kubernetes 監控方案之 Prometheus Operator(十九)
一、Prometheus 介紹 Prometheus Operator 是 CoreOS 開發的基於 Prometheus 的 Kubernetes 監控方案,也可能是目前功能最全面的開源方案。Prometheus Operator 通過 Grafana 展示監控資料,預定義了一系列的 Dashboard
使用prometheus operator監控envoy
kubernetes叢集三步安裝 概述 prometheus operator應當是使用監控系統的最佳實踐了,首先它一鍵構建整個監控系統,通過一些無侵入的手段去配置如監控資料來源等故障自動恢復,高可用的告警等。。 不過對於新手使用上還是有一丟丟小門檻,本文就結合如何給envoy做監控這個例子來分享使用p
helm 安裝prometheus operator 並監控ingress
publish ffi chm eve rep -name system enabled -c 1.helm安裝 curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_he
prometheus-operator監控Kubernetes
Operator Operator是由CoreOS公司開發的,用來擴充套件 Kubernetes API,特定的應用程式控制器,它用來建立、配置和管理複雜的有狀態應用,如資料庫、快取和監控系統。Operator基於 Kubernetes 的資源和控制器概念之上構建,但同時又包含了應用程式特定的一些專業知識,
Prometheus Operator 監控Kubernetes
Prometheus Operator 監控Kubernetes 1. Prometheus的基本架構 Prometheus是一個開源的完整監控解決方案,涵蓋資料採集、查詢、告警、展示整個監控流程,下圖是Prometheus的架構圖: 官方文件:https://prome
使用 Prometheus-Operator 監控 Calico
> 原文連結:[https://fuckcloudnative.io/posts/monitoring-calico-with-prometheus-operator/](https://fuckcloudnative.io/posts/monitoring-calico-with-prometheus-op
Rancher1.6 部署prometheus
一、rancher基礎配置 映象:prom/prometheus:latest 對映埠:9090:9090 服務連線: blackbox-exporter cadvisor node-exporter 掛載卷: /home/work/prometheus:/etc/prometheus/ 排程: monito
Prometheus Operator 教程:根據服務維度對 Prometheus 分片
> 原文連結:[https://fuckcloudnative.io/posts/aggregate-metrics-user-prometheus-operator/](https://fuckcloudnative.io/posts/aggregate-metrics-user-prometheus-op
kubernetes1.15極速部署prometheus和grafana
### 關於prometheus和grafana prometheus負責監控資料採集,grafana負責展示,下圖來自官網: ![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202010/485422-20201006074834065-10891
Prometheus Operator自定義監控項
Prometheus Operator預設的監控指標並不能完全滿足實際的監控需求,這時候就需要我們自己根據業務新增自定義監控。新增一個自定義監控的步驟如下: 1、建立一個ServiceMonitor物件,用於Prometheus新增監控項 2、為ServiceMonitor物件關聯metrics資料介面的
部署 Prometheus 和 Grafana 到 k8s
# 在 k8s 中部署 Prometheus 和 Grafana ## Intro 上次我們主要分享了 asp.net core 整合 prometheus,以及簡單的 prometheus 使用,在實際在 k8s 中部署的時候就不能在使用前面講的靜態配置的方式來部署了,需要使用 Prometheus 的