NAME
XAS::Collector::Base - The base class for collectors within the XAS Environment
SYNOPSIS
use XAS::Collector::Base;
my $collector = XAS::Collector::Base->new(
-connector => 'connector',
-logger => 'logger',
);
DESCRIPTION
This is the base class for collectors within the XAS environment. This module will connect to the indicated database and create an event named "store_data". Modules that inherit from this module need to define what "store_data" does.
METHODS
new
This nethod initliazes the modules and takes the following parameters:
- -connector
-
The name of the connector session. This is used to send ACK's back to the message queue server.
- -alias
-
The name of this POE session.
- -logger
-
The name of the logger session. This is used for sending log items too.
initialize($self, $config)
This method makes the initial connection to the database and defines the "store_data" event.
cleanup($self, $kernel, $session)
Closes the connection to the database.
- $self
-
A pointer to the current object.
- $kernel
-
A handle to the POE kernel.
- $session
-
A handle to the current POE session.
log($level, $message)
This method sends log items to the logger session.
exception_handler($ex)
A common exception handler for error reporting.
PUBLIC EVENTS
This module responds to the following POE events.
store_data
This event will trigger the storage of the packet received from the message queue server.
shutdown
This event will trigger the execution of the cleanup() method.
SEE ALSO
XAS::Base
XAS::Class
XAS::Constants
XAS::Exception
XAS::System
XAS::Utils
XAS::Apps::Base::Alerts
XAS::Apps::Base::Collector
XAS::Apps::Base::ExtractData
XAS::Apps::Base::ExtractGlobals
XAS::Apps::Base::RemoveData
XAS::Apps::Database::Schema
XAS::Apps::Templates::Daemon
XAS::Apps::Templates::Generic
XAS::Apps::Test::Echo::Client
XAS::Apps::Test::Echo::Server
XAS::Apps::Test::RPC::Client
XAS::Apps::Test::RPC::Methods
XAS::Apps::Test::RPC::Server
XAS::Collector::Alert
XAS::Collector::Base
XAS::Collector::Connector
XAS::Collector::Factory
XAS::Lib::App
XAS::Lib::App::Daemon
XAS::Lib::App::Daemon::POE
XAS::Lib::Connector
XAS::Lib::Counter
XAS::Lib::Daemon::Logger
XAS::Lib::Daemon::Logging
XAS::Lib::Gearman::Admin
XAS::Lib::Gearman::Admin::Status
XAS::Lib::Gearman::Admin::Worker
XAS::Lib::Gearman::Client
XAS::Lib::Gearman::Client::Status
XAS::Lib::Gearman::Worker
XAS::Lib::Net::Client
XAS::LIb::Net::Server
XAS::Lib::RPC::JSON::Client
XAS::Lib::RPC::JSON::Server
XAS::Lib::Session
XAS::Lib::Spool
XAS::Model::Database
XAS::Model::Database::Alert
XAS::Model::Database::Counter
XAS::Model::DBM
XAS::Monitor::Base
XAS::Monitor::Database
XAS::Monitor::Database::Alert
XAS::Scheduler::Base
XAS::System::Alert
XAS::System::Email
XAS::System::Environment
XAS::System::Logger
AUTHOR
Kevin L. Esteb, <kevin@kesteb.us>
COPYRIGHT AND LICENSE
Copyright (C) 2012 by Kevin L. Esteb
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.