POE::Component::Server::eris - POE eris message dispatcher
version 2.6
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( Alias => 'eris_dispatch', #optional ListenAddress => 'localhost', #default ListenPort => '9514', #default GraphiteHost => undef, #default GraphitePort => 2003, #default GraphitePrefix => 'eris.dispatcher', #default MaxLineLength => 16384, #default ); # $SESSION = { alias => 'eris_dispatch', 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();
Creates the POE::Session for the eris message dispatcher.
Parameters:
Defaults to localhost.
localhost
Defaults to 9514, this is the port that clients can connect to request subscriptions from the service.
9514
Defaults to 2003, this is the port to submit graphite metrics from the daemon.
2003
Defaults to eris.dispatcher, all generated metrics will use this prefix.
eris.dispatcher
This parameter is required to enable the graphite output. Without it, metrics will not be sent anywhere.
Defaults to 16384, this does not truncate log lines, but anytime a line exceeds this length the line will immediately be flushed from the buffer.
16384
This only affects multi-line logging as multi-line logs longer than this setting will be split up into more than one message.
Controls Debugging Output to the controlling terminal
Sets the alias and creates in-memory storages
Establish a connection to the graphite server
Send statistics to the graphite server and the debug clients
Based on clients connected and their feed settings, distribute this message
Splits multiple messages by line feeds into many messages.
Handles errors related to the PoCo::TCP::Server
Client Registration for the dispatcher
Enables debugging for the client requesting it
Disables debugging for a particular client
Adds requesting client to the list of full feed clients
Disables the full feed from the requesting client.
Handle program name subscription
Handle unsubscribe requests from clients
Handle requests for string matching from clients
Flushes the outstanding buffer to the client.
Remove a match based feed from a client
Handle requests for string regexes from clients
Send current server statistics to client
Dump something interesting to the client
This handles cleaning up from a client disconnect
Announce server shutdown, shut off PoCo::Server::TCP Session
PoCo::Server::TCP Client Establishment Code
PoCo::Server::TCP Write to Client
PoCo::Server::TCP Broadcast Messages
Send debug message to DEBUG clients
Parse the Client Input for eris::dispatcher commands and enact those commands
Display the help message
PoCo::Server::TCP Client Termination
Brad Lhotsky <brad@divisionbyzero.net>
The following websites have more information about this module, and may be of help to you. As always, in addition to those websites please use your favorite search engine to discover more resources.
MetaCPAN
A modern, open-source CPAN search engine, useful to view POD in HTML format.
https://metacpan.org/release/POE-Component-Server-eris
CPAN Testers
The CPAN Testers is a network of smoke testers who run automated tests on uploaded CPAN distributions.
http://www.cpantesters.org/distro/P/POE-Component-Server-eris
CPAN Testers Matrix
The CPAN Testers Matrix is a website that provides a visual overview of the test results for a distribution on various Perls/platforms.
http://matrix.cpantesters.org/?dist=POE-Component-Server-eris
This module uses the GitHub Issue Tracker: https://github.com/reyjrar/POE-Component-Server-eris/issues
This module's source code is available by visiting: https://github.com/reyjrar/POE-Component-Server-eris
This software is Copyright (c) 2017 by Brad Lhotsky.
This is free software, licensed under:
The (three-clause) BSD License
To install POE::Component::Server::eris, copy and paste the appropriate command in to your terminal.
cpanm
cpanm POE::Component::Server::eris
CPAN shell
perl -MCPAN -e shell install POE::Component::Server::eris
For more information on module installation, please visit the detailed CPAN module installation guide.