- prometheus采集数据以及相关proemtheus的前端页面无法访问,报错502
- 由于是使用容器启动的,执行docker exec命令进入容器时报错,报错信息为:
rpc error: code = 2 desc = containerd: container not found
- 以上错误是因为系统内存不足,导致OOM Killer杀掉prometheus进程,该进程就是上一步中docker exec命令想作用到的容器;
- 日志中查找进程被kill情况,确认我们的猜测
grep "killed process" -ri /var/log
Killed process 2394 (prometheus) total-vm:136802772kB, anon-rss:12521944kB, file-rss:0kB, shmem-rss:0kB
dmesg|grep memory 查看内存日志信息
Out of memory: Kill process 2394 (prometheus) score 393 or sacrifice child - docker ps 查看容器显示是正常的,容器并没有stop掉
- docker logs prometheus 显示已经很久没有输出日志
- docker exec -it prometheus /bin/bash
报错: rpc error: code = 2 desc = containerd: container not found - 这里给我们显示prometheus还在运行的假象是因为内存系统内存不足,导致OOM Killer将prometheus进程杀掉,但是docker服务没有同步到这个信息,因此尽管进程不在了,但是docker ps可以看到,不过docker exec不会起作用,因为进程已经没了;
- 这时候docker stop 或者 docker kill 都已经不行了,只能重启docker
service docker restart
prometheus进入容器报错::rpc error: code = 2 desc = containerd: container not found
最新推荐文章于 2024-07-20 21:37:42 发布