DEV Community

Roman Glushko
Roman Glushko

Posted on

Tango is on the scene 💃

Everybody, Tango is on the scene 💃

Alt Text

I have released a simple CLI tool to streamline access log analyzing workflow 🎉

Wondering what's inside?

https://github.com/roma-glushko/tango

Tango is designed to generate different reports to be helpful during log analyzing routine:

  • analyzing how incoming traffic affects website performance
  • investigating security incidents and their impact on the website
  • filtering/aggregating logs to get other kinds of insights from them

Currently, the following reports are available for you 🛠:

  • Custom Report: converts access logs to CSV format with the ability to filter records
  • Geo Report: collects GEO information for all IPs that accessing the website with the ability to sort by countries and continents.
  • Browser Report: groups requests by browsers/crawlers
  • Request Report: see which URLs were requested and how many times on the website
  • Pace Report: check how many requests were sent during a certain time frame by each IP

It is possible to install Tango on macOS/Linux/Windows 📦

# macOS (via Homebrew)
brew tap roma-glushko/tango
brew install roma-glushko/tango/tango

# Linux (via Snap)
sudo snap install tango

# Windows (via Scoop)
scoop bucket add tango https://github.com/roma-glushko/scoop-tango.git
scoop install tango

Finally, here are some examples of usage:

# generate the pace report
tango pace -l access-log.log -r custom.csv

# get all requests from 128.2.3.4 IP
tango --ip-filter "128.2.3.4" custom -l access-log.log -r custom.csv

# get all requests to /newsletter/subscriber/new URL
tango --keep-uri-filter "/newsletter/subscriber/new/" custom -l access-log.log -r custom.csv

# get all IPs that requested /admin URL with GEO data
tango --keep-uri-filter "/admin/" geo -l access-log.log -r custom.csv

Give it a try today and you won't be disappointed:

https://github.com/roma-glushko/tango 💃💃💃

Top comments (0)