2010-04-19 68 views
-2

perl中最简单的代码是监视任何设备的陷阱,例如UPS,Rectifier,AirCond等。例如,我们要监控温度,服务器机房湿度,空气等级等。每个设备如UPS,都有SNMP卡在里面,然后我们把陷阱服务器的IP地址。目前我正在使用snmptt开放式软件应用程序。如何在Perl中监视陷阱警报?

+1

请添加更多的细节。你已经尝试了什么,以及你如何与这些设备连接。 – Space 2010-04-19 08:05:00

回答

10

在机房摆脱老鼠可能非常困难。如果您不幸使用他们觉得有吸引力的线缆,他们会造成严重的困难。

就我个人而言,我不会将陷阱直接放在我的路由器或其他设备上 - 但陷阱放置是一种艺术,老鼠不会尊重我们的正当理念。触发鼠标陷阱时可能会变得混乱,因此您可能希望在陷阱下放置一些报纸以控制混乱。当然,您需要确保设备中有良好的空气流动以避免过热。

  1. 构建一个带压敏开关,微控制器,电池和以太网模块的小型PCB。
  2. 编写软件以监视交换机的状态,并通过使用许多用于小型项目的嵌入式TCP/IP和HTTP堆栈之一为微型计算机提供基于Web的界面。
  3. 将PCB安装在收集器上,以便其关闭时其钳口对开关施加压力。
  4. 使用静态IP地址设置每个PCB并配置网络服务器以在主页面上显示陷阱状态。
  5. 现在您可以使用LWP :: Simple来监视陷阱。

样品Perl代码:

use strict; 
use warnings; 

use LWP::Simple; 

my @hosts = @_; 

while(1) { 

    for my $host (@hosts) { 

     my $content = get("http://$host"); 
     print "Host $host caught a mouse!\n" if $content =~ "TRAP CLOSED"; 

    } 

    sleep 60; 
} 

当然这种解决方案假定您使用的是陷阱与下巴和你是捕鼠。不同的陷阱类型(如胶水陷阱)需要在PCB上安装不同的传感器。不同的采石场只需要更改Perl代码。


如果这不是你要找的答案,请说明你正在尝试在细节做,让我们知道你已经尝试过什么样的工具和其他任何因素或限制你下操作。

如果您不确定哪些库可用并且无法入门,请至少告知我们您计划使用的协议。