Skip to main content

Python Logger plugin to send logs to Rapid7 Insight

Project description

This is a plugin library to enable logging to Rapid7 Insight from the Python Logger. Additionally this plugin allows the user to get an overview of methods being executed, their execution time, as well as CPU and Memory statistics. More info at https://www.rapid7.com/solutions/it-operations/. Note that this plugin is asynchronous.

Setup

To use this library, you must first create an account on Rapid7 Insight. This will only take a few moments.

Install

To install this library, use the following command:

pip install r7insight_python

Usage

#!/usr/bin/env python

import logging
from r7insight import R7InsightHandler


log = logging.getLogger('r7insight')
log.setLevel(logging.INFO)
test = R7InsightHandler(TOKEN, REGION)

log.addHandler(test)

log.warn("Warning message")
log.info("Info message")

sleep(10)

Usage with metric functionality

import time
import logging
from r7insight import R7InsightHandler, metrics


TEST = metrics.Metric(TOKEN, REGION)

@TEST.metric()
def function_one(t):
    """A dummy function that takes some time."""
    time.sleep(t)

if __name__ == '__main__':
        function_one(1)

Metric.Time()

This decorator function is used to log the execution time of given function. In the above example @TEST.time() will wrap function_one and send log message containing the name and execution time of this function.

Configure

The parameter TOKEN needs to be filled in to point to a file in your Insight account.

The parameter REGION needs to be filled with the region your log is located in. i.e: ‘eu’, ‘us’

In your R7Insight account, create a logfile, selecting Token TCP as the source_type. This will print a Token UUID. This is the value to use for TOKEN.

The appender will attempt to send your log data over TLS over port 443. You can also choose to not use TLS, in which case it will be sent over port 80. If the allow_plaintext_fallback option in the constructor is set to True, then the library will automatically fall back to an insecure connection on port 80 if TLS is not supported on the host system.

You are now ready to start logging.

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

r7insight_python-1.0.1.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

r7insight_python-1.0.1-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file r7insight_python-1.0.1.tar.gz.

File metadata

  • Download URL: r7insight_python-1.0.1.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for r7insight_python-1.0.1.tar.gz
Algorithm Hash digest
SHA256 49912afa4f1f1a686bae42503ea8ea041c175c771529610717f516ddad067dbf
MD5 a36287d6235fb31075739f270dfa0c1c
BLAKE2b-256 3a0ec84406dc581b421db41d82cfc40b9b8f128c01060fb9918a3cd1ea530a05

See more details on using hashes here.

File details

Details for the file r7insight_python-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for r7insight_python-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d97ef2967c2f5fe5cf385b12d35fd7531b04dff64272fed4cdb11e106359c366
MD5 57c1c2505a44779168b8e4f0d7267d0c
BLAKE2b-256 c7cd7ca25b79905b3f0af1e4edbed4763984a4393a0ee0006123e2c9464fdc05

See more details on using hashes here.

Supported by

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