Netxms установка и настройка windows

Обновлено: 30.06.2024

Существует проект NetXMS. Это программное обеспечение для мониторинга компьютерных систем и сетей. Может быть использовано для мониторинга всей IT-инфраструктуры, начиная с SNMP-совместимых устройств и, заканчивая программным обеспечением на серверах. А я, естественно, сейчас буду мониторить код этого проекта с помощью анализатора PVS-Studio.

Кратко о NetXMS

Проект NetXMS является открытым и распространяется под лицензией GNU General Public License v2. Код написан на языках Си, Си++, Java.

Проект требует целый ряд сторонних библиотек. Если честно, я поленился скачать некоторые из них и добиться сборки этого проекта. Поэтому проект был проверен мной не целиком. Впрочем, это не помешает написать заметку. Всё равно мой анализ носит поверхностный характер. Намного больше пользы принесет проверка проекта его авторами. Предлагаю разработчикам написать нам в поддержку. Я сгенерирую временный ключ для анализатора PVS-Studio, чтобы они могли выполнить более тщательную проверку.

64-битные ошибки

В статьях, описывающих проверку open-source проектов, я увлекся ошибками общего назначения. А ведь 64-битные ошибки тоже никуда не делись. Они везде и повсюду. Только писать про них не так интересно. Когда показываешь разыменовывание нулевого указателя, ошибка очевидна. Если говорить, что в 64-битной программе 32-битная переменная может переполниться, это уже не так интересно. Должны совпасть определенные условия. Приходится говорить о "потенциальных ошибках".

Одним словом, писать статьи про поиск обыкновенных ошибок проще, чем про поиск 64-битных. Но в этот раз, я не поленился и высмотрел несколько опасных мест. С них и начну.

64-битная ошибка N1

V220 Suspicious sequence of types castings: memsize -> 32-bit integer -> memsize. The value being casted: 'this'. lastvaluesview.cpp 716

Раньше в 32-битных системах, размер указателя равнялся 4 байтам. Если нужно было сохранить или передать указатель как целочисленный тип, для этого использовались типы DWORD, UINT и так далее. В 64-битных системах размер указателя увеличился до 8 байт. Чтобы хранить их в целочисленных переменных, появились типы DWORD_PTR, UINT_PTR и прочие. Интерфейсы функций претерпели соответствующие изменения. Посмотрите, как объявлена функция SortItems() в первой сточке примера.

К сожалению, в программе осталось приведение указателя к 32-битному типу DWORD. Такая программа успешно компилируется. Указатель явно приводится к 32-битному типу DWORD, а затем неявно расширяется до DWORD_PTR. А самое плохое, что такая программа чаще всего успешно функционирует.

Программа будет работать до тех пор, пока экземпляры класса CLastValuesView будут создаваться в младших четырёх гигабайтах памяти. То есть почти всегда. Но может сложиться ситуация, когда программе потребуется много памяти. Или после долгой работы произойдет фрагментация памяти. Тогда объект будет создан за пределами 4 гигабайт и ошибка проявит себя. Указатель потеряет старшие 32 бита и поведение программы станет неопределенным.

Аналогичные приведения типов находятся и в других местах:

  • mibbrowserdlg.cpp 160
  • lastvaluesview.cpp 232
  • graphdatapage.cpp 370
  • graphdatapage.cpp 330
  • graphdatapage.cpp 268
  • graphdatapage.cpp 172
  • controlpanel.cpp 126

Каждое их таких мест - коварнейший баг. Воспроизвести такие ошибки бывает очень сложно. Результат - ОЧЕНЬ РЕДКИЕ падания программы после длительного времени их работы.

64-битная ошибка N2

Следующая ошибка, скорее всего, не критична. Однако, плохо вычисленный хэш-код может привести к замедлению алгоритмов поиска.

V205 Explicit conversion of pointer type to 32-bit integer type: (unsigned long) ptr xmalloc.c 85

В комментарии автор пишет, что не уверен в качестве этой функции. И он прав. Как минимум, здесь есть ошибка в приведении указателя к типу 'unsigned long'.

Модель данных в Windows и Linux системах различается. В Linux принято использовать модель данных LP64. В ней тип 'long' является 64-битным. Таким образом, в Linux системах этот код будет работать, как и планировалось.

В Win64 размер типа 'unsigned long' имеет размер 32 бита. В результате, старшая часть указателя теряется, и хэш вычисляется менее качественно.

64-битная ошибка N3

Множество 64-битных ошибок возникает вовсе не из-за явного приведения типов. Но такие ошибки легче искать. В том числе и мне. Поэтому ещё посмотрим ещё на одно плохое приведение типа.

V114 Dangerous explicit type pointer conversion: (const time_t *) & (hdr->u.nf9.unixtime) ipfix_print.c 68

Член класса 'unixtime' объявлен так:

Тип 'time_t' объявляется следующим образом:

Если я не ошибаюсь, макрос _USE_32BIT_TIME_T нигде в проекте не объявлен. По крайней мере, я его не нашел. Это значит, что функция localtime() должна работать с временем, представленным 64-битными переменными. А здесь в функцию передаётся адрес 32-битной переменной. Это нехорошо. Функция localtime() будет работать с мусором.

Думаю, читателю теперь понятно, почему я не люблю писать про 64-битные ошибки. Уж очень они невзрачные и неубедительные. Я даже не хочу продолжать искать и приводить другие примеры. Сейчас мы перейдем к ошибкам общего назначения. И они покажутся намного ярче и опасней.

Тем не менее, 64-битные ошибки есть, и если вы заботитесь о качестве 64-битного кода, рекомендую помнить про набор диагностических правил viva64. Эти ошибки будут прятаться от вас гораздо дольше, чем обыкновенные. Чтобы испугаться, рекомендую для чтения на ночь:

Ошибки при работе с типом SOCKET

В Linux тип SOCKET объявлен как знаковая переменная. В Windows этот тип беззнаковый:

Это часто приводит к ошибкам в Windows программах.

V547 Expression 'sockfd < 0' is always false. Unsigned type value is never < 0. radius.cpp 682

Переменная 'sockfd' имеет UINT_PTR. Из этого следует, что условие 'sockfd < 0' никогда не выполняется, если программа запущена в операционной среде Windows. Программа будет безуспешно пытаться работать с сокетом, который не был открыт.

Следует не лениться и использовать специальные константы. Этот код должен выглядеть так:

Аналогичные некорректные проверки можно найти здесь:

  • ipfix.c 845
  • ipfix.c 962
  • ipfix.c 1013
  • ipfix.c 1143
  • ipfix.c 1169
  • ipfix_col.c 1404
  • ipfix_col.c 2025

Потенциальный выход за границу массива

V547 Expression 'i >= 0' is always true. Unsigned type value is always >= 0. ipfix.c 488

Переменная 'i' имеет тип size_t. Значит проверка "i>=0" не имеет смысла. Если в стоке не будет найден ноль, то функция начнёт читать память далеко за границей массива. Последствия могут быть разнообразнейшие.

Ещё одна ошибка работы с беззнаковыми типами

V547 Expression 'value >= 0' is always true. Unsigned type value is always >= 0. catalyst.cpp 71

Буферы, очищенные наполовину

Одним из распространённых паттернов ошибок является путаница с размером строк типа WCHAR. Немало примеров можно увидеть в нашей базе ошибок.

V512 A call of the 'memset' function will lead to underflow of the buffer 'commandLine'. procinfo.cpp 278

Тип TCHAR раскрывается в тип WCHAR. Количество символов в массиве 'commandLine' равно значению MAX_PATH. Размер этого массива равен 'MAX_PATH * sizeof(TCHAR). Функция 'memset' работает с байтами. Значит, правильное обнуление буфера должно быть таким:

А ещё лучше написать так:

Класс CToolBox болен тем же самым:

V512 A call of the 'memset' function will lead to underflow of the buffer 'm_szTitle'. toolbox.cpp 28

Copy-paste

В функции findIpAddress() может произойти разыменовывание нулевого указателя. А причина тому скопированная строчка.

V522 Dereferencing of the null pointer 'subnet' might take place. session.cpp 10823

Вызов функции debugPrintf() явно скопирован. Но в ветке 'else' вызов некорректен. Указатель 'subnet' равен NULL. Это значит, что "subnet->Name()" делать нельзя.

Опечатка

V578 An odd bitwise operation detected: m_flags & (0x00000002 | 0x00000002). Consider verifying it. nms_objects.h 1410

Выражение (CF_AUTO_UNBIND | CF_AUTO_UNBIND) очень странное. Скорее всего, здесь должно использоваться две разные константы.

Неожиданная оптимизация

V597 The compiler could delete the 'memset' function call, which is used to flush 'finalcount' buffer. The RtlSecureZeroMemory() function should be used to erase the private data. sha1.cpp 233

В функциях, связанных с криптографией, принято очищать временные буферы. Если этого не делать, последствия могут быть очень интересными. Например, фрагмент секретной информации может непреднамеренно быть отправлен по сети. Подробности про это можно почитать в статье "Перезаписывать память - зачем?".

Для очистки памяти часто используют функцию memset(). Это неправильно. Если массив после обнуления больше не используется, компилятор может удалить функцию memset(). Это делается с целью оптимизации. Чтобы этого не происходило, следует использовать функцию RtlSecureZeroMemory().

Использование неинициализированных переменных

Многие уверены, что неинициализированные переменные это самая неприятная и частая ошибка. По опыту анализа различных проектов, я думаю это не так. Про эту ошибку очень много говорится в книгах и статьях. В результате, все знают, что такое неинициализированные переменные, чем это грозит, как избегать таких ошибок и, как их искать. По моему ощущению, гораздо больше ошибок связано, например, с Copy-Paste. Однако, это, конечно, не значит, что неинициализированные переменные побеждены. Вот они.

V614 Potentially uninitialized variable 'nSqlRet' used. odbcsapi.cpp 220

Переменная nSqlRet инициализируется, только если мы попали в тело оператора 'if'. А вот проверяется оно потом всегда. В результате, иногда в этой переменной будет лежать случайное значение.

Не всегда инициализируются переменные и в других местах:

  • session.cpp 2112
  • session.cpp 7525
  • session.cpp 7659
  • functions.cpp 386
  • unlock.cpp 63
  • alarmbrowser.cpp 539

Указатель в начале используется, а потом проверяется на равенство нулю

Очень часто в ходе рефакторинга получается так, что проверка указателя, оказывается ниже в тексте программы, чем разыменование указателя. Здесь можно увидеть множество примеров.

Для выявления данного паттерна ошибок используется диагностика V595. Часто количество таких дефектов исчисляется в программе десятками. Однако, к чести NetXMS, я обратил внимание только на один такой фрагмент кода:

V595 The 'securityContext' pointer was utilized before it was verified against nullptr. Check lines: 1159, 1162. pdu.cpp 1159

Были и другие предупреждения V595. Но они мне показались не убедительными, чтобы приводить их в статье. Скорее всего, это просто избыточные проверки.

Ошибка использования функций с переменным количеством аргументов

Ошибки при использовании функции printf() и аналогичных ей, являются классикой. Причина в том, что функции с переменным количеством аргументов не контролируют типы передаваемых аргументов.

V576 Incorrect format. Consider checking the fourth actual argument of the 'fwprintf' function. The pointer to string of wchar_t type symbols is expected. seh.cpp 292

Макрос _ftprintf() раскрывается в функцию fwprintf(). Строка форматирования указывает, что в функцию должны передаваться строки типа 'wchar_t *'. Однако, функция ctime() возвращает строку, состоящую из символов типа 'char'.

Скорее всего, этот баг остается незамеченным, так как находится в обработчике ошибок.

Есть ещё пара ошибок этого рода:

Не учтено, что оператор 'new' генерирует исключения при нехватке памяти

Ранее оператор 'new' возвращал 'NULL', если не мог выделить память. Теперь он генерирует исключение. Во многих программах это не учтено. Не всегда это страшно, но иногда может приводить к сбоям. Рассмотрим фрагмент кода из проекта NetXMS:

V668 There is no sense in testing the 'val' pointer against null, as the memory was allocated using the 'new' operator. The exception will be generated in the case of memory allocation error. calltip.cpp 260

Раньше, если не удавалось выделить память, возвращался пустой объект 'PRectangle'. Теперь при нехватке памяти, возникнет исключение. Я не знаю, критично такое изменение поведения или нет. В любом случае, проверка указателя на равенство нулю больше не имеет смысла.

Следует или удалить проверки, или использовать оператор 'new', который не генерирует исключение и возвращает ноль:

Для проекта NetXMS анализатор PVS-Studio выдает достаточно много предупреждений V668. Поэтому не буду загромождать статью. Авторам будет проще самим проанализировать проект.

Странный цикл

V612 An unconditional 'break' within a loop. tools.cpp 280

Тело цикла выполняется не более одного раза. Наверное, ключевое слово 'break' в теле цикла является лишним.

Вместо заключения

Новых выводов из проверки проекта NetXMS я не сделал. Везде есть ошибки. Многие из них можно найти с помощью статического анализа. И чем раньше, тем лучше.


При внедрении системы мониторинга возникает большое количество проблем таких как, неполнота представления существующей физической и логической топологии сети, а также количества оконечных устройств и списка используемых сервисов, которое со временем может изменяться.

Таким образом, целью данной работы было исследование «open-source» кроссплатформенной системы управления и мониторинга сети NetXMS.

Описание системы NetXMS

NetXMS — это система мониторинга с открытым исходным кодом. Он может использоваться для мониторинга всей ИТ-инфраструктуры, начиная с оборудования, совместимого с SNMP (например, коммутаторов и маршрутизаторов) и заканчивая приложениями на серверах. Предоставляются следующие возможности NetXMS:

– Единая унифицированная платформа для управления и мониторинга всей ИТ-инфраструктуры — от сетевых коммутаторов и маршрутизаторов до приложений

– Автоматическое обнаружение сети для уровня 2 и 3 модели OSI

– Сбор данных либо через SNMP, либо через собственного агента NetXMS

– Гибкая система пороговых значений для собранных данных

– Настраиваемые действия для событий, в том числе: один или несколько аварийных сигналов для администратора, выполнение команды на сервере управления или на удаленном хосте через агента NetXMS, SMS и оповещения по электронной почте, перенаправление событий (на другой сервер NetXMS или внешнюю систему)

– Корреляции событий для уменьшения количества предупреждений и увеличения скорости разрешения проблем

– Конфигурация сбора данных на основе шаблонов для упрощенного управления большими сетями

– Шаблонные наборы действий (например, завершение или перезапуск конкретного процесса для любого ПК на базе Windows или Linux, перезагрузка для любого типа устройства и т. д.)

– Дерево зависимостей службы для сопоставления элементов инфраструктуры со службами

– Поддержка SNMP версий 1, 2c, 3

– Встроенный скриптовый движок для расширенной автоматизации и управления

– Собственные C и Java API для быстрой разработки пользовательских клиентских приложений

– Модульная структура сервера и агента (сервер или агент могут быть расширены дополнительными модулями — сторонними или собственными)

Пользовательский интерфейс NetXMS предоставляет следующие возможности:

– Удобная консоль управления Windows и Unix GUI

– Графические сетевые карты (как автоматические, так и ручные)

– Конфигурируемые информационные панели по группам пользователей (например, оператор, администратор, менеджер и т. д.)

Агент NetXMS имеет следующие возможности:

– Централизованная настройка и обновление

– Низкое использование системных ресурсов

– Режим прокси для других агентов NetXMS и устройств SNMP

Система NetXMS имеет трёхуровневую архитектуру: информация собирается агентами мониторинга (NetXMS агентами или агентами SNMP) и доставляется на сервер мониторинга для обработки и хранения. Сетевой администратор может получить доступ к собранным данным с помощью кроссплатформенной консоли управления, веб-интерфейса или консоли управления для Android. [1]


Рис. 1. Архитектура NetXMS

1) С помощью netxms-пакета.

С помощью утилиты wget выполним скачивания пакета и установим его с помощью dpkg, далее обновим список доступных для установки пакетов:

В файле sources.list добавляем источник пакетов:

Скачиваем и устанавливаем дополнительный ключ шифрования и выполняем обновление доступных пакетов:

Выполним установку NetXMS-сервера, а также драйверы для работы с базой MySQL:

Также, для выполнения данных функций можно установить веб-сервер на сервере мониторинга. Для это необходимо предварительно установить Apache Tomcat. Выполним установку при помощи нижеперечисленных команд:

Заходим в консоль управления, при входе потребуется ввести логин и пароль, во вкладке «открыть редактор конфигурации обнаружения элементов сети» указываем пул адресов для обнаружения в автоматическом режиме, выбираем активные и пассивные режимы обнаружения.


Рис. 2. Настройка автоматического обнаружения в NetXMS

Далее переходим во вкладку Настройка → Учётные записи SNMP и вводим используемые SNMP Community (в данном случае «public, tcsmietru»).


Рис. 3. Настройка SNMP в NetXMS

Описание интерфейса NetXMS


Рис. 4. Начальный экран при входе в консоль NetXMS



Также есть возможность построить существующую логическую и физическую топологию. Имеется несколько режимов расположения элементов: пружинная, круговая, горизонтальное и вертикальное дерево, пользовательское расположение.

Система мониторинга NetXMS установка на FreeBSD 9.2

netxms_itcooky_013

Обновляем порты
portsnap fetch extract && portsnap fetch update

MySQl 5.1 у нас стоит, если не стоит поставьте!
Самое время создать пользователя для базы netxms
mysql -u root -p mysql
mysql> CREATE DATABASE netxms;
mysql> GRANT ALL ON netxms.* TO netxms@localhost IDENTIFIED BY 'PasSwOrd';
mysql> exit

Доводим до вида файл настроек
vi /etc/netxmsd.conf

Редактируем файл агента
vi /etc/nxagentd.conf

Добавляем строчку, пишем сюда IP интерфейсов сервера!

Делаем папку
mkdir /var/netxms/

Создаем базу
/usr/local/bin/nxdbmgr init /usr/local/share/netxms/sql/dbinit_mysql.sql

Запускам сервер и агента
/usr/local/bin/nxagentd -d
/usr/local/bin/netxmsd -d

Создаем файл
vi /usr/local/etc/rc.d/netxmsd
туда вставляем

делаем его исполняемым
chmod +x /usr/local/etc/rc.d/netxmsd

В rc.conf
vi /etc/rc.conf
Пишем, одна страка чтобы включить в другой параметры
netxmsd_enable="YES"
netxmsd_flags="-d"

Создаем файл
vi /usr/local/etc/rc.d/nxagentd
туда вставляем

делаем его исполняемым
chmod +x /usr/local/etc/rc.d/nxagentd

В rc.conf
vi /etc/rc.conf
Пишем, одна страка чтобы включить в другой параметры
nxagentd_enable="YES"
nxagentd_flags="-d"

Для управления можно установить вебинтерейс на сервере но он работает на Java, или можно установить Management Console на ПК, но он тоже на Java на на ПК это не так страшно как на сервере (250 мегабайт лишними не бывают, да и не заработал он у меня).

Имя: admin Пароль: netxms

netxms_itcooky_002

Если все хорошо появится вот такая картинка!

Естественно ничего нет кроме правильно отражаемых интерфейсов сервера.

netxms_itcooky_003

Идем в Configuration > Network Discovery добавляем Active Discovery Targets и ставим галку на Active and Passive в General

netxms_itcooky_004

Не сразу но раздел Entire Network начнет заполнятся IP. Если нажать на IP правой мышкой и выбрать IP Neighbors то будут показаны IP из той же подсети

netxms_itcooky_005

При установке главное указать IP сервера, галочку тоже поставим может пригодится.

Нажимаем в Infra Stracture на наш сервер правой мышкой и выбираем Data Collection Configuration. Появляется страница с собираемыми параметрами их очень мало. Добавим еще один, с права вверх найдите характерный значок добавить New Parametr. В окне Parametr жмем Select и выбираем интересующий нас праметр.

netxms_itcooky_008

netxms_itcooky_009

По умолчанию все устраивает, собирает раз в 60 секунд, хранить 30 дней!

netxms_itcooky_010

Нажимаем на график в любом месте Properties и выбираем

И вот на Android телефоне график по памяти! Andorid показывает графики по мере поступления данных вот за 24 часа но пока есть только с обеда

netxms_itcooky_012

Также можно добавить предупреждения, если значения будет больше-меньше заданного. Нажимаем на Data Collaction > Average CPU load for last minute левой мышой два раза это Edit. Идем в Thresholds и жмем Add

Красота сидим смотрим графики на пк

или мобилке

Жалко что у меня ни одна из сетевых коробок не поддерживает SNMP а то с них тоже можно было потянут всякой инфы для графиков!

К ней надо поставить
cd /usr/ports/www/tomcat6
make
make install

Он обновить версию Javaно, вродебы это не страшно

Добавляем в
vi /etc/rc.conf
строку
tomcat60_enable="YES"
и стартуем
/usr/local/etc/rc.d/tomcat6 start

Теперь надо положить в него вебинтерфейс NetXMS

идем в
cd /usr/local/apache-tomcat-6.0/webapps

переименовывем его в nxmc.war это важно
cp nxmc-1.2.13.war nxmc.war

netxms_webgui_002

На этом скриншоет ничего не видно, а вот как выглядят графики

Часто на мониторинг нескольких серверов, маршрутизаторов и принтеров может быть потрачено довольно много времени, поэтому вполне логично, чтобы автоматизировать эту задачу путем внедрения системы мониторинга сети.

Системы мониторинга сети

К счастью предоставляется много продуктов на выбор. Поэтому мы попытаемся сравнить некоторые из самых популярных и перспективных решений и дать короткий обзор их функций и возможностей. В обзор включены лишь продукты с акцентом на мониторинг IP-сети, возможностью оповещения о процессе мониторинга и веб-интерфейсом.

сИСТЕМЫ МОНИТОРИНГА СЕТИ

Это проект с открытым кодом, работающий на ОС Windows или Linux и с широким выбором баз данных: MS SQL, IngreSQL, MySQL, Oracle и встроенный SQLite. NetXMS использует SNMP, а также его собственный агент для Windows или Linux, который обрануживает узлы сети автоматически.

В то время как установка гораздо проще, чем с большинством подобных систем, внедрение в пользование является немного странным. Добавление устройств и изменение конфигурации может быть сделано только через клиентское программное обеспечение. Используется разный веб-интерфейс для стандартных веб-браузеров и мобильных устройств, который отображает только те события, которые добавил пользователь.

Плюсы: кроссплатформенный, клиентские агенты, поддержка различных баз данных, автоматическое обнаружение.

Минусы: требует использования специальных клиентского программного обеспечения для настройки, пока не широко распространенный.

Системы мониторинга сети

Это самый старый опенсорсный сетевой монитор. OpenNMS проэкт для Linux построен на Java, Tomcat, PostgreSQL и RRD Tool. Был разработан для управления большими сетями предприятий. Добавление IP-хостов очень легкое. Есть возможность показывать ответы ICMP пакетов. Веб-интерфейс кажется не плох, но необходима его полная структурная реорганизация. С возможностью мониторинга тысячей устройств хочется увидеть удобную классификацию по группам или местоположению, а не линейный вывод списка с прокруткой до бесконечности. Возможны проблемы с Java, т.к. он зависит от конкретной версии Tomcat. Но если вы хорошо знакомы с Java - для вас устранение ошибок не будет тривиальной задачей.

Плюсы: бесплатный с открытым исходным кодом, мониторинг большого количества IP-хостов, основной мониторинг очень прост, возможность мониторинга времени отклика ICMP.

Минусы: веб-интерфейс требует переработки, линейный список устройств, только IP-мониторинг, Java код трудно отлаживать и исправлять.

Системы мониторинга сети

Коммерческий облачный проэкт. Т.е., вы не нуждаетесь в реальном оборудования для мониторинга. Сбор данных работает через агентов под названием Network Sequencers. PathView в состоянии контролировать соответствие SLA и работоспособность VoIP. Небольшое количество хостов можно контролировать бесплатно.

Плюсы: не обходимо оборудование, прост в настройке.

Минусы: Отчасти платный.

Системы мониторинга сети

Коммерческий Windows проект с оконным и веб-интерфейсом.. Он устанавливается в течение нескольких минут и не зависит от внешних веб или SQL-серверов. Агент имеет простой интерфейс с возможность самостоятельного его изменения. Сетевые устройства отображаются древовидной форме, это очень удобно.

Плюсы: очень простая установка, изменяемый интерфейс.

Минусы: - мониторинг только Windows.

Servers Alive ( woodstone.nu )

Системы мониторинга сети

Один из старейших Windows мониторов. Если вы ищете быстрый способ автоматически проверять пинг, TCP, службы Windows, ответ веб-сервера и свободное дисковое пространство на нескольких хостов, то этот монитор для вас. Программа установки не может быть проще, пользовательский интерфейс удобен. Вы сможете настроить основные системы мониторинга за считанные минуты. Тем не менее, нет базы данных, нет графиков, нет SNMP, обнааружения устройств, веб-интерфейса и модели клиент-сервер. Цена продукта 199/299$.

Плюсы: Простота и удобство использования для обычного пинг и мониторинка служб, хорошо подходит для проверки нескольких устройств.

Минусы: Нет графиков, логов, поддержки SNMP, развитие проекта зашло в тупик.

Системы мониторинга сети

Свободный, финансируемый сетевой монитор с возможностью наблюдения до 250 серверов, работающий на Windows. Установка занимает нескольких минут. Агент можно редактировать с помощью SNMP, SSH и WMI. Есть возможность оповещения и отчетности.

Плюсы: Хороший пользовательский интерфейс, простота в установке.

Минусы: Нет графиков и мониторинга производительности.

Системы мониторинга сети

Сетевой монитор для Linux, основан на PHP и MySQL. Имеет удобный веб-интерфейс. Система управления подходит как для для малых так и для средних размеров сети. Система оповещения для пользователей и групп.

Плюсы: опенсорсный проэкт, хорошо разработанный веб-интерфейс, хорошая система оповещения, активное сообщество.

Минусы: Больше подходит для больших сетей с 1000 + узлов, мониторинг не в реальном времени, сложные шаблоны и правила оповещения.

Системы мониторинга сети

В настоящее время наиболее широкое применение опенсорсный сетевой монитор. Nagios превосходит обычные мониторы IP и SNMP. Благодаря широкому набору плагинов, большому количеству доступных операционных систем он завоевал доверие многих системных администраторов. С помощью нагиоса можно мониторить как *nix так и Windows машины.

Процесс установки прост и соответствует стандартам Linux. Часто веб-интерфейс Нагиоса считают старомодным и не красивым, тем не менее он справляется со своей задачей.

Самые простые задачи управления и настройки, такие как добавление новых устройств должны быть сделаны путем редактирования конфигурационных файлов в Linux.

Nagios может оповещать о «упавших» серверах по электронной почте или по jabber.

Плюсы: бесплатный, открытый исходный код, очень мощное средство мониторинга, дополнительные плагины.

Минусы: старомодный веб-интерфейс, управляется через конфигурационные файлы (в некоторых случаях можно отнести к плюсам).

Читайте также: