Upgrade & Secure Your Future with DevOps, SRE, DevSecOps, MLOps!

We spend hours on Instagram and YouTube and waste money on coffee and fast food, but won’t spend 30 minutes a day learning skills to boost our careers.
Master in DevOps, SRE, DevSecOps & MLOps!

Learn from Guru Rajesh Kumar and double your salary in just one year.


Get Started Now!

icinga: How to add new remote server check in icinga2 with SSH Protocol

To add a new remote server for monitoring in Icinga 2 using SSH checks, you'll need to configure SSH access between your Icinga 2 master server and the remote server, and then set up the necessary check commands to execute monitoring tasks over SSH. Here’s a detailed step-by-step guide on how to do it:

Step 1: Set Up SSH Key Authentication
Generate SSH Key on the Master Server:
If you do not already have an SSH key, generate one on your Icinga 2 master server:

ssh-keygen -t rsa -b 2048
Follow the prompts, and choose a secure location to save the key (if not using the default).
Copy the SSH Public Key to the Remote Server:
Use ssh-copy-id to copy the public key to the remote server. This enables passwordless SSH access:

ssh-copy-id -i ~/.ssh/id_rsa.pub your-username@remote-server-ip
Replace your-username with the appropriate user on the remote server that has the necessary permissions to execute monitoring plugins.

Step 2: Install Necessary Plugins on the Remote Server
Install Monitoring Plugins:
Ensure that the necessary monitoring plugins are installed on the remote server. These are typically available in the monitoring-plugins package:

sudo apt-get install monitoring-plugins

Step 3: Configure Icinga 2 for SSH Checks
Define Check Commands:
Define a new check command on the master server to perform checks over SSH. Edit your commands configuration file (e.g., /etc/icinga2/conf.d/commands.conf):

object CheckCommand "ssh-disk" {
  import "plugin-check-command"
  command = [ PluginDir + "/check_by_ssh" ]

  arguments = {
    "-H" = "$address$"
    "-C" = "$ssh_command$"
    "-l" = "$user$"
    "-i" = "$ssh_identity_file$"
  }

  vars.user = "your-username"
  vars.ssh_identity_file = "/home/your-username/.ssh/id_rsa"
  vars.ssh_command = "/usr/lib/nagios/plugins/check_disk -w 20% -c 10%"
}
Adjust vars.ssh_command with the appropriate monitoring command and thresholds.

Step 4: Configure Host and Service Objects
Add the Remote Host:
Define the remote server in your host configuration file (e.g., /etc/icinga2/conf.d/hosts.conf):

object Host "remote-server" {
  import "generic-host"
  address = "remote-server-ip"
  check_command = "hostalive"
  vars.os = "Linux"
}
Add Services Using SSH Checks:
Define a service that uses the SSH check command in your services configuration file (e.g., /etc/icinga2/conf.d/services.conf):

apply Service "ssh-disk-check" {
  import "generic-service"
  check_command = "ssh-disk"
  assign where host.name == "remote-server"
}

Step 5: Reload Icinga 2 Configuration
Check Configuration for Errors:
Before reloading the service, check the configuration for any errors:

sudo icinga2 daemon -C
Reload Icinga 2:
If there are no configuration errors, reload Icinga 2 to apply changes:

sudo systemctl reload icinga2
Step 6: Verify and Monitor
Verify Operation:
Log into Icinga Web 2 and check that the new service is reporting correctly.
Ensure that the SSH checks are returning the expected results.
By following these steps, you will successfully add a new remote server to your Icinga 2 monitoring setup using SSH checks. This method is beneficial when you cannot install the Icinga 2 agent on a remote server but still have SSH access.
Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments

Certification Courses

DevOpsSchool has introduced a series of professional certification courses designed to enhance your skills and expertise in cutting-edge technologies and methodologies. Whether you are aiming to excel in development, security, or operations, these certifications provide a comprehensive learning experience. Explore the following programs:

DevOps Certification, SRE Certification, and DevSecOps Certification by DevOpsSchool

Explore our DevOps Certification, SRE Certification, and DevSecOps Certification programs at DevOpsSchool. Gain the expertise needed to excel in your career with hands-on training and globally recognized certifications.

0
Would love your thoughts, please comment.x
()
x