2010-04-19 6 views
-2

Что такое простейший код в perl для мониторинга ловушки от любых устройств, таких как ИБП, выпрямитель, AirCond и т. Д. В нашем примере мы хотим контролировать температуру, влажность в серверной комнате, уровень воздушной камеры и т. Д. На каждом устройстве, таком как ИБП, есть SNMP-карта внутри, а затем мы удаляем IP-адрес сервера ловушки. В настоящее время я использую открытое программное приложение snmptt.Как отслеживать сигналы тревоги в Perl?

+1

Пожалуйста, добавьте еще несколько деталей. Что вы пробовали и как вы связаны с этими устройствами. – Space

ответ

10

Избавиться от мышей в машинной комнате может быть очень сложно. Они могут вызвать серьезные трудности, если вы достаточно неудачны, чтобы использовать кабель, который они считают привлекательным для грызения.

Лично я не размещал ловушки прямо на своих маршрутизаторах или другой передаче - но размещение ловушек - это что-то вроде искусства, и мыши не будут уважать наши представления о приличиях. Ловушки мыши могут быть беспорядочными при срабатывании, поэтому вы можете захотеть поставить некоторую газету под ловушками, чтобы сдержать беспорядок. Конечно, вам необходимо обеспечить хороший воздушный поток в вашем оборудовании, чтобы избежать перегрева.

  1. Создайте небольшую печатную плату с чувствительным к давлению переключателем, микроконтроллером, аккумулятором и модулем ethernet.
  2. Написать программное обеспечение для мониторинга состояния коммутатора и предоставления веб-интерфейса микропроцессорам, используя один из многих встроенных стеков TCP/IP и HTTP, доступных для небольших проектов.
  3. Установите печатную плату на ловушку так, чтобы ее челюсти надавили на выключатель, когда он закрыт.
  4. Установите каждую печатную плату со статическим IP-адресом и сконфигурируйте веб-сервер, чтобы отобразить состояние ловушки на главной странице.
  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; 
} 

Конечно, это решение предполагает, что вы используете ловушку с челюстей и что вы ловли мышей. Для разных типов ловушек, таких как ловушки для клея, требуется другой датчик на вашей печатной плате. Для разных карьеров потребуется только изменение кода Perl.


Если это не ответ, который вы искали, пожалуйста, опишите, что вы пытаетесь сделать в деталях, дайте нам знать, какие инструменты вы уже пробовали и любые другие факторы или ограничения вы работаете под.

Если вы не знаете, какие библиотеки доступны и не смогли начать работу, по крайней мере, сообщите нам, какие протоколы вы планируете использовать.