2012-04-05 127 views

回答

3

根據維基百科InterMapper支持SNMP。 pgsnmpd是一款適用於PostgreSQL的SNMP代理。您可以同時連接兩個盒子(es)。

否則:InterMapper說是用Java編寫的。它還將自己的數據存儲在PostgreSQL中。這個CALLS從一開始就爲通用JDBC探測器或至少一個用於PostgreSQL。所以最好的解決辦法是打電話給他們,說服他們默認提供這樣的探測 - 如果他們不這樣做已經在某個地方。

關於計劃B:support page有一個文檔描述了創建自定義探針的過程。快速瀏覽一下它留下三個選項:

  • 定義自己的探頭類型 - 通過一些黑客XML
  • use「命令行探測器」,它基本上調用外部程序。在Linux/Unix上使用psql編寫腳本來連接數據庫併發出一些愚蠢的命令似乎也不復雜。
  • 他們有Nagios支持命令行探針,並有大量Nagios-PostgreSQL插件可用。

當然,你可以使用contributed probes頁面獲得足夠的例子 - 在「應用程序監控探頭的」 MS-SQL探針部分可能是一個良好的開端。

1

今天我無法幫助您使用Intermapper,但程序設計部分取決於「alive和kick'n」對您意味着什麼。

編程它的一個相當不錯的方法是讓一個cron作業在一個事務中將一行寫入一個表中,並在另一個事務中將其讀回。您可能不需要超過時間戳。這應該從客戶端計算機上運行,​​而不是在服務器上運行。

失敗的寫入應該提出了一個錯誤,但我想可能會有一些可能不會發生的深奧故障情況。然而,回讀同一行應該是生命的堅實證據。

這樣的程序會告訴您dbms正在運行和處理,並且一個特定的數據庫處於聯機狀態。你可能也可能不需要更多。有些人可能需要知道處理這些SQL語句需要多長時間,但過長的時間意味着在用戶開始調用之前需要您的注意。

對數據庫權限的更改可能會引發虛假警告。例如,如果骨頭升級撤銷寫入心跳錶的權限,則寫入該表的程序將失敗,並顯示權限錯誤。

如果你的要求不那麼嚴格,你可以檢查正在運行的服務器守護進程。

所有這些事情都可以通過cron作業來完成,通過電子郵件或短信發送失敗。