1

所以我将尝试在VB.net 中创建一个基本的监控工具。现在我想要一些关于如何基本上解决日志记录和报告方面的建议,所以我很感谢用户的一些回复,我确信他们有比我更好的想法,并且可以告诉我更有效的做事方式.

所以我的计划是有一个客户端工具,它将从 MySQL 数据库中读取值并基本上每隔 x 间隔更改一次,我现在想 10/15 分钟。应用程序的这一面非常简单,我的意思是我可以每隔 x 时间获取一些东西来读取数据库,然后根据它们更改标签并显示警报。- 这一切都有据可查,我可能对此没意见。

第二部分是让一个位于服务器系统托盘中的客户端收集所需的信息。现在我认为系统托盘部分可能是其中最棘手的部分,但这并不是我的问题的一部分。

所以我假设我可以使用普通的信息收集命令并将它们存储为字符串,然后我可以连接到同一个数据库并将它们添加到相关字段中。例如,如果我有一个名为“server”的 MySQL 表和一个名为“Connection”的列,我可以检查服务器是否有 Internet 连接,并将结果存储为值 1 表示是,0 表示否,然后发送 MySQL命令表以将“连接”值更新为 0/1。

然后我假设监控工具可以运行 MySQL 查询来检查“连接”列,如果值为 = 0,则更改标签或标记错误,如果 1 报告连接正常?

下面列出了我对上述问题的主要问题。

  1. 使用 MySQL 数据库是执行此类操作的最有效方式吗?
  2. 显然,如果我的数据库出现故障,则不再有报告,但我仍然认为这是我必须忍受的骗局。
  3. 将所有内容存储为代码中的值是存储数据的最佳方式吗?
  4. 我应该在 MySQL 列中使用什么特殊类型的格式,我在想可能是 tinyint(9)?
  5. 上面的方法是多余的和没有意义的吗?
  6. 我假设所有这些数据库连接都可能导致一些不必要的服务器负载,但是 15 分钟的刷新时间应该可以解决这个问题。
  7. 有没有办法适当地解决延迟问题,可能客户端更新不及时让报告者获取错误数据,对于包含上次更新时间的列来说可能是故障安全?
4

1 回答 1

0

您可能不需要收集信息本身的工具。Web 应用程序(实时监视器)可以做到这一点,因为客户端将他们的信息存储在同一个数据库中。Web 应用程序可以每 15 分钟访问一次数据库并显示数据,而无需再次保存数据的中间步骤。这将为 Web 应用程序提供最新信息,而不是潜在的 29 分钟延迟。

换句话说,客户端只保存了一次连接信息。不要在数据库中复制它。

MySQL 应该可以正常工作。

硬编码“一切”是个坏主意。如果需要存储 IP 等,可以使用应用程序设置或 MySQL 表。

在这样的应用程序中,转换将抵消 tinyint 的数据节省。我会使用最方便的数据类型。

于 2013-10-08T03:35:44.097 回答