Prometheus部署

Prometheus
相關地址信息
Prometheus github 地址:https://github.com/coreos/kube-prometheus
組件說明
1.MetricServer:是kubernetes集羣資源使用情況的聚合器,收集數據給kubernetes集羣內使用,如kubectl,hpa,scheduler等。2.PrometheusOperator:是一個系統監測和警報工具箱,用來存儲監控數據。3.NodeExporter:用於各node的關鍵度量指標狀態數據。4.KubeStateMetrics:收集kubernetes集羣內資源對象數據,制定告警規則。5.Prometheus:採用pull方式收集apiserver,scheduler,controller-manager,kubelet組件數據,通過http協議傳輸。6.Grafana:是可視化數據統計和監控平臺。



構建記錄
[root@k8s-master ~]# mkdir prometheus
[root@k8s-master ~]# cd prometheus
[root@k8s-master prometheus]# pwd
/root/prometheus



[root@k8s-master prometheus]# git clone https://github.com/coreos/kube-prometheus.git
Cloning into 'kube-prometheus'...
remote: Enumerating objects: 46, done.
remote: Counting objects: 100% (46/46), done.
remote: Compressing objects: 100% (27/27), done.
remote: Total 9714 (delta 21), reused 25 (delta 15), pack-reused 9668
Receiving objects: 100% (9714/9714), 5.34 MiB | 123.00 KiB/s, done.
Resolving deltas: 100% (5943/5943), done.






將kube-prometheus傳到/root/下
[root@k8s-master ~]# cd /root/kube-prometheus/manifests

[root@k8s-master manifests]# vi grafana-service.yaml
Prometheus部署

[root@k8s-master manifests]# vi prometheus-service.yaml
Prometheus部署

[root@k8s-master manifests]# vi alertmanager-service.yaml
Prometheus部署

[root@k8s-master prometheus]# pwd
/root/
導入鏡像
kube-prometheus.git.tar.gz prometheus.tar.gz load-images.sh


[root@k8s-master prometheus]# tar -zvxf prometheus.tar.gz
prometheus/
prometheus/addon-resizer.tar
prometheus/alertmanager.tar
prometheus/configmap-reload.tar
prometheus/grafana.tar
prometheus/k8s-prometheus-adapter-amd64.tar
prometheus/kube-rbac-proxy.tar
prometheus/kube-state-metrics.tar
prometheus/node-exporter.tar
prometheus/prometheus-config-reloader.tar
prometheus/prometheus-operator.tar
prometheus/prometheus.tar











[root@k8s-master prometheus]# cat load-images.sh
#!/bin/bash

cd /root/prometheus

ls /root/prometheus | grep -v load-images.sh > /tmp/k8s-images.txt

for i in $( cat /tmp/k8s-images.txt )
do
docker load -i $i
done
rm -rf /tmp/k8s-images.txt



[root@k8s-master ~]# chmod a+x load-images.sh
[root@k8s-master ~]# ./load-images.sh

傳鏡像給別的節點
[root@k8s-master ~]# scp -r prometheus/ load-images.sh root@k8s-node1:/root/
[root@k8s-master ~]# scp -r prometheus/ load-images.sh root@k8s-node2:/root/

別的節點導入鏡像
[root@k8s-node1 ~]# ./load-images.sh
[root@k8s-node2 ~]# ./load-images.sh

回到主節點
[root@k8s-master prometheus]# cd /root/kube-prometheus/manifests
[root@k8s-master manifests]# kubectl apply -f ../manifests
有報錯的時候,多運行幾次,因爲需要互相連接,直到最後所有created沒有報錯爲止。
[root@k8s-master manifests]# kubectl apply -f ../manifests



[root@k8s-master manifests]# kubectl top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
k8s-master 164m 8% 1019Mi 17%
k8s-node1 104m 10% 859Mi 49%
k8s-node2 109m 10% 858Mi 45%



[root@k8s-master manifests]# kubectl top pod
NAME CPU(cores) MEMORY(bytes)
my-nginx-7b55868ff4-xldcg 0m 1Mi

訪問 prometheus
prometheus 對應的 nodeport 端口爲 30200,訪問http://MasterIP:30200
http://10.10.21.8:30200/graph

Prometheus部署
Prometheus部署
prometheus 的 WEB 界面上提供了基本的查詢 K8S 集羣中每個 POD 的 CPU 使用情況,查詢條件如下:
sum by (pod_name)( rate(container_cpu_usage_seconds_total{image!="", pod_name!=""}[1m] ) )
Prometheus部署



下面可以運行後查看圖片
Prometheus部署
訪問 grafana
grafana 的端口號是 30100,瀏覽器訪問http://MasterIP:30100用戶名密碼默認 admin/admin
Prometheus部署



Prometheus部署

Prometheus部署

Prometheus部署

Prometheus部署

Prometheus部署

Prometheus部署

這裏的監控項都能監控

Prometheus部署

Prometheus部署

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章