Добрый день. В NetXMS хорошо организован мониторинг сетевого оборудования, им удобно пользоваться, спасибо. Задумывались разработчики расширить функционал программы добавив функции управления сетевыми устройствами? Например:
- Просмотр конфигурации устройства
- Доступ к консоли устройства через ssh
- Возможность одновременного выполнения команды на скольких устройствах и вывод результатов
- Разграничение прав доступа
И совсем здорово было бы реализовать работу с бекапами конфигураций:
- Бекап и восстановление конфигурации, в т.ч. бекап по расписанию
- Возможность использовать шаблоны конфигураций, в т.ч. с назначением базового шаблона
- Хранение различных версий конфигураций устройств, в шифрованном виде, с возможностью просмотра изменений
- Разграничение прав доступа
Все выше перечисленное - не функционал системы мониторинга, это функционал системы управления сетью (network management system).
Большую часть этого можно сделать через Object Tools и внешние команды (на контейнерах они тоже работают).
Сейчас часть задач так и реализована, но для централизованного использования не удобно, без поддержки со стороны системы. Например, в web-интерфейсе, пользовательские Object Tools не работают. Удобного решения для таких задач, пока не нашёл, разве что NOC но это уже network management system, как упоминал Harun, но для небольших компаний эта система громоздка в поддержке.
А что именно не работает в вебе? Должно всё работать.
В web интерфейсе мешают две проблемы.
1. Например, создаём объект Object tools, для подключения через ssh. В консоли его видно, в web-интерфейсе нет.
2. Если во вкладе overview нажать правой кнопкой на каком-нибудь из параметров, то в консоли появляется меню с возможность выбора действия (копировать и т.п.), а в web-интерфейсе меню появляется лишь на мгновение и закрывается.
Скриншоты приложил.
Версия сервера и веб-интерфейса 1.2.17. Браузеры пробовали разные.
1) Да, local command на вебе не работает – ограничение броузера. Server command должен работать и на вебе (для не интерактивных скриптов).
2) Работа с клипбордом в броузере тоже достаточно ограничена, поэтому меню отключено. Сейчас ситуация с поддержкой клипборда потихоньку улучшается (через document.execCommand('copy') (https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand)) – но пока это еще не сделано.
Как уже написали, многое можно реализовать штатными средствами.
Добавлю как делать backup конфигурации по расписанию.
Я сделал шаблон в котором есть один DCI - скрипт. Этот скрипт банально обращается к устройству по SNMP, выставляет значения переменных ( благо у меня только Cisco, поэтому реализация достаточно проста ).
После этого конфигурация копируется на TFTP сервер, папка которого является копией репозитария SVN.
Далее так же по расписанию проводится коммит в SVN. Это мне дает возможность просмотра изменения конфигураций.
Quote from: 7novds on November 30, 2015, 09:01:06 PM
Как уже написали, многое можно реализовать штатными средствами.
Добавлю как делать backup конфигурации по расписанию.
Я сделал шаблон в котором есть один DCI - скрипт. Этот скрипт банально обращается к устройству по SNMP, выставляет значения переменных ( благо у меня только Cisco, поэтому реализация достаточно проста ).
После этого конфигурация копируется на TFTP сервер, папка которого является копией репозитария SVN.
Далее так же по расписанию проводится коммит в SVN. Это мне дает возможность просмотра изменения конфигураций.
Можете поделиться примером скрипта?
Quote from: 7novds on November 30, 2015, 09:01:06 PM
Как уже написали, многое можно реализовать штатными средствами.
Добавлю как делать backup конфигурации по расписанию.
Я сделал шаблон в котором есть один DCI - скрипт. Этот скрипт банально обращается к устройству по SNMP, выставляет значения переменных ( благо у меня только Cisco, поэтому реализация достаточно проста ).
После этого конфигурация копируется на TFTP сервер, папка которого является копией репозитария SVN.
Далее так же по расписанию проводится коммит в SVN. Это мне дает возможность просмотра изменения конфигураций.
тоже скрипт непомешал бы
Да :) Вопрос автоматизация бекапа конфигов по snmp актуален :)
Пардон, не видел запроса на скрипт...
array SNMP_Versions;
SNMP_Versions = %("1","2c", "3");
sub get_parameter( curr, parameter )
{
// Получаем локальный для node Сustom Attribute
result = GetCustomAttribute( curr, parameter);
if ( result != null )
return result;
foreach( p : GetObjectParents( curr ))
{
result = get_parameter( p, parameter );
if ( result != null )
return result;
}
return null;
}
TFTP_SERVER = get_parameter( $node, "TFTP_IP_ADDRESS" );
TFTP_FOLDER = get_parameter( $node, "TFTP_FOLDER_NAME" );
TFTP_FILENAME = $node->name;
snmpTransport = CreateSNMPTransport ( $node );
if ( snmpTransport == null )
return -1;
// Удаляем таблицу, если она существует
if ( !SNMPSet ( snmpTransport, ".1.3.6.1.4.1.9.9.96.1.1.1.1.14.22", 6, "INTEGER" )) {
trace( 3, "ccCopyEntryRowStatus set error" );
return 1;
}
if ( !SNMPSet( snmpTransport, ".1.3.6.1.4.1.9.9.96.1.1.1.1.2.22", 1, "INTEGER" )) {
trace ( 3, "ccCopyProtocol set error" );
return 1;
}
if ( !SNMPSet( snmpTransport, ".1.3.6.1.4.1.9.9.96.1.1.1.1.3.22", 3, "INTEGER" )) {
trace ( 3, "ccCopySourceFileType set error" );
return 1;
}
if ( !SNMPSet( snmpTransport, ".1.3.6.1.4.1.9.9.96.1.1.1.1.4.22", 1, "INTEGER" )) {
trace ( 3, "ccCopyDestFileType set error" );
return 1;
}
if ( !SNMPSet( snmpTransport, ".1.3.6.1.4.1.9.9.96.1.1.1.1.5.22", TFTP_SERVER, "IPADDR" )) {
trace ( 3, "ccCopyServerAddress set error" );
return 1;
}
if ( !SNMPSet( snmpTransport, ".1.3.6.1.4.1.9.9.96.1.1.1.1.6.22", TFTP_FOLDER.TFTP_FILENAME,"STRING")) {
trace ( 3, "ccCopyFileName set error" );
return 1;
}
if ( !SNMPSet( snmpTransport, ".1.3.6.1.4.1.9.9.96.1.1.1.1.14.22", 1, "INTEGER")) {
trace ( 3, "ccCopyEntryRowStatus process start error" );
return 1;
}
return 0;
Спасибо, в custom attribute передаются параметры?
Да, какталог на TFTP сервере куда бросить файл