Удаленный мониторинг Nagios: NRPE Vs. SSH

8

Мы используем Nagios для мониторинга довольно многих (~ 130) серверов. Мы наблюдаем за процессором, диском, оперативной памятью и несколькими другими вещами на каждом сервере. Я всегда использовал SSH для запуска удаленных команд, просто потому, что для этого не требуется никаких дополнительных настроек на удаленном сервере, просто установите nagios-плагины, создайте пользователя nagios и добавьте ключ SSH, все из которых я автоматизировал в сценарий оболочки. Я никогда не задумывался о влиянии производительности на использование SSH поверх NRPE.

Меня не слишком беспокоит удар по нагрузке на сервер Nagios (вероятно, он слишком сильно загружен процессором, загрузка процессора никогда не превышала 10%), но мы запускаем каждую удаленную проверку каждые 30 секунд, и у каждого сервера есть 5 разных проверок. выполнила. Я предполагаю, что SSH требует больше ресурсов для каждой проверки, но есть ли огромная разница? (IE достаточно разницы, чтобы гарантировать переключение на NRPE).

Если это поможет, мы отслеживаем сочетание физических серверов (обычно с 8, 12 или 16 физическими ядрами) и средние / большие экземпляры Amazon EC2.

мазаться
источник

Ответы:

6

Я всегда полагал, что преимущество администрирования SSH (я использую push_check ) перевешивает любую дополнительную нагрузку. Современные процессоры настолько быстры, что стоимость шифрования нескольких байтов довольно минимальна, поэтому все сводится к запуску двух процессов (SSH и сценария проверки) по сравнению с одним (сценарий проверки запускается NRPE).

Для контрольных сценариев, написанных на интерпретируемом языке, я ожидал бы, что накладные расходы на запуск интерпретатора (Perl, Python, Bash) превысят стоимость процессора при запуске сеанса SSH. Учитывая современные процессоры, ваши машины, скорее всего, будут ограничены диском или памятью, а не процессором.

Если ваша машина Nagios справляется - она ​​должна устанавливать 20 соединений SSH каждую секунду - я бы ошибался из-за удобства.

Не совсем ответ на ваш вопрос, скорее аргумент, что жизнь слишком коротка, чтобы беспокоиться об этом :)

Дэн
источник
6

NRPE - это плагин nagios, его легко установить, и он будет управлять запросом проверки в файле конфигурации зонда. В nrpe есть только одна плохая вещь: вам нужно установить его на каждом сервере, который вы хотите отслеживать, на linux os это действительно просто, просто yum / apt-get install nrpe, но на сервере Windows вам нужно установить его через .exe и иногда вам нужно будет перезагрузить ваш сервер.

Я думаю, что SSH не самый оптимизированный способ использования nagios. NRPE может быть гораздо более эффективным.

Здесь в документации nagios есть это предложение:

«Использование SSH более безопасно, чем дополнение NRPE, но также накладывает большие (ЦП) издержки как на мониторинг, так и на удаленные машины. Это может стать проблемой при запуске мониторинга сотен или тысяч машин. Многие администраторы Nagios предпочитают использовать используя аддон NRPE из-за более низкой нагрузки, которую он налагает. "

есть документация. Я. PDF

Что касается меня, я использую протокол snmp, который прост в использовании и не требует установки каких-либо сторонних серверов на серверах.

Anarko_Bizounours
источник
Я изучил SNMP, но мы отслеживаем такие вещи, как статистика баз данных / приложений, которые, я не думаю, могут быть настроены для использования SNMP. Я не слишком обеспокоен безопасностью при мониторинге, SSH был выбран исключительно для того, чтобы избежать дополнительной настройки. Например, когда мы хотим добавить / изменить команду с помощью SSH, мы просто изменим конфигурацию NAGIOS, но с помощью NRPE нам потребуется добавить ее в nrpe.conf на удаленном сервере.
Размазать
это правда, nrpe немного надоедает, потому что вам нужно добавить .conf на удаленный сервер. Что касается SNMP, вы можете делать все, что захотите (если я не ошибаюсь), вы можете создать свой собственный пробник с помощью perl, а через snmp использовать ваш пробник, это проще, чем nrpe, потому что вам не нужно менять .conf на удаленном сервере и менее жадный, чем SSH. Ну а после это просто точка зрения и для чего вы будете использовать нагио. Nrpe - хороший компромисс между ssh и snmp, по крайней мере для меня. Хорошего дня.
Anarko_Bizounours
3

Помимо предложений, приведенных в других ответах, рассматривали ли вы возможность включения ControlMasterв .ssh / config файла nagios, чтобы в полной мере использовать мультиплексирование ssh ?

Другими словами, ваше SSH-соединение «останется включенным», поэтому затраты на его установление минимальны, так как это произойдет только один раз. Это по-прежнему гарантирует конфиденциальность с помощью шифрования и защитит вас от того, чтобы оставить открытые порты TCP на серверах (хотя и защищенными). Кроме того, вы можете ограничить действия пользователя через ssh, ограничив количество команд, которые он может выполнять.

lorenzog
источник
0

У меня не было ничего, кроме проблем, пытаясь скомпилировать NRPE на разных ОС. SSH работал гладко и эффективно, и его было намного проще написать.

heybails
источник
4
Это похоже на большую проблему с системами, с которыми вы работаете, чем с NRPE - я не фанат Nagios, но NRPE - довольно простой код, и у меня никогда не было проблем с его компиляцией ...
voretaq7