Newbie Question: What architecture to choose for a small home network

I am just starting out using icinga2 and am a bit overwhelmed by the many choices icinga2 gives me.
I first want to start out monitoring my home network with about 20-50 “hosts” and various other devices (like phones, IoT etc). Most of the stuff I want to monitor are current Linux distributions.

Is there some sort of tutorial “here are 5 hosts, this is how you monitor them”? While the Icinga2 docs are really good and detailed, they have a huge learning curve, and are obviously aimed more at the larger enterprise deployments. If there was some sort of “get started on a small network” docs, this would be hugely helpful, even if a simpler setup makes compromises that do not scale up to thousands of hosts.

What I am currently struggling with is: I followed the installation instructions at
https://icinga.com/docs/icinga-2/latest/doc/02-installation/01-Debian/
and got a working setup that showed the node itself in icingaweb

Then I wanted to add another host (a raspberry pi with Debian that is reachable by ssh or alternatively can run a icinga2 package itself). I first wanted to try to add the host by adding it in hosts.conf (as some examples show) and it worked just fine:


object Host "Pi" {

  import "generic-host"
  
  address = "10.0.17.1"
  check_command = "hostalive"
  vars.os = "Linux"
}

Then I wanted to add some checks of e.g. disks or mem on my host “Pi” that cannot be done without running an agent or logging in by ssh or other way of getting information from the “inside” of that host.

I found “Distributed Monitoring” in the docs, and am not quite sure if I understand the intended architecture of icinga2 here fully (and this is the reason why I am writing this long-winded post):

https://icinga.com/docs/icinga-2/latest/doc/06-distributed-monitoring/

Is it the “right way”/suggested way to run agents on all monitored hosts (or something else)? E.g. should I install an agent on above raspberry pi? I once used a nagios setup and all checks where done via ssh, i.e. no agents were running on most hosts.

I tried doing that, and installed/created certificates on the master, installed the agent node by installing icinga2 packages on my pi, and then running icinga2 node wizard which seemed to work just fine, only (is that a mistake of mine?) config.d was no longer read on master, and all the stuff that came by default and my external check was gone too.Therefore I wanted to ask if going down that road (distributed monitoring with agents everywhere) is really what I should be doing.

Please apologize my probably very incoherent rant, but “getting” all the concepts of icinga2 all at once is not easy if you start out.

first I would install some kind of management tool like icinga director.
there is the next learning curve :slight_smile:

after you are familiar with the concept of services / hosts / service templates / hosttemplates and commands you can start with connecting the other machines by installing icinga2 and configure it as a icinga node.