BSDCan2019 - 1.8

BSDCan 2019
The Technical BSD Conference

Speakers
Benedict Reuschling
Schedule
Day Tutorials #2 - 16 May - 2019-05-16
Room DMS 1120
Start time 13:00
Duration 03:00
Info
ID 1044
Event type Workshop
Track Tutorial
Feedback

System and Service Monitoring with Icinga and OpenSSH

System administrators need to know what is going on in their growing machine park. It is their job to ensure that systems and services are available, provide the services they were set up to, and don't run into unforeseen problems. The topic of monitoring can be complex and may be a daunting task for new and seasoned sysadmins alike.

In this tutorial, I will show how to set up and run the Icinga2 monitoring system using OpenSSH to connect to the remote machines in a secure way. This tutorial is divided into two parts: In prt one, we'll start by introducing basic monitoring concepts (what needs to be monitored), the system requirements for the central monitoring server, how to set up the Icinga2 software, and run the Icingaweb2 web UI. In the second part (after the break), we'll dive into Icinga2's configuration files, set up basic checks for systems, introduce plugins, and how to monitor systems using OpenSSH. We'll also see how services can be automatically restarted if monitoring detects a failure.

Icinga2 features a modern web UI and core, rewritten from scratch. It can leverage and use all available Nagios plugins. Tutorial attendees do not need any knowledge about Nagios to follow it. People who want to set up their first monitoring system, switchers from Nagios, or folks who are simply interested in the topic are welcome to attend. The reason for this tutorial is to give system administrators a tool to get an overview over their growing system landscape and detect errors and imminent failures early enough to react. The configuration syntax for Icinga might seem complex for beginners (it certainly was for me when I started out). After taking a training, I want to share with other people what I learned and where the pitfalls are when starting out with the configuration.

The tutorial is structured in two parts:

  • Introduction to Icinga
  • What is systems monitoring?
  • Installing Icinga2
  • Database setup
  • Webserver Configuration
  • Icingaweb2 setup

break

  • Introduction to Monitoring Objects
  • Config file syntax
  • Passive vs. active checks
  • Monitoring Systems via OpenSSH
  • Automatically restarting failed services
  • Outlook and what to do from here

The reason we're focusing on OpenSSH for the monitoring is that it provides a secure transport for the monitoring data, is widely used (and thus familiar to sysadmins) and is fairly easy to configure in Icinga2. After this tutorial is over, attendees have their first little monitoring system running (using PostgresQL and Nginx) and will be able to monitor systems using passive and active checks. All configuration files and tutorial material will be provided to the attendees during and after the tutorial. The tutorial is fairly OS dependent, although I will (briefly) show a few BSD specific things like monitoring for outdated ports/packages. I'll touch on other concepts like alerting, downtimes, and notifications, but the main part is about the monitoring and not the UI.