loading...
Cover image for Poor Man's Tools that are actually awesome! 💪

Poor Man's Tools that are actually awesome! 💪

keyboardinterrupt profile image KeyboardInterrupt ・3 min read

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.)

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 ;)

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:

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!

PS: For real VPN, check out Wireguard! 💚

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

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.

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!

Posted on by:

keyboardinterrupt profile

KeyboardInterrupt

@keyboardinterrupt

Living by the Zen of Python. 🐍 `import this`

Discussion

markdown guide
 

Hi 👋, This is my debut Post to DEV, Thank you for taking the Time to Read through it!
I really hope you got something out of it!

If you got any Feedback, please let me know :)

Greetings.
KeyboardInterrupt

 

Congrats on your first of what I hope is many more posts!

I’ve love these types posts. Every so often I find a gem (in this case lnav)!

 

Thank you very much, and yes. lnav really was a big one for me as well, when I discovered it.

I plan to write a whole Post about it some time in the future.

 

Hi, I'm the author of lnav, thanks for the mention! If you have any thoughts on how to improve it (or bugs to fix), please file GitHub issues. I don't have much time to do stuff these days, but it would be good to have them logged for the future.

 

lnav looks great and will possibly join my toolset!

 

Hi, thank you for writing/maintaining lnav.
It is truly an amazing tool!

I have nothing major to complain about, if I encounter any tangible, reproducible bugs, I will gladly report them via GH.

 

I highly recommend these:

generic colourizer

bat (cat/less replacement)

fzf

 

Nice, thank you.
I did not know about grc Bringing color into the terminal to better highlight deviations is really helpful, I will probably set up a few Aliases now ;)
I already knew about bat, which is indeed another cool colorful helper i use from time to time.
Instead of fzf I used peco in the past, do you know of peco? If so, could you point out differences that make choosing fzf instead worthwhile?

 

I did not know about peco. I will definitely check it out. Grc comes with bash and zsh profiles in /etc you just include it in your ~/. {Shell} rc and you should be up and running.

 
 

I've heard about it but for some reason I'm not using it.
The best tools for me are the ones that are invisible. I copy over my .bashrc and .zshrc with all the aliases around so every time I work I get the benefit of enhanced productivity and output by default.

 
 

Lnav and sshuttle look like quick to use tools, but netdata requires me to integrate with it in my app, correct? How much set up did you need before netdata was useful? I'm looking for something easy and self host like this, it might be what I need.

 

No setup/configuration at all, but I am mostly using it as a real time debugging/metrics/dashboard.

I usually use the Alternate method of installation, Docker, this makes Installation and tear down really easy!.

When I am permanently installing Netdata this way, I bind it to localhost, or only on an internal docker network, and use a proxy for authentication and SSL Offloading.

Check out:
learn.netdata.cloud/docs/agent/pac...

 
 

Thanks a lot for sharing this 😊

 

You are welcome! 🙇

 

Netdata looks great, definitely need to test that!

 

Oh cool! This is the first I've heard of Netdata. I fiddled it with a bit after reading this post; looks like a cool tool!