Benjamin Cane

A Systems Architect writing about Linux Systems Administration

Picture of Benjamin Cane

Benjamin is a Systems Architect working on High and Continuous Availability systems in the financial services industry. He has been working with Linux and Unix systems for over 10 years. He is also the creator of an open source application designed to identify and automatically mitigate infrastructure and application issues. You can think of it as IFTTT meets Nagios.

In addition to this blog Benjamin has recently published a book; Red Hat Enterprise Linux Troubleshooting Guide and given a talk at SaltConf 2014 on utilizing Saltstack within highly available enterprise environments.

Latest Articles

Create self-managing servers with Masterless Saltstack Minions

Using Saltstack's Masterless Minion architecture to create self-managing infrastructure

Using Travis CI to test Docker builds

Walk-through on getting started with Travis CI and how to use Travis CI to test Docker builds

Getting started with Docker by Dockerizing this Blog

This article covers the basic concepts of Docker and how to Dockerize an application by creating a custom Dockerfile

Preventing duplicate cron job executions

This article will show both BASH code and utilities that can be used to prevent a cron job from having multiple running instances

Building Self-Healing Applications with Saltstack

This article will explore creating an application that detects errors and corrects them by integrating Saltstack's API

A Quick and Practical Reference for tcpdump

This article is a quick and practical reference for tcpdump, it covers the basics and dives a little bit into advanced usage. This article should cover everything a systems or network administrator needs to get started and troubleshoot issues quickly

Understanding Exit Codes and how to use them in bash scripts

When writing a script that calls other commands, how do you know if they were successful or not? The answer is exit codes, exit codes are important and this article describes how to use them in your scripts and understand them in general.

Removing packages and configurations with apt-get

Removing an installed package with apt-get isn't as straight forward as you would think. This article walks you through removing a package the right way to allow for re-installation later and how to fix when an install will not deploy configuration files.

Using salt-api to integrate SaltStack with other services

This article will walk you through using salt-api as an entry point for other services to call SaltStack to initiate actions within your infrastructure.

Books I've Written

Red Hat Enterprise Linux Troubleshooting Guide

In this book, you begin with simple troubleshooting best practices and get an overview of the Linux commands used for troubleshooting. The book will cover the troubleshooting methods for web applications and services such as Apache and MySQL. Then, you will learn to identify system performance bottlenecks and troubleshoot network issues; all while learning about vital troubleshooting steps such as understanding the problem statement, establishing a hypothesis, and understanding trial, error, and documentation. Next, the book will show you how to capture and analyze network traffic, use advanced system troubleshooting tools such as strace, tcpdump & dmesg, and discover common issues with system defaults.

Finally, the book will take you through a detailed root cause analysis of an unexpected reboot where you will learn to recover after an unexpected system failure.

Purchase this book