美文网首页
Prometheus Grafana出现断图断点

Prometheus Grafana出现断图断点

作者: 跑腿打杂临时工 | 来源:发表于2021-03-16 18:17 被阅读0次

背景

因某新项目需要需prometheus中采集相关数据,但是发现数据一会有一会没有,觉得很奇怪,追查之后发现在prometheus通过语句查询发现数据出现断图的情况,如下图:


image.png

通过上图怀疑可能跟采集源有关系,故k8s中的kube-state-metrics有关,经过查询对比发现这个组件的内存占用基本到了100%,那么解决的办法也就简单了。

解决办法

首先找到kube-state-metrics的yaml配置文件,看下当前配置的cpu和内存是多少,调整上限值即可,我查看了github中默认配置参数,最终已自己的实际环境配置为主:
github kube-state-metrics v1.3

apiVersion: apps/v1beta2
# Kubernetes versions after 1.9.0 should use apps/v1
# Kubernetes versions before 1.8.0 should use apps/v1beta1 or extensions/v1beta1
kind: Deployment
metadata:
  name: kube-state-metrics
  namespace: kube-system
spec:
  selector:
    matchLabels:
      k8s-app: kube-state-metrics
  replicas: 1
  template:
    metadata:
      labels:
        k8s-app: kube-state-metrics
    spec:
      serviceAccountName: kube-state-metrics
      containers:
      - name: kube-state-metrics
        image: quay.io/coreos/kube-state-metrics:v1.3.0
        ports:
        - name: http-metrics
          containerPort: 8080
        - name: telemetry
          containerPort: 8081
        readinessProbe:
          httpGet:
            path: /healthz
            port: 8080
          initialDelaySeconds: 5
          timeoutSeconds: 5
      - name: addon-resizer
        image: k8s.gcr.io/addon-resizer:1.7
        resources:
          limits:
            cpu: 100m
            memory: 30Mi
          requests:
            cpu: 100m
            memory: 30Mi
        env:
          - name: MY_POD_NAME
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
          - name: MY_POD_NAMESPACE
            valueFrom:
              fieldRef:
                fieldPath: metadata.namespace
        command:
          - /pod_nanny
          - --container=kube-state-metrics
          - --cpu=100m   #根据实际情况进行修改,默认100m
          - --extra-cpu=1m
          - --memory=100Mi   #根据实际情况进行修改,默认100Mi 
          - --extra-memory=2Mi
          - --threshold=5
          - --deployment=kube-state-metrics

修改完之后重新应用一下配置文件即可,命令如下

kubectl apply -f kube-state-metrics-deployment.yaml

等待容器发布更新之后,等10~30分钟之后可以再去观察监控数据是否还会有断点断图的情况,我这里显示已经恢复,如下图


image.png

相关文章

网友评论

      本文标题:Prometheus Grafana出现断图断点

      本文链接:https://www.haomeiwen.com/subject/dkidcltx.html