声明:这是我在大学毕业后进入第二家互联网公司学习的内容


背景

Gitlab服务器突然卡住了,监控告警及时通知我gitlab down掉,一起来看看是什么情况吧

现状

首先prometheus的数据源已经没有了,ping 和ssh 到gitlab都不通。

那么直接去机房连显示器看gitlab的问题

1
2
3
4
5
$ tail /var/log/message
Core temperature above threshold, cpu clock throttled
Core temperature above threshold, cpu clock throttled
Core temperature above threshold, cpu clock throttled
Core temperature above threshold, cpu clock throttled

网上查了下资料发现这是系统在报警CPU过热;这些消息警告系统正在节流,以防止对系统造成永久性物理损坏。

在 95-100 度左右,热节流开始。如果它显着高于此值,计算机将在没有警告的情况下自行关闭电源,以防止永久性损坏。

我在机箱旁边听风扇狂转,看来散热有问题了,换了一个好一点的风扇,然后prometheus上了一个温度监控的插件

温度监控告警

准备环境

  • node-exporter 1.0.1
  • prometheus 2.24.1
  • grafana 8.5.1
  • alertmanager v0.23.0

添加grafana-dashborad

可以提供硬件温度的查看界面,但是其他的指标这个dashborad做的并没有另外一个好,这里也推荐下我常用的dashboards https://grafana.com/grafana/dashboards/16098

温度告警

alertmanager加上了温度告警的监控,包含webhook的代码自动通知到告警群里,这里不开源实现代码,通过Prometheus的API可以调用

水冷设备

本来更换一个更大功率的风扇,但是发现散热还是压不住,最后换水冷了,gitlab这台机器的配置是16c 64g 4T 980EVO,风扇确实压不住了,平常跑的任务也挺多的,上了后再看监控图已经完全下来了,最高温度不会超过65度

cpu-temperature.png

果然硬件还是可以解决很大一部分问题的!

总结

像Gitlab这种重要的服务还是得上好一点的配置!

参考资料

Package temperature above threshold, cpu clock throttled