GitLab中prometheus服务timeout超时(down)

报错
down: prometheus: 1s, normally up, want up; run: log: (pid 1141) 78720s

在这里插入图片描述
虽然prometheus服务宕机,但此时git服务器是可以登录的,操作并没有什么异常。GitLab通过Prometheus提供开箱即用的监控功能,可以轻松访问GitLab服务的高质量时间序列监控。

查找错误
sudo gitlab-ctl tail prometheus

在这里插入图片描述
绿色框中的显示正常,那么我们只需要根据红框后面的错误提示进行操作即可。
错误提示:
level=error msg=“Could not open the fingerprint-to-metric index for archived series. Please try a 3rd party tool to repair LevelDB in directory “/var/opt/gitlab/prometheus/data/archived_fingerprint_to_metric”. If unsuccessful or undesired, deletethe whole directory and restart Prometheus for crash recovery. You will lose all archived time series.” source=“persistence.go:213”
level=error msg=“Error opening memory series storage: file missing [file=MANIFEST-000000]” source=“main.go:191”

解决过程

第一步
输入下面代码,能否正常执行。

sudo -u gitlab-prometheus python -c "import leveldb; leveldb.RepairDB('/var/opt/gitlab/prometheus/data/archived_fingerprint_to_metric')"

如果报下图中错误“ImportError: No module named leveldb”,直接跳到第二步。如果没有问题,则直接输入sudo gitlab-ctl restart Prometheus重启服务即可。
在这里插入图片描述
第二步
依次输入下面的七个命令,进行一步步下载

sudo yum install python
sudo yum -y install epel-release
sudo yum install python-pip
sudo yum -y install gcc
sudo yum install gcc-c++
sudo yum install python-devel
sudo pip install leveldb

有的博客只给出了其中三个(python、python-pip、leveldb)下载步骤,由于我操作的这个GitLab是最近部署到新的服务器上的,很多依赖项都没有。所以我在下载那三个时,报了很多次错,提示我缺少别的依赖,以此扩展出来了剩余的四个依赖。不同的虚拟机上依赖项多少的不一样,只要按照下载失败的错误提示,将依赖下载全,最后一个下载代码sudo pip install leveldb能够正常执行即可

此时再执行代码就会成功

sudo -u gitlab-prometheus python -c "import leveldb; leveldb.RepairDB('/var/opt/gitlab/prometheus/data/archived_fingerprint_to_metric')"

然后重启gitlab服务,prometheus正常执行

sudo gitlab-ctl restart

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
xhr timeout: undefinedms 是指 XMLHttpRequest(即XHR)在请求超时时所显示的错误提示信息。XHR是一种用于发送HTTP请求并接收服务器返回数据的技术,通常用于前端与后端之间的数据交互。 当我们发送一个XHR请求时,可以设置一个超时时间。如果在指定的时间内未能收到服务器的响应,就会触发超时机制,XHR对象会抛出一个错误,并在错误信息显示 "xhr timeout: undefinedms"。 这个错误提示的 "undefinedms" 表示未定义超时时间。一般来说,我们发送XHR请求时可以设置一个超时时间,单位是毫秒。如果超过了这个时间仍然没有收到响应,就会触发超时错误。但是在这个错误提示超时时间未被指定,所以显示的是 undefinedms。 出现这个错误可能有以下几个原因: 1. 在发送XHR请求时,没有设置超时时间。 2. 设置了超时时间,但是超时时间的值被错误地指定为 undefined。 3. 服务器响应时间过长,超过了我们所设置的超时时间。 解决这个问题的方法是: 1. 在发送XHR请求时,确保设置了正确的超时时间,避免超时时间的值设为 undefined。 2. 如果确实需要设置超时时间,可以适当增加超时时间,以便等待服务器响应的时间延长。 3. 检查服务器的响应时间是否过长,如果是,可以优化服务器端的代码或者调整服务器的配置,以缩短响应时间。 总之,xhr timeout: undefinedms 表示XHR请求发生超时错误,并且超时时间未被定义。需要在发送XHR请求时正确设置超时时间,或者调整服务器响应时间来解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lllllLiangjia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值