Python Logger plugin to send logs to Rapid7 Insight
Project description
Rapid7 Insight Logger
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.
Contact Support
Please email our support team at support@rapid7.com if you need any help.
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
Built Distribution
File details
Details for the file r7insight_python-1.0.0.tar.gz
.
File metadata
- Download URL: r7insight_python-1.0.0.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.20.0 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96c0e214a3a5b09d208f10368fa48402355c65a6181bc95a618f934c139322d9 |
|
MD5 | 7c040a17dbc33d87f2f50bfd2928c852 |
|
BLAKE2b-256 | 77edb3a4f2c8e16717f0d97ca92709b0d39de0f94bec36a58dbca6d87afcec78 |
File details
Details for the file r7insight_python-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: r7insight_python-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.20.0 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9300e6466a6b79ebd0d6f4e76b7985b1fd2f4e14809d7ce5a237c964faec15ed |
|
MD5 | ea72e64bae0bd8a63896a822cd6f5041 |
|
BLAKE2b-256 | 8a004b5a21178ee0139ff0458424eba0b82935b1f93054189bc951a7eda3145e |