How To Add Remote Linux Machines into Icinga 2 Server

Setup Icinga 2 Client

Setup Icinga 2 repository on the client machines.

### CentOS 7 ###

yum install epel-release
rpm --import
yum install

### RHEL 7 ###

subscription-manager repos --enable rhel-7-server-optional-rpms
subscription-manager repos --enable rhel-7-server-extras-rpms
rpm -ivh
rpm --import
yum install

### CentOS 6 ###

yum install epel-release
yum install

### RHEL 6 ###

subscription-manager repos --enable rhel-6-server-optional-rpms
subscription-manager repos --enable rhel-server-rhscl-6-rpms
rpm -ivh
yum install

### Ubuntu 18.04 / Ubuntu 16.04 ###

sudo su -
wget -O - | apt-key add -
echo "deb icinga-$(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/icinga2.list
echo "deb-src icinga-$(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/icinga2.list

### Debian 9 / Debian 8 ###

sudo su -
wget -O - | apt-key add -
echo "deb icinga-$(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/icinga2.list
echo "deb-src icinga-$(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/icinga2.list

### Fedora 28 ###

dnf install

### Fedora 27 ###

dnf install

### openSUSE ###

rpm --import
zypper ar
zypper ref

Install the Icinga 2 package and monitoring (Nagios) plugins on your client machines.

### CentOS 7 / RHEL 7 ###

yum install icinga2
systemctl enable icinga2
systemctl start icinga2
yum install -y nagios-plugins-all

### CentOS 6 / RHEL 6 ###

yum install icinga2
chkconfig icinga2 on
service icinga2 start
yum install -y nagios-plugins-all

### Ubuntu / Debian ###

apt-get update
apt-get install -y icinga2
apt-get install -y monitoring-plugins

### Fedora 28 / Fedora 27 ###

dnf install -y icinga2
systemctl enable icinga2
systemctl start icinga2
dnf install -y nagios-plugins-all

### openSUSE ###

zypper install icinga2
zypper install monitoring-plugins

Generate a Ticket (on Master node)

When you run an Icinga 2 node wizard on client machines, the wizard sends a certificate signing request to master node. To auto sign a request, the master node requires a valid ticket from clients.

You must generate the ticket beforehand. Run the following command to generate the ticket for the client “centos.itzgeek.local“.

icinga2 pki ticket --cn 'centos.itzgeek.local'



Icinga Node Setup (On Client Node)

Run the Icinga Node Wizard on the client machine.

icinga2 node wizard


Welcome to the Icinga 2 Setup Wizard!

We will guide you through all required configuration details.

Please specify if this is a satellite/client setup ('n' installs a master setup) [Y/n]: Y << Setup Client

Starting the Client/Satellite setup routine...

Please specify the common name (CN) [centos.itzgeek.local]: << Press Enter

Please specify the parent endpoint(s) (master or satellite) where this node should connect to:
Master/Satellite Common Name (CN from your master/satellite node): server.itzgeek.local << Enter Master Node Name

Do you want to establish a connection to the parent node from this node? [Y/n]: Y << Press Y to accept connections
Please specify the master/satellite connection information:
Master/Satellite endpoint host (IP address or FQDN): << Enter Master Node IP or Hostname
Master/Satellite endpoint port [5665]: << Press Enter

Add more master/satellite endpoints? [y/N]: N << Press N as we have only one master
Parent certificate information:

 Subject:     CN = server.itzgeek.local
 Issuer:      CN = Icinga CA
 Valid From:  Sep  23 15:21:27 2018 GMT
 Valid Until: Aug 30 15:21:27 2033 GMT
 Fingerprint: D7 DC 2D 3A 0C A0 B5 01 FD FC 43 C4 00 B5 ED D0 32 01 E1 AC

Is this information correct? [y/N]: Y << Press Y if the above certificacte details are correct

Please specify the request ticket generated on your Icinga 2 master (optional).
 (Hint: # icinga2 pki ticket --cn 'centos.itzgeek.local'): 1a355c8e1afd6c2e7c6beb6ed803680a03aef7a7 << Copy/Paste the ticket from Master node
Please specify the API bind host/port (optional): << Press Enter
Bind Host []: << Press Enter
Bind Port []: << Press Enter

Accept config from parent node? [y/N]: Y << Press Y to accept configuration
Accept commands from parent node? [y/N]: Y << Press Y to accept commands

Reconfiguring Icinga...
Disabling feature notification. Make sure to restart Icinga 2 for these changes to take effect.
Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect.

Local zone name [centos.itzgeek.local]: << Press Enter
Parent zone name [master]: << Press Enter

Default global zones: global-templates director-global
Do you want to specify additional global zones? [y/N]: N << Press N

Do you want to disable the inclusion of the conf.d directory [Y/n]: Y << Press Y to disable conf.d directory
Disabling the inclusion of the conf.d directory...


Now restart your Icinga 2 daemon to finish the installation!

Wizard does the following,

  1. Fetches the public certificate from the master
  2. Client requests for a certificate from the master with the valid ticket.

Verify the configurations files.

cat /etc/icinga2/zones.conf

Make sure your client node configurations should be like below. Update the zones.conf, if required.

 * Generated by Icinga 2 node setup commands
 * on 2018-09-23 11:25:39 +0530

object Endpoint "server.itzgeek.local" {
        host = ""
        port = "5665"

object Zone "master" {
        endpoints = [ "server.itzgeek.local" ]

object Endpoint "centos.itzgeek.local" {

object Zone "centos.itzgeek.local" {
        endpoints = [ "centos.itzgeek.local" ]
        parent = "master"

Restart the Icinga 2 on the client machine.

### For Systemd Systems ###

systemctl restart icinga2

### For SysVinit Systems ###

service icinga2 restart
centos 6centos 7debian 8debian 9icingaicinga 2monitoring-toolsubuntu 16.04ubuntu 18.04
Comments (4)
Add Comment
  • fidel

    Do you have any idea why I can not list:

    [root@antlet60 ~]# icinga2 node list
    icinga2 – The Icinga 2 network monitoring daemon (version: r2.8.0-1)

    icinga2 []

    Supported commands:
    * node setup (set up node)
    * node wizard (wizard for node setup)

    Global options:
    -h [ –help ] show this help message
    -V [ –version ] show version information
    –color use VT100 color codes even when stdout is not a
    -D [ –define ] arg define a constant
    -a [ –app ] arg application library name (default: icinga)
    -l [ –library ] arg load a library
    -I [ –include ] arg add include search directory
    -x [ –log-level ] arg specify the log level for the console log.
    The valid value is either debug, notice,
    information (default), warning, or critical
    -X [ –script-debugger ] whether to enable the script debugger

    Report bugs at
    Icinga home page:
    [root@antlet60 ~]#

    • ITzGeek Web

      Hello Fidel,

      Both “node list” and “node update-config” have been depreciated. We will update the tutorial.


      • Hans

        I’m having the same issues here using version 2.8.1-1. hope you update this post soon. Thank you in advance.

        • ITzGeek Web

          The updated document is almost ready, will be released in a week