prometheus进入容器报错::rpc error: code = 2 desc = containerd: container not found

it2023-11-06  68

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 childdocker 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
最新回复(0)