本文來自Rancher Labs
Prometheus是CNCF中已經畢業的專案之一,主要用于監控和告警,在Kubernetes生態中,它是應用最為廣泛的監控和告警工具之一,Rancher用戶可以通過使用內置的監控堆疊來快速利用Prometheus,
Prometheus將其指標(metrics)作為時序資料庫存盤在本地磁盤上,因此Prometheus的本地存盤會受到磁盤大小以及所能保留的指標數量的制約,但是,Prometheus允許與遠程系統集成,通過_remotewrite和_remoteread指令讀寫指標,同時它還支持大量遠程端點和存盤集成,
聯邦可以實作可擴展的Prometheus監控設定,或者將相關的指標從一個服務的Prometheus拉取到另一個Prometheus中,
在本文中,我們將探索一個快速和簡單的方式來設定Rancher監控遠程端點與Thanos receive的集成,Thanos是一個開源的、高可用的Prometheus設定,有長期指標存盤功能,你可以使用這個解決方案在所有的Prometheus實體中實作聯邦指標,并允許中央Grafana dashboard在Thanos上運行,
重要提醒:作為指標聯邦的一部分,專案/集群指標將不在Rancher管理平面內,此外,集群管理員必須確保建立適當的訪問控制機制,以限制對該指標存盤的訪問,
安裝Thanos
在本篇文章中,我們可以使用kube-thanos在Kubernetes集群上快速設定Thanos,
我們將需要以下Thanos組件:
-
Thanos存盤gateway
-
Thanos接收器(receiver)
-
Thanos查詢器(querier)
-
物件存盤
該解決方案如下所示:
+
Tenant's Premise | Provider Premise
|
| +------------------------+
| | |
| +-------->+ Object Storage |
| | | |
| | +-----------+------------+
| | ^
| | S3 API | S3 API
| | |
| | +-----------+------------+
| | | | Store API
| | | Thanos Store Gateway +<-----------------------+
| | | | |
| | +------------------------+ |
| | |
| +---------------------+ |
| | |
+--------------+ | +-----------+------------+ +---------+--------+
| | | Remote | | Store API | |
| Prometheus +------------->+ Thanos Receiver +<-------------+ Thanos Querier |
| | | Write | | | |
+--------------+ | +------------------------+ +---------+--------+
| ^
| |
+--------------+ | |
| | | PromQL |
| User +----------------------------------------------------------------+
| | |
+--------------+ |
+
來源:Thanos receive proposal
Thanos支持若干物件存盤配置,我們將使用MinIO作為我們的物件存盤,你需要在名為thanos-objectStorage的secret中定義物件存盤,它需要在你的Thanos deployment命名空間中,
thanos-config.yaml如下所示:
type: s3
config:
bucket: thanos
endpoint: ${minio-endpoint}
access_key: ${minio-access-key}
secret_key: ${minio-secret-key}
insecure: true
你可以按照以下方式創建secret:
kubectl create secret generic thanos-objectstorage --from-file=thanos.yaml="$PATH_TO_CONFIG"/thanos-config.yaml
配置Rancher監控
與Rancher監控operator打包的Prometheus版本已經支持remote_read和remote_write集成,
Thanos receive endpoint的額外設定可以通過高級選項傳遞,如下所示:
我們需要按照Prometheus remote_write規范的要求,指定一個唯一的名字,
# The name will be used in metrics and logging in place of a generated value to help users distinguish between
# remote write configs.
[ name: <string> ]
你完成了監控的部署之后,你應該可以使用Thanos查詢器查看你的指標,
已存盤的指標也將在物件存盤中獲取,
由于所有的集群指標在這個Thanos安裝中都是可用的,所以作業負載的所有者需要確保對作業負載和指標的訪問是安全的,
總 結
使用Rancher監控(即Prometheus)和Thanos接收器中的遠程讀寫功能,你可以通過幾個簡單的步驟就能夠實作長期指標存盤和多個集群指標的全域視圖,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/75849.html
標籤:其他
