prometheus-operator結合grafana展示k8s監控
kubernetes全面監控之prometheus-operator部署
部署完成後,其實本身已經部署了grafana,也可以正常訪問。但是我感覺太單調,數據不夠詳實。
2.產生個想法,再多部署一套grafana,然後數據源使用prometheus-operator的數據源,再選個喜歡的dashboard展示,是否可行呢?答案是可行。測試成功。
3.準備grafana文件
git clone https://github.com/redhatxl/k8s-prometheus-grafana.git
[root@k8s-master2 grafana]# pwd
/root/k8s-prometheus-grafana/grafana
grafana-deploy.yaml grafana-ing.yaml grafana-svc.yaml
[root@k8s-master2 grafana]#
4.執行部署
grafana-deploy.yaml grafana-ing.yaml grafana-svc.yaml
這三個文件
[root@k8s-master1 grafana]# kubectl apply -f grafana-ing.yaml
ingress.extensions "grafana" created
[root@k8s-master1 grafana]#
[root@k8s-master1 grafana]# cat grafana-ing.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: grafana
namespace: kube-system
spec:
rules:
- host: k8s.grafana2
http:
paths:- path: /
backend:
serviceName: grafana
servicePort: 3000
- path: /
註意這個hosts:k8s.grafana2
這是通過traefik或者ingress來訪問的名字,如果不懂請參考前面的traefik篇。
做好hosts解析,我的是win7,參考見下:
解析設置好後,通過域名k8s.grafana2即可正常訪問grafana web界面。
界面見下:
默認賬戶和密碼
admin
admin
5.登錄進來後最重要的一步添加數據源
這裏註意
name是隨意寫的
type必須選prometheus
URL是service的ip
我們用的是kube-prometheus這個service的數據
因此用這個service的ip和端口即可
具體見下:
[root@k8s-master1 grafana]# kubectl get svc -n monitoring
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
alertmanager-operated ClusterIP None <none> 9093/TCP,6783/TCP 5h
kube-prometheus ClusterIP 10.254.194.73 <none> 9090/TCP 5h
kube-prometheus-alertmanager ClusterIP 10.254.145.184 <none> 9093/TCP 5h
kube-prometheus-exporter-kube-state ClusterIP 10.254.135.58 <none> 80/TCP 5h
kube-prometheus-exporter-node ClusterIP 10.254.3.37 <none> 9100/TCP 5h
kube-prometheus-grafana ClusterIP 10.254.125.203 <none> 80/TCP 5h
prometheus-operated ClusterIP None <none> 9090/TCP 5h
[root@k8s-master1 grafana]#
6.數據源添加成功後
添加dashboard
先去網站下一個可用的dashboard
我用的是:
https://grafana.com/dashboards/315
下好後
Import Dashboard
導入即可,界面好漂亮。完整監控了我的k8s集群。
截圖見下:
prometheus-operator結合grafana展示k8s監控