前面说了prometheus operator持久化的问题,但是还有一个问题很多人都忽略了,那就是prometheus operator数据保留天数,根据官方文档的说明,默认prometheus operator数据存储的时间为1d,这个时候无论你prometheus operator如何进行持久化,都没有作用,因为数据只保留了1天,那么你是无法看到更多天数的数据
image_1e6io8fmb4os1tp8rmv1oehj2d9.png-69.8kB
图片来自官方文档
实际上修改prometheus operator时间是通过retention参数进行修改,上面也提示了在prometheus.spec下填写
#接下来进行填写,首先我们先下载operator,并将目录进行分类
wget -P /root/ http://down.i4t.com/abcdocker-prometheus-operator.yaml.zip
cd /root/
unzip abcdocker-prometheus-operator.yaml.zip
mkdir kube-prom
cp -a kube-prometheus-master/manifests/* kube-prom/
cd kube-prom/
mkdir -p node-exporter alertmanager grafana kube-state-metrics prometheus serviceMonitor adapter operator
mv *-serviceMonitor* serviceMonitor/
mv setup operator/
mv grafana-* grafana/
mv kube-state-metrics-* kube-state-metrics/
mv alertmanager-* alertmanager/
mv node-exporter-* node-exporter/
mv prometheus-adapter* adapter/
mv prometheus-* prometheus/
mv 0prometheus-operator-* operator/
mv 00namespace-namespace.yaml operator/
#接下来需要修改prometheus operator的deployment文件
cd /root/kube-prom/prometheus/
vim prometheus-prometheus.yaml
在spec.下面添加
retention: 7d
image_1e6ioheir1latu5k15jo1npiqfm.png-56.6kB
如果已经安装了可以直接修改prometheus-prometheus.yaml 然后通过kubectl apply -f 刷新即可
修改完毕后检查pod运行状态是否正常
[root@YZSJHL82-101 ~]# kubectl get all -n monitoring
NAME READY STATUS RESTARTS AGE
pod/alertmanager-main-0 2/2 Running 0 44h
pod/alertmanager-main-1 2/2 Running 0 44h
pod/alertmanager-main-2 2/2 Running 0 44h
pod/grafana-558647b59-tlp8s 1/1 Running 0 44h
pod/kube-state-metrics-5bfc7db74d-8d4jk 4/4 Running 0 44h
pod/node-exporter-jwl9v 2/2 Running 0 44h
pod/node-exporter-nxn2w 2/2 Running 0 44h
pod/node-exporter-s6lpr 2/2 Running 0 44h
pod/prometheus-adapter-57c497c557-svfs8 1/1 Running 0 44h
pod/prometheus-k8s-0 3/3 Running 1 44h
pod/prometheus-k8s-1 3/3 Running 1 44h
pod/prometheus-operator-69bd579bf9-tzr5z 1/1 Running 0 44h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/alertmanager-main ClusterIP 10.254.149.37 <none> 9093/TCP 44h
service/alertmanager-operated ClusterIP None <none> 9093/TCP,6783/TCP 44h
service/grafana NodePort 10.254.134.244 <none> 3000:20614/TCP 44h
service/kube-state-metrics ClusterIP None <none> 8443/TCP,9443/TCP 44h
service/node-exporter ClusterIP None <none> 9100/TCP 44h
service/prometheus-adapter ClusterIP 10.254.7.111 <none> 443/TCP 44h
service/prometheus-k8s NodePort 10.254.130.51 <none> 9090:13535/TCP 44h
service/prometheus-operated ClusterIP None <none> 9090/TCP 44h
service/prometheus-operator ClusterIP None <none> 8080/TCP 44h
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
daemonset.apps/node-exporter 3 3 3 3 3 /os=linux 44h
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/grafana 1/1 1 1 44h
deployment.apps/kube-state-metrics 1/1 1 1 44h
deployment.apps/prometheus-adapter 1/1 1 1 44h
deployment.apps/prometheus-operator 1/1 1 1 44h
NAME DESIRED CURRENT READY AGE
replicaset.apps/grafana-558647b59 1 1 1 44h
replicaset.apps/kube-state-metrics-5bfc7db74d 1 1 1 44h
replicaset.apps/prometheus-adapter-57c497c557 1 1 1 44h
replicaset.apps/prometheus-operator-69bd579bf9 1 1 1 44h
NAME READY AGE
statefulset.apps/alertmanager-main 3/3 44h
statefulset.apps/prometheus-k8s 2/2 44h
接下来可以访问grafana或者prometheus ui进行检查 (我这里修改完毕后等待2天,检查数据是否正常)
修改前
image_1e6iou4311o1f11db1dck1q6bcs13.png-215.5kB
修改后
image_1e6iov09r8ji8o04rq1h0c1k7g1g.png-281.8kB