2013-10-07 38 views
1

因此,我将尝试在VB.net中创建一个基本的监视工具。现在我想就如何基本解决事件的日志记录和报告问题提供一些建议,所以我会很感激用户的反馈,他们肯定比我有更好的想法,并且可以告诉我更有效的做事方式。所以我的计划是有一个客户端工具,它将从MySQL数据库中读取值,并且基本上每隔x个时间间隔就会更改一次,我现在正在考虑10/15分钟。应用程序的这一方面非常简单,我的意思是我可以每隔x秒读取一次数据库,然后更改标签并根据它们显示警报。 - 这是所有有据可查的文件,我可能与此相关。报告事件/读取事件(也是MySQL)的最佳方式

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

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

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

关于上述问题的主要问题列在下面。

  1. 正在使用MySQL数据库这样做的最有效的方式?
  2. 显然,如果我的数据库出现故障,那么就没有更多的报告,但我仍然认为这是我必须忍受的一个问题。
  3. 将所有值存储为代码中的值是存储我的数据的最佳方式?
  4. 是否有任何特定类型的格式我应该在MySQL colum中使用,我在想也许是tinyint(9)?
  5. 上述方法是多余的和无意义的吗?
  6. 我假设所有这些数据库连接都可能导致一些不需要的服务器负载,但是15分钟的刷新时间应该可以解决这个问题。
  7. 有没有一种方法可以正确对抗延误,或许客户不及时更新记者,所以它会提取错误的数据,或许是包含上次更新时间的列的失败保险箱?
+0

我不明白你想要建立什么。也许你应该没有解决方案来陈述你的要求。 – Magnus

+0

我需要一个工具来收集有关多个服务器的信息,并将其显示为我们办公室的屏幕上的实时监控器。我假设每台服务器上的一个客户端向主服务器报告,这个客户端将坐下来监听每个服务器的状态。 –

+0

服务器可能没有GUI,因此没有系统托盘。我想你想要更像服务的东西。此外,由于您的问题目前没有直接的编程元素,因此可能会更好地在superuser.com或serverfault.com中提出。 –

回答

0

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

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

MySQL应该和其他任何东西一样工作。

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

在这样的应用程序中,转换将超过偏移tinyint的数据节省量。我会使用最方便的数据类型。

相关问题