apcupsd slave 客戶端不斷失去和恢復與 UPS master 的通信
在 VMWare ESXI 5.0.0(vSphere Hypervisor - 免費版)上,我有三個伺服器映像。所有執行 CentOS 6 - Linux。所有配置都配置為執行 apcupsd ( http://www.apcupsd.org/ ) 守護程序以控制 APC upses。
使用 USB 電纜將其中一台伺服器(主伺服器)連接到 APC CS 350 UPS。apcupsd 配置為使網路伺服器在埠 3551 上可用。
另外兩台(也是虛擬化的)伺服器已配置 apcupsd 以從主伺服器檢索 UPS 狀態。
它可以工作,但是我看到兩個奴隸上的 apcupsd 發出了很多警告。在終端視窗中,我看到條目說
來自 root@slavehostname 的廣播消息(2012 年 11 月 1 日星期四 19:55:10):
與 UPS 主機名的警告通信失去
來自 root@slavehostname 的廣播消息(2012 年 11 月 1 日星期四 19:55:47):
使用 UPS 主主機名恢復通信
在同一天,我看到大約 200 組失去/恢復的消息。他們在白天比在晚上更頻繁。
我沒有收到關於主人的任何警告。
這些伺服器有大量可用的記憶體和 CPU。幾乎沒有交換發生。我不認為他們餓死了。通常他們不會做很多工作。
這是主配置設置(省略 EPROM 設置):
UPSCABLE usb UPSTYPE usb DEVICE POLLTIME 10 LOCKFILE /var/lock SCRIPTDIR /etc/apcupsd PWRFAILDIR /etc/apcupsd NOLOGINDIR /etc ONBATTERYDELAY 6 BATTERYLEVEL 5 MINUTES 3 TIMEOUT 0 ANNOY 300 ANNOYDELAY 60 NOLOGON disable KILLDELAY 0 NETSERVER on NISIP 0.0.0.0 NISPORT 3551 EVENTSFILE /var/log/apcupsd.events EVENTSFILEMAX 10 UPSCLASS standalone UPSMODE disable STATTIME 0 STATFILE /var/log/apcupsd.status LOGSTATS off DATATIME 0
這是從站設置:
UPSCABLE ether UPSTYPE net DEVICE 192.168.0.59:3551 POLLTIME 10 LOCKFILE /var/lock SCRIPTDIR /etc/apcupsd PWRFAILDIR /etc/apcupsd NOLOGINDIR /etc ONBATTERYDELAY 12 BATTERYLEVEL 10 MINUTES 7 TIMEOUT 0 ANNOY 300 ANNOYDELAY 60 NOLOGON disable KILLDELAY 0 NETSERVER on NISIP 0.0.0.0 NISPORT 3551 EVENTSFILE /var/log/apcupsd.events EVENTSFILEMAX 10 UPSCLASS standalone UPSMODE disable STATTIME 20 STATFILE /var/log/apcupsd.status LOGSTATS off DATATIME 0
我想就如何從這裡繼續前進尋求幫助。我該如何調試?關於我如何以可能導致這種情況的方式配置我的伺服器的任何建議。
這並不能解決根本問題,但它有助於清理控制台:
輸出這些消息的腳本被稱為
apccontrol
,在我的 Ubuntu 12.04.02 LTS boxen 中它存在/etc/apcupsd
。它wall
用於所有消息。但是,如果該目錄中存在其他腳本,它也會呼叫其他腳本來進行二次處理,例如每次通信失敗時向 root 發送電子郵件。您可以通過移動腳本或更改它來關閉它。
另外:如果其他腳本以狀態碼 99 退出,則
apccontrol
不會呼叫預設操作,並且您不會在牆上收到垃圾郵件。我剛剛使用它將所有通訊失去警報推送到系統日誌而不是牆中,現在它不會弄亂我嘗試使用的所有終端。而且我可以將輪詢時間恢復到預設值 60,這樣我的從箱仍然會注意到 UPS 是否啟動。