Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

POE bindings for eris message dispatcher

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 benchmarks
Octocat-spinner-32 docs
Octocat-spinner-32 examples
Octocat-spinner-32 lib
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Changes
Octocat-spinner-32 README.mkdn
Octocat-spinner-32 dist.ini
README.mkdn

NAME

POE::Component::Server::eris - POE eris message dispatcher

VERSION

version 1.8

SYNOPSIS

POE session for integration with your central logging infrastructure By itself, this module is useless. It is designed to take an stream of data from anything that can generate a POE Event. Examples for syslog-ng and rsyslog are included in the examples directory!

use POE qw(
    Component::Server::TCP
    Component::Server::eris
);

# Message Dispatch Service
my $SESSION = POE::Component::Server::eris->spawn(
        ListenAddress       => 'localhost',         #default
        ListenPort          => '9514',              #default
        GraphiteHost        => undef,               #default
        GraphitePort        => 2003,                #default
        GraphitePrefix      => 'eris.dispatcher',   #default
);

# $SESSION = { alias => 'eris_dispatcher', ID => POE::Session->ID };



# Take Input from a TCP Socket
my $input_log_session_id = POE::Component::Server::TCP->spawn(

    # An event will post incoming messages to:
    # $poe_kernel->post( eris_dispatch => dispatch_message => $msg );
    #        or
    # $poe_kernel->post( $SESSION->{alias} => dispatch_message => $msg );
    ...

);

POE::Kernel->run();

EXPORT

POE::Component::Server::eris does not export any symbols.

FUNCTIONS

spawn

Creates the POE::Session for the eris correlator.

Parameters: ListenAddress => 'localhost', #default ListenPort => '9514', #default

INTERNAL Subroutines (Events)

debug

Controls Debugging Output to the controlling terminal

dispatcher_start

Sets the alias and creates in-memory storages

graphite_connect

Establish a connection to the graphite server

flush_stats

Send statistics to the graphite server and the debug clients

dispatch_message

Based on clients connected and their feed settings, distribute this message

server_error

Handles errors related to the PoCo::TCP::Server

register_client

Client Registration for the dispatcher

debug_client

Enables debugging for the client requesting it

nobug_client

Disables debugging for a particular client

fullfeed_client

Adds requesting client to the list of full feed clients

subscribe_client

Handle program name subscription

unsubscribe_client

Handle unsubscribe requests from clients

match_client

Handle requests for string matching from clients

nomatch_client

Remove a match based feed from a client

regex_client

Handle requests for string regexes from clients

noregex_client

Remove a match based feed from a client

status_client

Send current server statistics to client

dump_client

Dump something interesting to the client

hangup_client

This handles cleaning up from a client disconnect

server_shutdown

Announce server shutdown, shut off PoCo::Server::TCP Session

client_connect

PoCo::Server::TCP Client Establishment Code

client_print

PoCo::Server::TCP Write to Client

broadcast

PoCo::Server::TCP Broadcast Messages

debug_message

Send debug message to DEBUG clients

client_input

Parse the Client Input for eris::dispatcher commands and enact those commands

client_term

PoCo::Server::TCP Client Termination

AUTHOR

Brad Lhotsky, <brad.lhotsky at gmail.com>

BUGS

Please report any bugs or feature requests to bug-poe-component-server-eris at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=POE-Component-Server-eris. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc POE::Component::Server::eris

You can also look for information at:

ACKNOWLEDGEMENTS

  • Mattia Barbon

AUTHOR

Brad Lhotsky brad.lhotsky@gmail.com

COPYRIGHT AND LICENSE

This software is Copyright (c) 2011 by Brad Lhotsky.

This is free software, licensed under:

The (three-clause) BSD License
Something went wrong with that request. Please try again.