2013-10-07 71 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的數據節省量。我會使用最方便的數據類型。

相關問題