https://github.com/resurfaceio/insomnia-plugin
Log API calls with Insomnia
https://github.com/resurfaceio/insomnia-plugin
insomnia insomnia-plugin logger-nodejs
Last synced: about 1 month ago
JSON representation
Log API calls with Insomnia
- Host: GitHub
- URL: https://github.com/resurfaceio/insomnia-plugin
- Owner: resurfaceio
- License: apache-2.0
- Created: 2021-04-12T18:39:44.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-12-02T11:29:26.000Z (6 months ago)
- Last Synced: 2025-03-28T00:45:06.084Z (about 2 months ago)
- Topics: insomnia, insomnia-plugin, logger-nodejs
- Language: JavaScript
- Homepage:
- Size: 11.2 MB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Graylog API Security Insomnia Plugin
Easily log API requests and responses to your own security data lake.[](https://github.com/resurfaceio/insomnia-plugin/blob/master/LICENSE)
[](https://github.com/resurfaceio/insomnia-plugin/blob/master/CONTRIBUTING.md)## Requirements
- Kubernetes
- we officially support [microk8s](https://ubuntu.com/tutorials/install-a-local-kubernetes-with-microk8s), but
- if you have docker desktop, [you also have k8s](https://docs.docker.com/desktop/kubernetes/)!
- [Graylog API Security](https://resurface.io/installation) -- first node is [free](https://go2.graylog.org/api-security-free)!## Set up
- Go to *Insomnia > Preferences > Plugins*
- Type in
```
insomnia-plugin-usage-logger
```
- Click **Install Plugin**.
(Alternatively, check out the [manual installation](#manual-installation).)
- Add the [variables](#environment-variables) used by the logger to your Base Environment (or create a separate new Private/Shared environment for it).
```json
{
"USAGE_LOGGERS_URL": "http://localhost:7701/message",
"USAGE_LOGGERS_RULES": "include debug"
}
```
That's it!
## Usage
- Make sure the plugin is enabled (also, if you created a new private/shared environment make sure to select it).
- Use Insomnia as you would normally.
- Go to `http://localhost:7700` to explore all your logs using the included Graylog API Security web UI
- You can always disable the plugin if you want stop logging API calls temporarily
Happy loggin' 📝
## Environment variables
This plugin has access to four environment variables, but only one them is required for the logger to work properly.
#### ✔ All API calls are sent to the database running inside the `resurface` container
The environment variable `USAGE_LOGGERS_URL` stores this address, which by default should be the string `"http://localhost:7701/message"`
#### ✔ All API calls are filtered using a set of rules (Optional)
The environment variable `USAGE_LOGGERS_RULES` stores these [logging rules](#protecting-user-privacy) as a string. Even though this variable is optional, it is recommended to set it to `"include debug"` or `"allow_http_url"` when trying the plugin for the first time.
#### ✔ Reponse bodies are logged up to a certain size (Optional)
If you are working with large response payloads and don't want to log the whole thing, you can use the environment variable `USAGE_LOGGERS_LIMIT`. It stores an integer value corresponding to the number of bytes after which a response body will not be logged (by default, this upper limit is 1 MiB).
#### ✔ The Logger can be disabled even if the plugin is enabled (Optional)
By setting the environment variable `USAGE_LOGGERS_DISABLE` to `true` the logger will be disabled and no API calls will be logged.## Manual installation
1. Clone this repo inside:
- **MacOS**: `~/Library/Application\ Support/Insomnia/plugins/`
- **Windows**: `%APPDATA%\Insomnia\plugins\`
- **Linux**: `$XDG_CONFIG_HOME/Insomnia/plugins/ or ~/.config/Insomnia/plugins/````
git clone [email protected]:resurfaceio/insomnia-plugin.git insomnia-plugin-usage-logger
```2. Install dependencies using `npm i`
```
cd insomnia-plugin-usage-logger
npm i --omit=dev
```## Protecting User Privacy
Loggers always have an active set of rules that control what data is logged
and how sensitive data is masked. All of the examples above apply a predefined set of rules (`include debug`),
but logging rules are easily customized to meet the needs of any application.---
© 2016-2024 Graylog, Inc.