![通过网络获取系统信息](https://linux22.com/image/492228/%E9%80%9A%E8%BF%87%E7%BD%91%E7%BB%9C%E8%8E%B7%E5%8F%96%E7%B3%BB%E7%BB%9F%E4%BF%A1%E6%81%AF.png)
有没有办法通过网络获取系统信息(CPU 负载、内存使用情况),例如通过原始 TCP 套接字或通过 xml-rpc,无论是在基于 nix 的系统还是 win32 中?
尝试寻找一些提供此功能的软件,但是 Windows 是否本身就提供此功能并且是否有任何 nix 发行版可以本身提供此功能?
答案1
如果您的服务器上有 SNMP,那么您可以轮询它并收集数据。没有哪个网络端口已经准备好收集数据了。如果您想要进程监控、CPU 负载监控、服务监控等,那么设置监控系统可能是最佳选择。
如果您想要温度、风扇速度等硬件信息,这些信息通常可以从 SNMP 中获取,并且可以集成到监控系统中。
Nagios 和 Xymon 是两个非常不错的选择。
答案2
您可以从 Windows 和 Linux 的 SNMP 中获取此信息。对于 Windows,您还可以选择使用 WMI。
最好的办法是查看 Nagios 等监控软件。任何好的监控解决方案都能够轮询这些信息,尽管您可能需要在目标机器上安装代理。
答案3
SNMP 可以做到这一点。尽管他们说正则表达式关于 SNMP 的说法肯定是正确的。
答案4
不是通过“原始 TCP 套接字”,因为始终需要某种形式的代理来发送该信息,无论是内置还是附加组件。我为此使用 Nagios,以及许多其他监控工作。