如何在Perl中监控陷阱警报?

时间:2010-04-19 07:24:47

标签: perl snmp-trap

perl中最简单的代码是监控来自任何设备(如UPS,整流器,AirCond等)的陷阱。例如我们要监控温度,服务器室湿度,空气水平等。每台设备如UPS,都有SNMP卡里面然后我们推出了陷阱服务器的IP地址。目前我正在使用snmptt open软件应用程序。

1 个答案:

答案 0 :(得分:10)

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

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

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


    如果这不是您正在寻找的答案,请详细说明您要做的事情,让我们知道您尝试过哪些工具以及您正在操作的任何其他因素或限制。

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