C# 多台计算机的磁盘使用情况监视器

C# 多台计算机的磁盘使用情况监视器,c#,asp.net-core,C#,Asp.net Core,我必须编写asp.net核心服务,它将在特定时间监视多台计算机的磁盘空间使用情况。此服务将在我的主服务中调用,这是一个单独的项目。 我已经创建了一个计时器,每5小时运行一次该服务,但我不知道如何检查每个ip地址的磁盘空间。My appsettings.json如下所示: { "DuskUsageService": [ { "RecurringMode": "

我必须编写asp.net核心服务,它将在特定时间监视多台计算机的磁盘空间使用情况。此服务将在我的主服务中调用,这是一个单独的项目。 我已经创建了一个计时器,每5小时运行一次该服务,但我不知道如何检查每个ip地址的磁盘空间。My appsettings.json如下所示:

            {
         "DuskUsageService": [
             {
           "RecurringMode": "1",
          "RecurringInterval": "1",
           "StartsOn": "00:00:00",
         "StartImmediately": true,
           "IPAddress": "1.1.1.1",
           "Username": "test",
            "Password": "test"
           },
          {
         "RecurringMode": "1",
           "RecurringInterval": "1",
             "StartsOn": "00:00:00",
            "StartImmediately": true,
             "IPAddress": "1.1.1.1",
            "Username": "test",
            "Password": "test"
            },
               ],

我们的想法是创建一个服务,该服务将连接到ip地址并从那里获取磁盘空间使用情况。

您忘记问问题了。你也没有发布任何相关代码。您所描述的内容自2000年代以来已在Windows中可用-您可以从一台计算机中从域中的多台计算机收集性能计数器,在性能监视中显示它们,或在日志中自动收集它们。甚至在某个点上有一个Perf Monitor的web视图。最具可扩展性的解决方案是从多台机器中收集您想要的东西事实上,收集度量。你甚至可以。Windows拥有大量功能,可以通过组策略、WMI、性能计数器、事件日志订阅Yes来管理数千台计算机的域,而无需额外的软件或代理。我知道这一点,但我有一个主服务,它可以监视我的应用程序上的多个内容,我想添加一个服务来监视磁盘使用情况,它需要在asp.net核心中。我的问题是这样做的最佳方式是什么?使用操作系统的功能,而不是重新设计它们。无论是在Windows还是Linux上,这都是一个用优秀的解决方案解决的问题。在Windows上,使用数据采集器。即使您想自己轮询所有机器(为什么?),您仍然必须为此使用WMI。在Linux上,您必须使用可用的服务,以及最好的服务—您的要求是什么?也许将数据写入文件就足够了。也许您需要将它们写入数据库。安全性也是一项要求,当您可以在没有密码的情况下安全地工作时,存储明文密码是一个大问题