Skip to main content

MemoryDelaySmtpHandler will create a bundle of events in a single email and sent it after a delay.

Project description

memorydelaysmtphandler

Overview

memorydelaysmtphandler adds new handlers for the Python logging package.

Issue : SMTPHandler sends one email after each event. Multiple emails can be received in a short time.
Improvement : MemoryDelaySmtpHandler will create a bundle of events in a single email and sent it after a delay.

Features

MemoryDelayHandler class adds an auto-flush delay to logging.handlers.MemoryHandler.
MemoryDelaySmtpHandler class adds an auto-flush delay to logging.handlers.SMTPHandler.

The handler is flushed when:

  • the number of events is equal to the capacity
  • the event of a certain severity occurs
  • after a first event, the delay is reached

New parameters

  • Initializes the handler with a buffer of the specified capacity. Here, capacity means the number of events records buffered.
  • A delay in seconds to automatically flush the buffer after a first event. When the delay argument is not present or None, no automatic flushed is provided.

Installation

$ python3 -m pip install memorydelaysmtphandler

Using with OpenCanary

logging.handlers.SMTPHandler sends one email after each alert. Multiple emails can be received in a short time.
MemoryDelaySmtpHandler will create a bundle of alerts in a single email and sent it after a delay.

Installation for OpenCanary

Install memorydelaysmtphandler in the OpenCanary environment.

Edit /etc/opencanaryd/opencanary.conf

Change "class": "logging.handlers.SMTPHandler"
by "class": "memorydelaysmtphandler.memorydelaysmtphandler.MemoryDelaySmtpHandler"

add these parameters:

	"capacity" : your capacity,
	"delay" : your delay

Example:

// [..] # Services configuration
    "logger": {
    "class" : "PyLogger",
    "kwargs" : {
        "handlers": {
            "SMTP": {
                "class": "memorydelaysmtphandler.memorydelaysmtphandler.MemoryDelaySmtpHandler",
                "mailhost": ["smtp.gmail.com", 587],
                "fromaddr": "noreply@yourdomain.com",
                "toaddrs" : ["youraddress@gmail.com"],
                "subject" : "OpenCanary Alert",
                "credentials" : ["youraddress", "abcdefghijklmnop"],
                "secure" : [],
                "capacity" : 128,
                "delay" : 60                
             }
         }
     }
 }

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

memorydelaysmtphandler-1.0.2.tar.gz (14.4 kB view hashes)

Uploaded Source

Built Distribution

memorydelaysmtphandler-1.0.2-py3-none-any.whl (14.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page