rancher上kube-prometheus部署报错处理

琉璃3年前技术文章3727

问题描述

rancher 上安装kube-prometheus,版本:8.3.9  ,Chart 仓库:bitnami

image.png

服务 pod: prometheus-kube-prometheus-prometheus 启动异常

image.png

问题处理

kubectl  describe po -n monitoring  prometheus-kube-prometheus-prometheus-0

报错如下:

caller=main.go:468 level=error msg="Error loading config (--config.file=/etc/prometheus/config_out/prometheus.env.yaml)" file=/etc/prometheus/config_out/prometheus.env.yaml err="parsing YAML file /etc/prometheus/config_out/prometheus.env.yaml: empty duration string"

image.png

查看具体报错信息:

kubectl  describe po -n monitoring  prometheus-kube-prometheus-prometheus-0   | grep  /etc/prometheus/config_out/prometheus.env.yaml

image.png

查看挂载信息

image.png

查看卷信息 ,config-out Type类型为 EmptyDir
备注:

emptyDir类型的volume在pod分配到node上时被创建,kubernetes会在node上自动分配 一个目录,因此无需指定宿主机node上对应的目录文件。这个目录的初始内容为空,当Pod从node上移除时,emptyDir中的数据会被永久删除。

image.png


查看在宿主机上EmptyDir映射信息

image.png

image.png

docker inspect 8ce86e673faa

image.png


cd /var/lib/kubelet/pods/878476b9-4d09-4aca-a2b4-2e3fcc85ed57/volumes/kubernetes.io~empty-dir/config-out

image.png


github 查询资料发现此issues:

What steps will reproduce the bug?

  1. deploy chart v8.2.1+

  2. see error and restarting prometheus pod

it seems setting these values fixes the issue:

在values中添加如下scrapeInterval 、evaluationInterval 值

prometheus:

 scrapeInterval: 1m

 evaluationInterval: 1m

Prometheus以scrape_interval规则周期性从监控目标上收集数据,然后将数据存储到本地存储上。

Prometheus以evaluation_interval规则周期性对告警规则做计算,然后更新告警状态。

 # 评估告警周期   evaluation_interval

# 数据采集间隔   scrape_interval

添加完成后服务正常启动

image.png



image.png


image.png

参考文档:https://github.com/bitnami/charts/issues/13874


相关文章

PG的pg_stat_statements插件

pg_stat_statements可追踪一个服务器所执行的所有 SQL 语句的执行统计信息,可以用于统计数据库的资源开销,分析TOP SQL。一、插件安装1、编译安装进入postgresql源码目录...

xtrabackup全量备份恢复操作

xtrabackup全量备份恢复操作

一、核实环境1、核实服务器环境cat /etc/centos-release2、核实数据库版本随着Percona XtraBackup 8.0 的推出,Percona XtraBackup 2.4将继...

添加环境变量的两种方式

添加环境变量的两种方式

添加环境变量的几种方式:1.添加当前用户的PATH环境变量,作用范围仅限于当前用户修改用户目录下的 .bashrc修改后立即生效。vim ~/.bashrc2.添加所有用户的PATH环境变量,适用于所...

MySQL运维实战(3.2) 常见数据库连接失败问题排查

如果数据库连接失败,可以从如下几方面来排查:1、客户端到服务端的网络是否畅通,服务端端口是否能连通。使用ping、telnet等工具探测服务端的端口是否能访问。[root@box3 ~]#&...

Go 日志处理

Go 日志处理

1、背景日志文件一般用于记录操作系统或其他软件运行时发生的事件,或通信软件不同用户之间的消息。如果有一些问题需要对程序进行调试或故障排查时,日志是必不可少的,这是我们分析程序问题常用的手段。2、操作前...

MySQL gh-ost DDL 变更工具

MySQL gh-ost DDL 变更工具

1. MDL 锁介绍MySQL 的锁可以分为四类:MDL 锁、表锁、行锁、GAP 锁,其中除了 MDL 锁是在 Server 层加的之外,其它三种都是在 InnoDB 层加的。下面主要介绍一下:MDL...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。