package com.intrbiz.bergamot.worker.engine.snmp;
import org.apache.log4j.Logger;
import com.intrbiz.bergamot.worker.engine.AbstractEngine;
import com.intrbiz.snmp.SNMPTransport;
/**
* Execute SNMP checks using SNMP-IB
*/
public class SNMPEngine extends AbstractEngine
{
public static final String NAME = "snmp";
private SNMPTransport transport;
private Thread transportThread;
public SNMPEngine()
{
super(NAME);
}
@Override
protected void configure() throws Exception
{
super.configure();
if (this.executors.isEmpty())
{
this.addExecutor(new ScriptedSNMPExecutor());
this.addExecutor(new GetSNMPExecutor());
}
}
@Override
public void start() throws Exception
{
// setup the transport
int port = this.getWorker().getConfiguration().getIntParameterValue("snmp-port", 8161);
Logger.getLogger(SNMPEngine.class).info("Querying SNMP agents from port " + port);
this.transport = SNMPTransport.open(port);
this.transportThread = new Thread(this.transport, "SNMP-Transport");
this.transportThread.start();
// setup queues etc
super.start();
}
public SNMPTransport getTransport()
{
return this.transport;
}
}