Prometheus hang 住问题定位解决

云原生实验室

共 1150字,需浏览 3分钟

 ·

2020-12-23 18:46


更多奇技淫巧欢迎订阅博客: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



你可能还喜欢

点击下方图片即可阅读

在 arm64 架构上一键部署高可用 k8s v1.20.0 集群

云原生是一种信仰 ?



码关注公众号

后台回复◉k8s◉获取史上最方便快捷的 Kubernetes 高可用部署工具,只需一条命令,连 ssh 都不需要!



点击 "阅读原文" 获取更好的阅读体验!

❤️给个「在看」,是对我最大的支持❤️
浏览 56
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报