apcupsd从属客户端保持松动并恢复与UPS主机的通信

在VMWare ESXI 5.0.0(vSphere Hypervisor – 免费版本)上,我有三个服务器映像。 所有正在运行的CentOS 6 – Linux。 所有configuration都运行apcupsd( http://www.apcupsd.org/ )守护进程来控制APC启动。

其中一台服务器(主站)通过USB电缆连接到APC CS 350 UPS。 apcupsd被configuration为在端口3551上提供netserver。

另外两个(也是虚拟化的)服务器已经configuration为从主设备检索UPS状态。

它可以工作,但是ⅱ看到来自两个奴隶的大量警告。 在terminal窗口,我看到条目说

来自root @ slavehostname的广播消息(Thu Nov 1 19:55:10 2012):

警告通信与UPS主机名称丢失

来自root @ slavehostname的广播消息(Thu Nov 1 19:55:47 2012):

使用UPS主机名恢复通信

同一天,我看到大约200套丢失/恢复的信息。 白天比夜间频繁得多。

我没有得到主人的任何警告。

这些服务器有很多内存和CPU可用。 几乎没有交换发生。 我不认为他们饿死了。 一般来说,他们做的工作并不多。

这是主configuration设置(省略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 

我想请求如何从这里继续前进的帮助。 我如何debugging? 有关如何以可能导致此问题的方式configuration服务器的任何build议。

这并没有解决底层的问题,但它有助于清理控制台:

输出这些消息的脚本称为apccontrol ,在我的Ubuntu 12.04.02 LTS apccontrol ,它位于/etc/apcupsd 。 它使用wall的所有消息。

但是它也会调用其他脚本,如果它们存在于该目录中,则执行辅助处理,例如每次通信失败时都向root发送电子邮件。 您可以通过移动脚本或更改脚本来closures它。

另外:如果另一个脚本以状态码99退出,那么apccontrol将不会调用默认操作,并且不会在您的墙上收到垃圾邮件。

我只是用它来把所有的通讯丢失警报都推送到系统日志而不是墙上,而现在它并没有把我想要使用的所有terminal都搞乱。 而且我可以把轮询时间降低到默认的60,所以我的奴隶盒子仍然会注意到UPS是否进入。

我知道这是一个旧post,但我的经验可能会有一些用处…

我原先通过APC BackUPS 650CS为我的服务器供电。 这总是运作良好。

我升级到APC BX1100CI-MS。 这种设置带来了许多问题 – 从设备上的“通信丢失”消息,apcaccess通常需要五秒钟或更多的时间才能产生输出。 另一个奇怪的是,当电源断电时,apcupsd每秒三次报告“电源丢失/电源恢复”状态,几秒钟。 最糟糕的是,这种设置要求电池每两到三个月更换一次。 APC在投降前交换了整个单元三次,并给我一个BackUPS Pro BR1200作为交换。

这个新的设置没有产生一个“通信丢失”信息,只产生一个“电源丢失”信息,apcaccess产生瞬时输出。 我等着看电池是如何持续的。

我的怀疑是后来的APC模型稍微改变了控制协议,apcupsd没有应对。

体验相同。 看起来像apcupsd中的一些错误。 尝试增加从站的POLLTIME,这将大大降低错误率。