容器監控-Prometheus:5. 監控落地 - 指標完善、Grafana看板和郵件報警(中)
文章目錄
續 監控落地 - 指標完善、Grafana看板和郵件報警(上)
訪問prometheus
- 我們先查看一下prometheus的service
service端口爲9090,端口的名字叫web
- 定義ingress 訪問
serviceName:
對應prometheus的service
ingress-prometheus.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: prometheus
namespace: monitoring
spec:
rules:
- host: prometheus.mooc.com
http:
paths:
- backend:
serviceName: imooc-prom-prometheus-oper-prometheus
servicePort: web
path: /
創建一下
➜ ~ kubectl apply -f ingress-prometheus.yaml
-
配置host
192.168.181.102 prometheus.mooc.com
-
訪問
選擇指標查看
執行查看
點擊graph 可用看到數據的變化
Targets 展現prometheus所有pull的Endpoint
Controller-manager和etcd scheduler沒有發現,因爲我們是通過二進制部署的不能通過kubernetes api找到。後期會把他們加上去。
把Controller-manager和etcd scheduler讓prometheus發現
我來到prometheus-operator
文件內,vi values.yaml,所有組件發現配置都在這個values.yaml裏面
➜ ~ cd prometheus-operator/
➜ ~ vi values.yaml
Controller-manager
找到 Controller-manager,紅框的解釋:當我們部署的Controller-manager不是以pod運行的時候,可以指定IP列表
修改成Controller-manager部署的IP
然後註釋掉seletor,
當我們沒配置endpoints IP列表的時候它根據label 自動匹配具體的endpoints,手動指定就不需要自動匹配了。
然後把https改成true,因爲我們的Controller-manager通過https運行的。
不確定可以看下Controller-manager.service
etcd
同樣endpoints手動指定etcd 運行IP,註釋掉seletor
Scheme改成https
改https之後需要指定一個證書
-
創建一個可以訪問etcd 的secert
用之前的證書去生成secert
➜ ~ kubectl create secert generic etcd-certs -n monitoring --from-file=/etc/kubernetes/pki/ca.pem --from-file=/etc/kubernetes/pki/etcd-key.pem --from-file=/etc/kubernetes/pki/etcd.pem
查看一下
➜ ~ kubectl get secert -n monitoring etcd-certs -o yaml
- 回到value.yaml,配置上證書
-
給你prometheus配置secert
注意secert必須跟prometheus在統一命令空間下
scheduler
同樣
看一下是否https 方式
並沒有說是https,順便改一下監聽IP,改成對外IP
確認一下是否http
沒問題
修改kubelet 端口
修改成只讀端口10255
來到values.yaml,把 https改成false ,不需要修改端口,自動根據https 方式修改端口
來提一句如果你不想對某個組件做監控enabled改成false就可以。
升級prometheus配置
全部都修改完了我們必須要通過helm升級一下
➜ ~ helm upgrede imooc-prom ./prometheus-operator/ -f ./prometheus-operator/values.yaml
如果遇到以下錯誤,就直接把他們全部刪除,同樣刪除crd 然後重新安裝一遍
➜ ~ helm delete imooc-prom --purge
➜ ~ kubectl delete crd $(kubectl get crd|grep coreos|awk'{pring $1}')
➜ ~ helm install ./prometheus-operator/ --name imooc-prom --namespace monitoring
在查看一下 其他的都可以了發現這個Controller-manager.service有問題
去修改一下綁定地址爲主機IP就可以,當然你可以爲了安全放棄這個監控
可以了