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

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/liangjiabao5555/article/details/106142118