GitLab中prometheus服务timeout超时(down)
报错 |
虽然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
更多推荐
所有评论(0)