如何使用Uptimed监视Linux系统正常运行时间

时间:2020-03-21 11:44:46  来源:igfitidea点击:

之前我们讨论了如何在Linux上使用Tuptime Utility找到Linux系统正常运行时间。

今天,我们将了解一个名为Uptimed的类似效用。
它是用于记录和跟踪Linux系统的命令行实用程序。
使用上限,我们可以轻松显示历史上正常运行记录的摘要,例如Linux系统已达到多长时间,最高的正常运行时间,当系统重新启动等时,在本简要指导中,让我们看看如何监视如何监视使用上限实用程序的Linux系统正常运行时间。

在Linux上安装Uptimed

高流行的Linux操作系统的官方存储库中提供了上限。

要在Arch Linux上安装Uptimed,只需运行:

$sudo pacman -S uptimed

在Debian,Ubuntu,Linux Mint:

$sudo apt-get install uptimed

请注意,在Ubuntu及其衍生产品上,确保启用[Universe]存储库。

$sudo add-apt-repository universe

关于Fedora:

$sudo dnf install uptimed

在CentOS 7:

CentoS的默认存储库中不提供上限。
因此,我们需要按顺序启用EPEL存储库以安装它。

启用EPEL存储库:

$sudo yum install epel-release

然后使用命令安装Uptimed:

$sudo yum install uptimed

在其他Linux系统上,从发布页面下载上限,然后手动编译并安装它。

# wget https://github.com/rpodgorny/uptimed/archive/v0.4.2.zip -O uptimed.zip
# unzip uptimed.zip
# cd uptimed-0.4.2/
# ./configure
# make
# make install

安装上限后,启用并启动上贴服务:

# systemctl enable uptimed
# systemctl start uptimed

检查上限服务的状态:

# systemctl status uptimed
● uptimed.service - Uptime record tracking daemon
   Loaded: loaded (/usr/lib/systemd/system/uptimed.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2017-02-11 14:21:12 IST; 1s ago
     Docs: man:uptimed(8)
           man:uprecords(1)
 Main PID: 1435 (uptimed)
   Status: "Next milestone (five days) at Sun Nov 16 14:13:59 2017"
   CGroup: /system.slice/uptimed.service
           └─1435 /usr/sbin/uptimed -f
Nov 11 14:21:12 server.theitroad.local systemd[1]: Starting Uptime record tracking daemon...
Nov 11 14:21:12 server.theitroad.local systemd[1]: Started Uptime record tracking daemon.

使用Uptimed监视Linux系统正常运行时间

要监控Linux系统在系统重新启动之间的正常运行时,只需运行:

# uprecords

示例输出:

#               Uptime | System                                     Boot up
----------------------------+--------------------------------------------------
     1     0 days, 02:35:51 | Linux 3.10.0-1062.1.1.el  Tue Nov 11 14:22:33 2017
     2     0 days, 00:07:27 | Linux 3.10.0-1062.1.1.el  Tue Nov 11 14:13:59 2017
->   3     0 days, 00:02:11 | Linux 3.10.0-1062.1.1.el  Tue Nov 11 17:02:29 2017
----------------------------+--------------------------------------------------
1up in     0 days, 00:05:17 | at                        Tue Nov 11 17:09:56 2017
no1 in     0 days, 02:33:41 | at                        Tue Nov 11 19:38:20 2017
    up     0 days, 02:45:29 | since                     Tue Nov 11 14:13:59 2017
  down     0 days, 00:05:12 | since                     Tue Nov 11 14:13:59 2017
   %up               96.953 | since                     Tue Nov 11 14:13:59 2017

其中第一列中的箭头标记表示最近的正常运行时间。

懒地排序结果

要显示Boottime排序的Linux系统正常运行时间,请使用-b标志:

# uprecords -b
     #               Uptime | System                                     Boot up
----------------------------+--------------------------------------------------
     1     0 days, 00:07:27 | Linux 3.10.0-1062.1.1.el  Tue Nov 11 14:13:59 2017
     2     0 days, 02:35:51 | Linux 3.10.0-1062.1.1.el  Tue Nov 11 14:22:33 2017
->   3     0 days, 00:30:14 | Linux 3.10.0-1062.1.1.el  Tue Nov 11 17:02:29 2017

同样,通过懒人(即仅显示最近的重启)来反转排序,请使用-b标志:

# uprecords -B
     #               Uptime | System                                     Boot up
----------------------------+--------------------------------------------------
->   1     0 days, 00:14:51 | Linux 3.10.0-1062.1.1.el  Tue Nov 11 17:02:29 2017
     2     0 days, 02:35:51 | Linux 3.10.0-1062.1.1.el  Tue Nov 11 14:22:33 2017
     3     0 days, 00:07:27 | Linux 3.10.0-1062.1.1.el  Tue Nov 11 14:13:59 2017

显示x次数

在没有任何选项的情况下运行UPRecords命令时,它将默认显示前10名历史上正常运行记录的摘要。
但是,我们可以使用-m标志更改此功能。
例如,以下命令将显示前20个记录:

# uprecords -m 20

不要截断输出

如上所述,系统列中的Linux内核版信息已被截断(即Linux 3.10.0-1062.1.1.EL)。
如果我们不想截断信息,请使用-w(宽输出)标志。

# uprecords -w
     #               Uptime | System                                     Boot up
----------------------------+--------------------------------------------------
     1     0 days, 02:35:51 | Linux 3.10.0-1062.1.1.el7.x86_64  Tue Nov 11 14:22:33 2017
->   2     0 days, 00:16:35 | Linux 3.10.0-1062.1.1.el7.x86_64  Tue Nov 11 17:02:29 2017
     3     0 days, 00:07:27 | Linux 3.10.0-1062.1.1.el7.x86_64  Tue Nov 11 14:13:59 2017
----------------------------+--------------------------------------------------
no1 in     0 days, 02:19:17 | at                        Tue Nov 11 19:38:21 2017
    up     0 days, 02:59:53 | since                     Tue Nov 11 14:13:59 2017
  down     0 days, 00:05:12 | since                     Tue Nov 11 14:13:59 2017
   %up               97.190 | since                     Tue Nov 11 14:13:59 2017

显示停机时间

我们还可以使用如下面的-d标志显示重新启动而不是内核版本之间的停机时间:

# uprecords -d
     #               Uptime |        Last downtime                       Boot up
----------------------------+--------------------------------------------------
     1     0 days, 02:35:51 |     0 days, 00:01:07      Tue Nov 11 14:22:33 2017
->   2     0 days, 00:13:02 |     0 days, 00:04:05      Tue Nov 11 17:02:29 2017
     3     0 days, 00:07:27 |     0 days, 00:00:00      Tue Nov 11 14:13:59 2017
----------------------------+--------------------------------------------------
no1 in     0 days, 02:22:50 | at                        Tue Nov 11 19:38:21 2017
    up     0 days, 02:56:20 | since                     Tue Nov 11 14:13:59 2017
  down     0 days, 00:05:12 | since                     Tue Nov 11 14:13:59 2017
   %up               97.136 | since                     Tue Nov 11 14:13:59 2017

Uprecords有几个选择。
要显示具有描述的所有选项,请运行:

# uprecords -?
usage: uprecords [OPTION]...
  -?             this help
  -a             do not print ansi codes
  -b             sort by boottime
  -B             reverse sort by boottime
  -k             sort by sysinfo
  -K             reverse sort by sysinfo
  -d             print downtime seen before every uptimes instead of system
  -c             do not show current entry if not in top entries
  -f             run continously in a loop
  -s             do not print extra statistics
  -w             wide output (more than 80 cols per line)
  -i INTERVAL    use INTERVAL seconds for loop instead of 5, implies -f
  -m COUNT       show a maximum of top COUNT entries instead of 10
  -M             show next milestone
  -v             version information

有关更多详细信息,请参阅Man页面。

$man uprecords