报告事件/读取事件的最佳方式(也是MySQL)

时间:2013-10-07 17:30:23

标签: mysql vb.net

所以我将尝试在VB.net中创建一个基本的监视工具。现在我想就如何基本解决事件的日志记录和报告方面提出一些建议,所以我很感激用户的一些回复,我肯定比我有更好的想法,可以告诉我更有效的做事方式

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

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

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

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

我对以上内容的主要问题如下:

  1. 使用MySQL数据库是最有效的方法吗?
  2. 显然,如果我的数据库出现故障,就不再有报道了,我仍然认为这是一个我不得不忍受的问题。
  3. 将所有内容存储为代码中的值是存储数据的最佳方式吗?
  4. 我应该在MySQL列中使用什么特定类型的格式,我想也许是tinyint(9)?
  5. 上述方法是多余的,没有意义吗?
  6. 我认为所有这些数据库连接都可能导致一些不需要的服务器负载,但15分钟的刷新时间应该可以解决这个问题。
  7. 有没有办法正确对抗延误,可能是客户更新不及时为记者提供错误数据,也许是包含最后更新时间的列的故障安全?

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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