如何获取 Ubuntu 服务器上的所有工作时间?

如何获取 Ubuntu 服务器上的所有工作时间?

我拥有一台采用硬件解决方案的服务器,我想查看它运行的总时间。例如所有正常运行时间的总和。

例如,如果它工作了 3 小时然后停止,3 天后又工作了 5 个小时,总工作时间为 3+5=8

服务器运行了约 2 个月。我可以从某些系统变量中提取此历史记录吗?

答案1

您可以做几件事来跟踪系统的总正常运行时间。

跟踪系统磁盘的正常运行时间

如果您的系统磁盘具有 SMART 功能(很可能具有),并且您启用了智能监控,则可以在 SMART 报告中查看总正常运行时间。

如果还没有,请使用以下命令安装:

sudo apt install smartmontools

您可以使用以下命令查看状态,包括“开机时间”:

sudo smartctl -a /dev/<device>

就我而言是:

sudo smartctl -a /dev/nvme0n1 | grep "Power On Hours"

这使:

Power On Hours:                     25,013

唯一的缺点是它只跟踪当前系统磁盘的正常运行时间。这还有一个额外的障碍,即它是磁盘的总通电时间,包括它在以前的系统中的使用时间。因此,如果它不是新磁盘,请从通电时间中减去自安装以来的任何先前运行时间。

安装正常运行时间跟踪守护程序

谢谢这个答案寻找灵感。

您可以安装uptimed,并将其设置为永远不会丢弃值(LOG_MAXIMUM_ENTRIES=0在 中设置/etc/uptimed.conf)。另一个选项是tuptime

安装uptimed方式:

sudo apt install uptimed

运行时,您可以使用以下命令查看总正常运行时间:

uprecords

示例输出:

    up  1492 days, 02:57:18 | since                     Sat Sep  7 00:50:06 2013
  down    61 days, 08:11:24 | since                     Sat Sep  7 00:50:06 2013
   %up               96.051 | since                     Sat Sep  7 00:50:06 2013

对于tuptime,这只是默认命令:

tuptime

示例输出:

System startups: 3 since 07:24:35 AM 01/20/2020
System shutdowns: 2 ok <- 0 bad
System uptime: 43.18 % - 1 hour, 0 minutes and 27 seconds
System downtime: 56.82 % - 1 hour, 19 minutes and 32 seconds
System life: 2 hours, 19 minutes and 59 seconds

Largest uptime: 35 minutes and 1 second from 07:41:00 AM 01/20/2020
Shortest uptime: 9 minutes and 20 seconds from 09:35:14 AM 01/20/2020
Average uptime: 20 minutes and 9 seconds

Largest downtime: 1 hour, 19 minutes and 13 seconds from 08:16:01 AM 01/20/2020
Shortest downtime: 19 seconds from 07:40:41 AM 01/20/2020
Average downtime: 39 minutes and 46 seconds

Current uptime: 9 minutes and 20 seconds since 09:35:14 AM 01/20/2020

此方法仅从安装并运行的时刻起计算正常运行时间uptimedtuptime

答案2

uptime对此来说并不是很好,但您通常可以假设“平均负载”/“核心数”可以为您提供自机器启动以来的机器工作量的近似值。进行此计算后,1 = 大部分时间处于最大负载,0.5 = 负载为一半,等等。

命令本身的输出在“机器之间”相对无用,因为在 8 核机器上满载时输出为 8.0,而 1.0 几乎不使用。在双核/单处理器机器上,2.0 意味着您正在销毁它,等等。:D

如果您有监控软件(例如这些工作负载在 VM/docker 映像/等中运行),则 VM 主机通常可以显示服务器工作的所有时间以及工作时间的图表。您可以配置它们保留多少数据,但大多数默认只保留一天左右的图表。您必须打开它。

相关内容