获取跨平台系统运行状况 ASP.Net 核心

Get Cross Platform System Health ASP.Net Core

我正在开发一个 ASP.Net 核心 MVC 应用程序,管理员例如我应该能够看到系统信息,例如:

  1. CPU 当前进程的使用情况
  2. 总 CPU 使用量
  3. 可用系统内存总量
  4. 当前应用程序使用的总系统内存
  5. 系统内存总使用量
  6. 可用磁盘总数 space
  7. 已使用的总磁盘 space

经过数小时的挖掘,我只找到了使用一些性能计数器或系统查询的解决方案。问题是它们中的大多数只能在 Windows 下工作,但我需要它们在 Linux 下工作,具体来说 Ubuntu 18.10 也能工作。

您只需执行linux命令行相关程序即可收集这些信息。您甚至可以创建一个 shell 脚本来通过一次执行收集所有这些信息,并 return 它们以您可以处理的格式。

以下命令应该足以收集所有信息。

  • ps -aux:每个进程cpu和内存消耗
  • free: 整体内存消耗
  • df: 整体磁盘消耗