我想创建一个监视脚本来检查我的服务器。现在我遇到了问题,我需要找到一种方法来获得正常运行时间百分比。基本上所有数据都存储在MySQL服务器中,对我来说,最简单的获取正常运行时间的方法是创建一个函数,每分钟都会向mysql服务器添加一条新记录,包括日期,时间,信息在线等等。但是如果我将使用这个方法,我将有1000个服务器来监控,我最终将在MySQL服务器每年有518 400 000条记录。
另一个想法是每台服务器创建一条记录,在线和离线两行,但没有任何日期和时间,我无法获得正常运行时间......
如何为监控系统设计数据库?
答案 0 :(得分:0)
MySQL information_schema包含每个服务器的正常运行时间信息(以秒表示)。我不确定你的数字有多精确,但是你可以在设定的时间间隔内得到这个值并将其与之前的值进行比较。根据间隔,这可以给你一个很好的近似值。
SELECT Variable_Value FROM SESSION_STATUS S WHERE Variable_Name = 'UPTIME';
此外,MySQL错误日志包含服务器启动时的日期和时间戳。定期抓取此信息并添加到您的服务器表。