Attempting to connect master and satellite

Hello all,

I am working to set up an Icinga test space so I can have a sand boxed instance to work with. I am stuck with the master / satellite connection and intend to place at least one host connected to the satellite to report back to the master instance. Nothing is clustered or duplicated within my test space.

So far I have successfully installed Icinga on a master and satellite machine. These machines are located on separate v-lans within the same network but have no problem pinging back and fourth.

When setting up the web interface I used the following settings:

  • Database storage (mariadb)
    • Set up with 2 databases. One for users one for the IDO
    • The schema was manually imported into the IDO database using the /usr/share/icinga2-ido-mysql/schema/mysql.sql file
    • connections did validate correctly
      ido-mysql.conf
library "db_ido_mysql"

object IdoMysqlConnection "ido-mysql" {
  user = "icinaDBUsername",
  password = "PASSWORD",
  host = "localhost",
  database = "DBName"
}

I have run the node wizard on each of them one as a master install one as a satellite install. I was able to do the cert swap using the generated token on the master.

Master icinga2.conf (Default block comments removed for length)

include "constants.conf"

include "zones.conf"

include <itl>
include <plugins>
include <plugins-contrib>
include <manubulon>

include <windows-plugins>

include <nscp>

include "features-enabled/*.conf"

include_recursive "conf.d"

Satellite icinga2.conf (Default block comments removed for length)

include "constants.conf"

include "zones.conf"

include <itl>
include <plugins>
include <plugins-contrib>
include <manubulon>

include <windows-plugins>

include <nscp>

include "features-enabled/*.conf"

// Disabled by the node setup CLI command on 2019-05-31 13:27:10 -0400
// include_recursive "conf.d"

When looking in the Icinga web interface I can see the status of all of the master server’s tracked items but I can not see any statuses from the satellite.

I have tried manually editing the zones.conf to include the information as outlined in the Distributed Monitoring documentation.

Master zones.conf

/*
 * Generated by Icinga 2 node setup commands
 * on 2019-05-30 09:35:51 -0600
 */

object Endpoint "MasterFQDN" {
  host = "MasterIPAddress"
}

/*
object Endpoint "SatelliteFQDN" {
  host = "SatelliteIPAddress"
}
*/

object Zone "master" {
        endpoints = [ "MasterFQDN" ]
}

object Zone "SatZN1" {
        parent = "master"
}

object Zone "global-templates" {
        global = true
}

object Zone "director-global" {
        global = true
}

Satellite zones.conf

/*
 * Generated by Icinga 2 node setup commands
 * on 2019-05-31 13:26:52 -0400
 */

object Endpoint "MasterFQDN" {
        host = "MasterIPAddress"
        port = "5665"
}

object Endpoint "SatelliteFQDN" {
        host = "SatelliteIPAddress"
}

object Zone "master" {
        endpoints = [ "MasterFQDN" ]
}

object Zone "SatZN1" {
        endpoints = [ "SatelliteFQDN" ]
        parent = "master"
}

object Zone "global-templates" {
        global = true
}

object Zone "director-global" {
        global = true
}

Here are the details from my systems:

  • RHEL 7.6 Server (master & satellite)
  • icinga2 - ver. 2.10.5-1 (master & satellite)
  • icingaweb2 - ver. 2.6.3 (master & satellite)
  • icinga2-ido-mysql - ver. 2.10.5 (master & satellite)
  • icingacli - ver. 2.6.3 (master & satellite)
  • nagios-plugins-all - ver. 2.2.1 (master & satellite)
  • PHP - ver. 7.0.33 (master)
  • PHP - ver. 7.2.19 (satellite)
  • mariadb - ver. 5.5.60 (master & satellite)

Everything was installed using yum.

At this point I’m not sure where I misconfigured or where I missed a step in the install. Any help pointing me in the right direction is much appreciated!

Thank you.

You need to define the satellite as an endpoint in the master zones.conf file

see the example in the docs:
https://icinga.com/docs/icinga2/latest/doc/06-distributed-monitoring/#endpoints

1 Like

Perfect, thank you! I am able to see my satellite on the master client. Now on to the rest of the configuration.