Jenkins正常运行时间-上次重启后多长时间

Jenkins正常运行时间-上次重启后多长时间,jenkins,Jenkins,可以查看Jenkins实例/主机运行了多长时间吗 我试着在《管理詹金斯》中四处寻找,但在那里找不到。我知道我可以登录并检查机器上的进程,但有可能在Jenkins web UI中这样做吗 此URL在重新启动时显示一条白线。。。但这并不是那么直观 <jenkins-url>/monitoring?part=graph&graph=usedMemory&period=mois /monitoring?part=graph&graph=usedMemory&period=m

可以查看Jenkins实例/主机运行了多长时间吗

我试着在《管理詹金斯》中四处寻找,但在那里找不到。我知道我可以登录并检查机器上的进程,但有可能在Jenkins web UI中这样做吗

此URL在重新启动时显示一条白线。。。但这并不是那么直观

<jenkins-url>/monitoring?part=graph&graph=usedMemory&period=mois
/monitoring?part=graph&graph=usedMemory&period=mois

您可以从:managejenkins>脚本控制台在Jenkins web ui上运行groovy脚本,并使用Jenkins API。如果您想知道Jenkins已经运行了多少天:

import java.util.concurrent.TimeUnit
long lastRestarted = Jenkins.instance.toComputer().getConnectTime()
long now =  System.currentTimeMillis()
println TimeUnit.MILLISECONDS.toDays(now - lastRestarted)
主计算机的
getConnectTime()。

很长一段时间以来,Jenkins Core中就有一个类(Jenkins 1.538)。因此,使用与脚本控制台相同的原理,可以使代码更具可读性和健壮性:

println "Jenkins has been started " + (ExtensionList.lookupSingleton(Uptime.class).uptime / 1000 / 60 ) + " minutes ago"
这将显示,例如:

詹金斯在175.8678166667分钟前就开始了

注意:
ExtensionList.lookupSingleton
是在Jenkins 2.87中引入的。因此,如果您使用的是早期版本,请使用ExtensionList.lookup(Uptime.class)。改为获取(0)

只需检查
/log/all
处的“所有系统日志”—将日志滚动到顶部

不需要Groovy脚本


但是,正如所指出的,只有在重新启动是最近的,并且相应的日志条目没有被覆盖时,此选项才会起作用。

好的,我们可能会将其作为系统groovy脚本运行,以显示生成名称。非常感谢!詹金斯版本。2.32.2它显示结果为零。它在Jenkins ver对我有效。2.73.2. 您是如何运行它的?在这种情况下,您可能希望将最后一行中的
toDays(…)
替换为
toMinutes(…)
或任何您想要的分辨率。根据此方法,我的服务器在90分钟前重新启动。@Newtopian您是对的,没有考虑日志循环。如果它最近重新启动,则可以工作;-)