我知道 conky 可以监控我的个人计算机,但是它可以监控我网络上的其他 Linux 服务器吗?我想查看有关 CPU 和内存使用情况以及每个服务器使用的一些关键进程的数据。例如,一台服务器是我们的MySQL服务器,所以我想显示这台服务器的CPU和内存使用情况,mysqld进程消耗了多少资源以及网络消耗。对于另一台服务器,根据其用途应该显示一些其他信息。
答案1
我不确定是否有办法直接从内部执行此操作conky
。我之前也遇到过类似的情况,通过SSH解决了。基本上,您可以使用无密码 SSH 登录设置一个非特权用户帐户,然后执行以下操作:
${execi 1 ssh dummy_user@server_name <monitoring_command>}
“1”表示输出每秒更新一次。您应该替换为您想要的适当的更新间隔以及您想要使用的任何监视命令。
答案2
我为此目的编写了一个程序:康科。它代表基于网络的 conky。
这个程序与 conky 一样,可以监控系统上的许多重要信息,还可以监控各种内容(股票、天气等),并公开包含所有数据的 REST API。它还可以监控 Windows 或 MacOS 计算机。
还有一个 HTML UI 可以在任何浏览器(甚至很旧的浏览器)上显示您的内容。我们的目标是为我们身边的旧 ipad/平板电脑找到一些用途。您可以将它们放在屏幕旁边,并在那里显示您的指标。更多空间可供您在主屏幕上进行实际工作!
但是 UI 和 API 之间基于网络的通信使得监控另一台计算机变得轻而易举。事实上,您可以构建一个网状网络,并在同一 UI 上拥有大量不同机器的指标。
它仍处于开发阶段,但我已经连续使用它大约 6 个月了,所以它运行良好。
答案3
查询远程计算机性能统计数据的传统方法是发送适当的简单网络管理协议询问。
如果您在服务器上设置 snmpd,您将能够提取各种管理数据。
答案4
你可以这样做:
${execi1 sshpass -p <yourpasssword> ssh dummy_user@server_name <monitoring_command>}