pyloggr.main.agent

Local syslog agent

class Publications(syslog_agent_config, publication_queue, published_messages_queue, failed_messages_queue, syslog_server_is_available)[source]

Bases: threading.Thread

The Publications thread handles the connection to the remote syslog server to publish the messages

class RetrieveMessagesFromLMDB(lmdb_db_name, publication_queue, published_messages_queue, failed_messages_queue, syslog_server_is_available, pause)[source]

Bases: threading.Thread

The RetrieveMessagesFromLMDB thread gets messages from LMDB and pushes them to the Publications thread, via a queue

class StoreMessagesInLMDB(received_messages_queue, lmdb_db_name)[source]

Bases: threading.Thread

The StoreMessagesInLMDB thread gets messages from the TCP, UDP and unix sockets, via a queue, and pushes them to LMDB

class SyslogAgent(syslog_agent_config)[source]

Bases: pyloggr.syslog.server.BaseSyslogServer

Syslog agent

SyslogServer listens for syslog messages (RELP, RELP/TLS, TCP, TCP/TLS, Unix socket) and sends messages to a remote TCP/Syslog or RELP server.

_start_syslog()[source]

Start to listen for syslog clients

Note

Tornado coroutine

_stop_syslog()[source]

Stop listening for syslog connections

Note

Tornado coroutine

handle_data(data, sockname, peername)[source]

Handle UDP connections

handle_stream(*args, **kwargs)[source]

Handle TCP and RELP clients

launch()[source]

Starts the agent

Note

Tornado coroutine

shutdown(*args, **kwargs)[source]

Authoritarian shutdown

stop_all()[source]

Stops completely the server. Stop listening for syslog clients. Close connection to remote server.

Note

Tornado coroutine

class SyslogAgentClient(stream, address, syslog_parameters, received_messages)[source]

Bases: pyloggr.syslog.server.BaseSyslogClientConnection

Handles TCP connections

_process_event(bytes_event, protocol, relp_event_id=None)[source]

Handle TCP and RELP connections