Добро пожаловать в наше руководство по мониторингу Linux-хостов с помощью плагина Nagios check_by_ssh.
Это позволяет Nagios Server отслеживать системные показатели и службы на удаленном сервере Linux с помощью SSH.
Мы рассмотрели различные руководства по мониторингу Nagios в наших предыдущих статьях;
- ?️ Установка и настройка Nagios 4 на RHEL / CentOS 8
- Nagios SNMP-мониторинг хостов Linux на AlienVault USM / OSSIM
- Как отслеживать хосты с помощью Nagios NRPE на Debian 9
- Nagios Ubuntu установка
- ? Как настроить версию 2c SNMP в Debian 9
- Как управлять и контролировать сеть с помощью Observium в LinuxКак установить и настроить AlienVault SIEM (OSSIM)
- Инструменты контроля и мониторинга серверов в Linux
Мониторинг хостов Linux с помощью плагина Nagios check_by_ssh
Чтобы отслеживать узлы Linux с помощью плагина Nagios check_by_ssh, необходимо выполнить несколько предварительных условий.
- Создайте пользователя Nagios для мониторинга на хосте, который нужно отслеживать.
- Настройте SSH-аутентификацию без пароля в качестве пользователя nagios на хосте для мониторинга.
- Установите плагины Nagios на хост для мониторинга.
Создание пользователя Nagios
Войдите на хост, чтобы отслеживать и создать пользователя с именем nagios и установить пароль для входа.
useradd -m nagios passwd nagios
В качестве меры безопасности отключите вход в систему с паролем для пользователя nagios, поскольку вход будет осуществляться с использованием ключей SSH.
vim /etc/ssh/sshd_config
Добавьте строку ниже в конец файла конфигурации SSHd.
Match User nagios PasswordAuthentication no
Перезагрузите SSH
systemctl reload ssh
Вы можете узнать больше об отключении аутентификации по паролю SSH для определенных пользователей в нашем предыдущем руководстве.
?????? Как разрешить / запретить определенным пользователям вход через SSH в Ubuntu 18.04
SSH Аутентификация с открытым ключом
Чтобы прочитать показатели удаленной системы или запустить сценарии мониторинга, сервер мониторинга должен войти в систему на целевом хосте, используя созданного выше пользователя nagios.
Следовательно, вам нужно настроить аутентификацию без пароля с использованием ключей SSH.
Хотите узнать больше о настройке SSH?
Проверьте наши статьи, перейдя по ссылкам ниже;
- Генерируем SSH ключи
- ? Как настроить двухфакторную аутентификацию для SSH в Fedora
- Настройка SSH для упрощения вашей жизни
- Как легко настроить SSH в Linux с EasySSH
- Как защитить ssh в CentOS / RHEL / Fedora
Генерация ключей SSH
Запустите команду ниже, чтобы сгенерировать ключи SSH на сервере мониторинга, в моем случае это AlienVault OSSIM.
Когда будет предложено ввести пароль, нажмите клавишу ввода, чтобы оставить пароль пустым.
ssh-keygen
Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/nagios Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/nagios. Your public key has been saved in /root/.ssh/nagios.pub. The key fingerprint is: b3:7d:b2:26:8b:1e:84:c1:20:a8:53:1b:ab:32:20:ce root@alienvault The key's randomart image is: +---[RSA 2048]----+ |o . | |..oo | |.. +o | |= o o | |=o . . S | |+E . + | |.. . . o . | | o. .+ | | .o .+. | +-----------------+
Обратите внимание, что я сохранил ключи SSH для подключения к nagios в файле /root/.ssh/nagios вместо файла по умолчанию /root/.ssh/id_rsa.
В результате вам нужно указать SSH, где найти файл ключа идентификации для пользователя nagios на целевом хосте.
Это можно сделать, создав файл конфигурации идентификации в /etc/ssh/ ssh_config или .ssh/config в домашнем каталоге пользователя.
vim /root/.ssh/config
Добавьте строки ниже;
Host 192.168.43.176 # Ip address of the remote host IdentityFile /root/.ssh/nagios # SSH key file
Скопируйте открытый ключ SSH пользователю nagios на целевом хосте.
ssh-copy-id -i /root/.ssh/nagios nagios@192.168.43.176
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys nagios@192.168.43.176's password: Nagios User Password on Remote Host Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'nagios@192.168.43.176'" and check to make sure that only the key(s) you wanted were added.
Чтобы убедиться, что вам не нужно запрашивать пароль при входе в систему как nagios, попробуйте войти.
ssh 'nagios@192.168.43.176'
Вы также можете отключить переадресацию агентов, переадресацию портов или распределение tty для соединений от хоста мониторинга к пользователю nagios.
Это можно сделать, указав следующие параметры в файле authorized_keys для пользователя nagios непосредственно перед ключевым словом ssh-rsa в ключе SSH.
from "192.168.43.200",no-pty,no-agent-forwarding,no-port-forwarding
vim /home/nagios/.ssh/authorized_keys
from "192.168.43.200",no-pty,no-agent-forwarding,no-port-forwarding ssh-rsa AAAAB
Тестирование мониторинга с check_by_ssh
Большинство настроек выполнено, и ваш удаленный сервер готов к мониторингу с помощью команды check_by_ssh.
В качестве примера попробуйте запросить время работы системы.
/usr/lib/nagios/plugins/check_by_ssh -H 192.168.43.176 -C "uptime" -l nagios 16:00:46 up 2:13, 3 users, load average: 0.07, 0.06, 0.01
Установите плагины Nagios
Чтобы использовать скрипты мониторинга Nagios на целевом хосте, установите плагины nagios.
Если вы работаете в системе Ubuntu, установите плагины, выполнив команду ниже;
apt install nagios-plugins
Это устанавливает скрипты мониторинга в /usr/lib/nagios/plugins/.