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:
-
ListenAddress
Defaults to
localhost
. -
ListenPort
Defaults to
9514
, this is the port that clients can connect to request subscriptions from the service. -
GraphitePort
Defaults to
2003
, this is the port to submit graphite metrics from the daemon. -
GraphitePrefix
Defaults to
eris.dispatcher
, all generated metrics will use this prefix. -
GraphiteHost
This parameter is required to enable the graphite output. Without it, metrics will not be sent anywhere.
-
MaxLineLength
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.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
Remove a match based feed from a client
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
- Mattia Barbon
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.
-
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