Poor Man's Tools that are actually awesome! 💪
Tags: linux, productivity, bash, docker
Published: 2020-08-26 20:21:28

These are 3 of the more outstanding Linux (and MAC) Tools which I use on a regular basis.

I can highly recommend all of them, they made my live a lot easier! :)

## `lnav` - Poor Man's ELK Stack

![lnav on an auth.log (yes ssh is on port 22 on this system.)](https://dev-to-uploads.s3.amazonaws.com/i/gq38aqzp5nvgki625icg.png)

If you regularly have to deal with Log files I highly recommend checking out `lnav `. `lnav` is so freaking cool that I probably will have to Write a whole article about it eventually, but trust me on this, if you are on Linux or Mac and have to deal with log files. Check out `lnav`.

Just a quick overview of some of the things lnav can do:

- Automatically detects log Formats, merges multiple log files into a single view and decompresses GZIP'ed and BZIP2'ed files on the fly
- Syntax Highlighting!
- **Filter** Log files via regular Expressions! (press `:` to get a command palette)
- The **Timeline View** shows a histogram of Messages over time. (By pressing `i`)
- XML and JSON in log messages can be pretty Viewed. (by pressing `SHIFT + P`)
- Use `SQL` to Query Logs! (srsly!)
- VIM Key Bindings
- Easy Log Navigation

And so on! This is just the tip of the iceberg! Give lnav a try it's a poor man's ELK ;) 

- https://lnav.org/
- https://lnav.readthedocs.io/en/latest/
- https://lnav.readthedocs.io/en/latest/hotkeys.html

## `sshuttle` - Poor Man's VPN

Sometimes you want to test a service, or access hosts that are running in a different Network which is only accessible via a Jump/Bastion Host, or maybe you are constantly adding more and more Ports to your SSH Port Forwarding configuration. What you really would like to have is VPN access into said Network to gain unhindered access to all the systems in it.

That is where `sshuttle` comes into play, given that you have a SSH Jump/Bastion host, that is able to access all the Network Resources you want direct access to, you can just run the following command on your System:

```bash
sshuttle -r username@jumphost <target_subnet>
```
And voila! All traffic for `<target_subnet>` will be tunneled/routed through the Jumphost `sshuttle`. To tear down the tunnel, simply close `sshuttle` and your routing is back to normal!

`sshuttle` comes with a few limitations which makes it "only" a poor man's vpn, but it is a really useful Tool for a lot of situations! Check it out!

- https://github.com/sshuttle/sshuttle
- https://sshuttle.readthedocs.io/en/stable/

*PS: For real VPN, [check out Wireguard!](https://www.wireguard.com/) 💚*

## `netdata` - Poor Man's Metrics / Monitoring and "top" on Steroids!

Netdata is a Web based and lightweight Metrics and Monitoring Solution, It is a great Tool to get Metrics and Graphs of your Systems NOW, e.G. in a situation where your traditional monitoring does either not provide the right Metrics or is to slow.
Netdata, unlike more traditional Monitoring Solutions, which do a poll for metrics only ever so often, is best compared to "top" but on steroids! 💪 and in beautiful ✨.

![Netdata Demo GIF from Github](https://user-images.githubusercontent.com/1153921/80827388-b9fee100-8b98-11ea-8f60-0d7824667cd3.gif)

Netdata Is not a long term Monitoring solution, in its default configuration no more than a few Hours of Metrics are stored, But it is a really great Tool to either find out which metrics you actually would like to monitor and for debugging of acute problems. In this regard, it is a poor man's Monitoring.

- https://learn.netdata.cloud/#installation
- https://learn.netdata.cloud/docs/agent/demo-sites
- https://learn.netdata.cloud/docs/agent/packaging/docker

That's it for now. I hope That you got something out of this List, and that I was able to introduce you to a Tool that will make your live easier!

**Do you know of any Tools that are awesome in similar ways?** They don't have to be a Poor Man's Version of something, Leave a comment, and let me know! I am always on the look out for Tools that help me automate, and improve my work!