Of nginx’s mid cut off responses and proxy buffers

Among the services I look after, the biggest and high-profile – is the user facing website. The website is your bog-standard typical frontend(powered by Express/Angular) which fetches data via an API which is powered by the backend(built on Rails). Typical flow is that Express receives the request from the browser, makes a request to the backend…

Statutory warning: Decimals in your logrotate config can be bad for your server’s disk space

Last night as I was about to head to sleep, Sensu started emailing me about disk space warnings on one of the backend servers. That’s strange, I thought. I had set up logrotate with appropriate limits to ensure the log file size is reasonable and rotation happens on a daily basis. Curious, I ssh’d into…

Chef Zero, Cookbooks and Data Bags locations

I like chef-zero a lot. There’s so much overlap between chef’s products: chef-zero, chef-solo, chef-apply – yes, each have their own uses, but I digress. Chef-zero has been relatively pain-free for me – except when I tried to get it running – trying to figure out why it wasn’t fetching the cookbooks was so annoying!…

DevOps Diaries: When Terminator terminates your MySQL imports onto an AWS Instance…

I have begun to use Terminator quite a lot. Terminator’s quite handy when you want to connect to multiple servers on a single terminal thanks to its split pane feature. (And yes I know about tmux & screen – I have screen on my servers, don’t want to get into the headache that is nested…

Bash bashings..

Since my new job involves lot more of Linux, shell scripting bash and automation, I’ve been trying to brush up my Linux skills. Ran into this “problem” today where there’s an init script which handles unicorn start/stop/reload and we were debugging some kinks around this. The init script had a chain of cd to the…