问题场景描述
prometheus配合Grafana目前应该是最主流的配置了,今天接到需求,要求做一个监控的产品,除了主机基本指标的监控,还涉及到日志收集及分析预警展示及搜索。
对于这个需求还是原地爆炸,目前还是准备基础的监控,就是进行主机的基本属性监控,包含CPU,内存使用等监控,但是prometheus与Grafana用起来后,效果是这样的:
解决办法
经过百度,发现是服务器与浏览器时间不同步的原因,因为在prometheus的web界面报警了,报警内容如下:
Warning! Detected 254.70 seconds time difference between your browser and the server. Prometheus relies on accurate time and time drift might cause unexpected query results.
意思就是服务器与浏览器时间不同步,然后我进行了核实,确实相差这么多时间:
服务时间
浏览器时间
找到问题后就开始进行解决,解决办法:将服务器与浏览器同步
操作步骤
同步服务器时间,需要安装ntpd,yum -y install ntp
ps:因为我之前安装了NTP集群,因为配置CDH,所以进行时间同步的时候总是报错:
反正就是各种方式进行尝试,但是无一成功,最后想起来当时配置NTP集群的时候我进行的是本地时间配置,就是局域网内设置时间,然后可以同步到其他服务器,所以我现在直接修改服务器时间不就可以了?
这里我使用了脚本,直接同步修改三个服务器时间,dt.sh 脚本内容如下:
!/bin/bash
for i in hadoop101 hadoop102 hadoop103
do
echo "========== $i 时间修改成功 =========="
ssh -t $i "sudo date -s $1"
done
命令:
sh dt.sh "2020-10-21"
先修改日期在修改时间,一起修改会报错
sh dt.sh "10:29:45""
再次查看时间:
时间调整完后,不用重启Prometheus ,Prometheus 的web端报警消失:
等了几分钟,grafana出现了数据,在此过程我重启了node_exporter,因为后台node_exporter总是会自动退出:
重启了全部node_exporter后: