Prometheus hang 住问题定位解决
更多奇技淫巧欢迎订阅博客:https://fuckcloudnative.io
前言
1. 概述
这里我简单描述了一下我遇到的一次 prometheus hang 住但是却不太完全的一个定位过程。虽然不是一个完整的定位过程,但是,却是一个参考方向,那就是存储会很影响 prometheus 的功能。
2. 问题现象
图 1:Prometheus 进程状态 |
---|
但是,却不提供服务且 9090 端口无法访问:
图 2:prometheus API 无法访问 |
---|
3. 定位过程
看是否存在网络访问
首先得检查一下内部状态,看是完全卡死了还是说只是提供 Web 服务的接口不响应了:
[root@liqiang.io]# lsof -p 18244
发现卡住了居然没响应,心中有些不妙,怀疑系统问题了,于是先 top 一把看看:
[root@liqiang.io]# top
发现有很多进程大量占用 CPU:
图 3:进程大量占用 CPU |
---|
先确认一下 Prometheus 的 cgroup 是否配置在相同的 CPU 核上:
[root@liqiang.io]# cat /proc/18244/cgroup
... ...
10:cpuset:/xxx/app
... ...
[root@liqiang.io]# cat /etc/cgconfig.conf | grep -A 3 app
group xxx/app {
cpuset {
cpuset.cpus = "4,5";
cpuset.mems = "0-1";
然后看 top 中对应 CPU 核心的使用情况,发现情况没有那么糟糕:
图 4:CPU 核心情况(top,按 1) |
---|
看是否存在系统调用
嗯!?进程不存在了。
结局
测试同学把我的服务重启了。。。。
图 :服务被重启了 |
---|
但是看到了一些问题,挂载存储失败了,所以怀疑是存储的问题,转而定位存储的问题:
图 :存储服务日志异常 |
---|
然后就算结尾了,可惜了我的定位过程没有完成。
原文链接:https://liqiang.io/post/f859eb29
你可能还喜欢
点击下方图片即可阅读
云原生是一种信仰 ?
扫码关注公众号
后台回复◉k8s◉获取史上最方便快捷的 Kubernetes 高可用部署工具,只需一条命令,连 ssh 都不需要!
点击 "阅读原文" 获取更好的阅读体验!
❤️给个「在看」,是对我最大的支持❤️
评论