问题场景描述

prometheus配合Grafana目前应该是最主流的配置了,今天接到需求,要求做一个监控的产品,除了主机基本指标的监控,还涉及到日志收集及分析预警展示及搜索。

对于这个需求还是原地爆炸,目前还是准备基础的监控,就是进行主机的基本属性监控,包含CPU,内存使用等监控,但是prometheus与Grafana用起来后,效果是这样的:

grafana7没有Time series图形 grafana界面没有数据_hadoop

解决办法

经过百度,发现是服务器与浏览器时间不同步的原因,因为在prometheus的web界面报警了,报警内容如下:

grafana7没有Time series图形 grafana界面没有数据_重启_02

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.

意思就是服务器与浏览器时间不同步,然后我进行了核实,确实相差这么多时间:

服务时间

grafana7没有Time series图形 grafana界面没有数据_prometheus_03

浏览器时间

grafana7没有Time series图形 grafana界面没有数据_prometheus_04

找到问题后就开始进行解决,解决办法:将服务器与浏览器同步

操作步骤

同步服务器时间,需要安装ntpd,yum -y install ntp

ps:因为我之前安装了NTP集群,因为配置CDH,所以进行时间同步的时候总是报错:

grafana7没有Time series图形 grafana界面没有数据_grafana_05

反正就是各种方式进行尝试,但是无一成功,最后想起来当时配置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""

grafana7没有Time series图形 grafana界面没有数据_grafana_06

再次查看时间:

grafana7没有Time series图形 grafana界面没有数据_prometheus_07

时间调整完后,不用重启Prometheus ,Prometheus 的web端报警消失:

grafana7没有Time series图形 grafana界面没有数据_重启_08

等了几分钟,grafana出现了数据,在此过程我重启了node_exporter,因为后台node_exporter总是会自动退出:

grafana7没有Time series图形 grafana界面没有数据_prometheus_09

重启了全部node_exporter后:

grafana7没有Time series图形 grafana界面没有数据_重启_10