有没有办法确定 Windows 中进程的“正常运行时间”。失望地发现它不是使用任务管理器时可用的属性之一。
假设我有一个带有 Web 服务器的 Docker 容器(如 Apache 2)。现在我想更新它下的操作系统。这个 SF answer说最好的方法是重建基础镜像和我的 Apache 镜像。但是部署镜像意味着停机,因为我必须在创建新容器之前删除旧容器,所以只有一个容器绑定到端口 80/443。
但是,如何在零停机时间的情况下部署此更新?我应该使用负载平衡器并使用容器间通信吗?以及如何更新负载均衡器?
当我们使用uptime 时,它只显示我们机器的正常运行时间,因为它从上次打开/关闭/重启开始。
但是,如果我想从机器安装的第一次开始获取机器的启动时间怎么办?
Linux 拥有这些工具吗?或者关于我如何找到答案的任何线索?
我想知道是否有通过每秒执行一次“HTTP GET 请求”来检查服务器是否启动的优势?
任何服务器都可以处理吗?
如果我运行 docker 镜像并调用uptime,我总是得到比真实值更长的值。
docker run -it 1d2dfb3a35ab
root@7efb3e947f73:/# uptime
23:41:57 up 16 min, 0 users, load average: 0.06, 0.02, 0.00
Run Code Online (Sandbox Code Playgroud)
它没有运行 16 分钟,甚至没有 16 秒。=:-O
这是一个已知问题还是什么?
关于监控网络服务器是否在 linux 上启动并运行的软件的任何提示?它应该能够在不知道 URL 的情况下运行。并且它必须具有在站点出现故障时发送电子邮件警报的功能。自己为此编写脚本应该不难,但如果已经有一些不错的东西,这似乎毫无意义。
请注意,我将监视内部服务器,因此这需要是在同一网络上的机器上运行的工具,而不是基于外部 Web 的服务。
请注意,小型和简单的解决方案是首选。
更新:我最终创建了一个我目前正在使用的小型 python 脚本,它可以在这里找到。
如何检查端口是否始终处于活动状态?例如,我可以使用
ping 192.168.1.1 -t > results.txt
Run Code Online (Sandbox Code Playgroud)
这将持续 ping 192.168.1.1,以便我可以监控它。
是否有我可以使用的等效工具或命令?
目前我使用 telnet 但有时主机会断开它。我需要一个 Windows 解决方案。
从 shell 脚本判断主机是否自上次运行脚本以来重新启动的最佳方法是什么?我可以考虑在每次运行时将正常运行时间存储在一个文件中,并检查它是否减少了,但这似乎并不完全可靠(服务器可能会快速重新启动,存储较低的正常运行时间,然后缓慢重新启动并提出一个更高的正常运行时间)。
是否有诸如“开始于”值之类的东西可以保证仅在重新启动时更改?或者其他检测重启的好方法?
可能的重复:
您使用什么工具来监控您的服务器?
我正在寻找一些东西来监控 Intranet 应用程序和内部 Web 服务,并在系统变得不可用时提供历史响应时间、正常运行时间、警报的日志......
简而言之,我正在寻找与 Pingdom 几乎相同的东西,但它可以在内部监控服务器上运行,这样我们就不必向外界公开我们的内部网页面和 API 端点。
开源、商业、免费——其实并不重要。只是想知道那里有什么!
我有一个 Apache/2.2.22 (Linux/SUSE),它每天在同一时间自动重新启动。我没有配置对任何用户执行此操作的 cron 作业。
我开始收集状态页面的详细快照,从中我发现:
Restart Time: Friday, 31-Jan-2014 12:15:03 EET
Restart Time: Saturday, 01-Feb-2014 12:15:04 EET
Restart Time: Sunday, 02-Feb-2014 12:15:05 EET
Restart Time: Monday, 03-Feb-2014 12:15:06 EET
Run Code Online (Sandbox Code Playgroud)
从状态页面的详细快照可以看出,在重新启动之前没有发生重要的流量。
对于每次重新启动,我都会得到以下内容,/var/log/messages而没有任何其他兴趣:
2014-02-03T12:15:02.576970+02:00 foobar systemd[1]: Reloading apache.
2014-02-03T12:15:03.225024+02:00 foobar start_apache2[15393]: Syntax OK
2014-02-03T12:15:03.298169+02:00 foobar systemd[1]: Reloaded apache.
Run Code Online (Sandbox Code Playgroud)
任何想法为什么会发生这种情况或我接下来应该看哪里?
uptime ×10
monitoring ×4
linux ×3
docker ×2
apache-2.2 ×1
coreos ×1
hosting ×1
ping ×1
task-manager ×1
web-server ×1
windows ×1