2009-01-20 67 views
1

我有一個slapd LDAP服務器,這對我的應用程序至關重要。我想監視它,以便檢測它何時變得過載或失敗。如何找出到我的slapd LDAP服務器的連接數?

不幸的是,我們被一個很老的版本的slapd卡住了,它有一個已知的bug:它不能處理超過64個併發連接。如果客戶端試圖打開更多連接slapd塊,導致各種問題。

我被要求製作一個工具,它可以找到在任何特定時刻打開的連接數量 - 這可以用在自動監測工具中,但是我怎樣才能找出slapd的狀態?有沒有辦法做到這一點?

回答

5

最好的工具是lsof

lsof -i tcp:389 

將顯示您到LDAP服務器的所有TCP連接。

2

不直接slapd相關,但你有沒有想過使用netstat獲取建立的連接數?

像這樣的東西可以做到這一點:

netstat -na | grep ESTABLISHED | grep -E "^tcp\s+[0-9]+\s+[0-9]+\s+[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:3306" | wc -l 

這一個是Ubuntu Linux操作系統 - 打印到MySQL服務器的連接數。因此,您需要將端口號更改爲389(或用於slapd的端口)。

+0

改爲使用`netstat -na -p tcp`。另外,不需要兩次運行`grep`。使用`perl -lane'print if/ESTABLISHED/and/`。 – 2011-08-09 11:07:06

1

您可以使用監視器後端OpenLDAP來查詢ldapserver本身以瞭解其當前擁有的連接數量。

+0

我們如何使用監視器後端進行OpenLDAP查詢ldapserver。 – 2015-07-22 09:40:24

相關問題