Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - hsvt

#196
Общие вопросы / Re: Network Maps и status
September 03, 2015, 05:20:43 PM
Quote from: Victor Kirhenshtein on April 28, 2015, 10:03:22 PM
Можно добавить свой custom attribute на таких интерфейсах и в скрипте проверять - если он выставлен, то ничего не делать.

апну тему...

Продолжаю дальше продумывать логику ожидаемых состояний интерфейса и вернулся к custom attribute.

QuoteEvery object can have custom attributes defined either by user or integrated application via NetXMS API. Custom attributes distinguished by names (an attribute name can contain up to 127 printable characters), and have string values of unlimited length. However, if you wish to access custom attributes in NXSL scripts as properties of node object, you should name them conforming to NXSL identifier naming constraints. To create or change value of custom attribute manually, right-click object in NetXMS console, and select Properties ‣ Custom Attributes tab.

Я так понимаю имя и строка, но что вы имеете в виду под добавить "свой" какие значения мне необходимо указать?
#197
Общие вопросы / Re: with IPV6
September 03, 2015, 03:06:56 PM
Quote from: Victor Kirhenshtein on September 03, 2015, 11:56:07 AM
а сделайте:

cd /usr/include
grep -r AF_INET6 *

что выдаст?

Готово.

grep -r AF_INET6 *
altq/altq.h:    u_char          fi6_family;     /* AF_INET6 */
altq/altq.h: * flow filters for AF_INET and AF_INET6
lwres/net.h:#ifndef AF_INET6
lwres/net.h:#define AF_INET6 99
lwres/net.h:#define PF_INET6 AF_INET6
netinet/in_pcb.h: * PCB with AF_INET6 null bind'ed laddr can receive AF_INET input packet.
netinet/in_pcb.h: * So, AF_INET6 null laddr is also used as AF_INET null laddr, by utilizing
netinet/in_pcb.h:#define        IN6P_IPV6_V6ONLY        0x00008000 /* restrict AF_INET6 socket for v6 */
netinet/sctputil.h:      if ((addr->sin6_family == AF_INET6) && \
netinet/icmp6.h:                ((struct in6_ifextra *)((ifp)->if_afdata[AF_INET6]))->icmp6_ifstat->tag++; \
netinet6/nd6.h: (((struct in6_ifextra *)(ifp)->if_afdata[AF_INET6])->nd_ifinfo)
netinet6/in6_var.h:#define      LLTABLE6(ifp)   (((struct in6_ifextra *)(ifp)->if_afdata[AF_INET6])->lltable)
netinet6/in6_var.h:             ((struct in6_ifextra *)((ifp)->if_afdata[AF_INET6]))->in6_ifstat->tag++; \
netinet6/in6_var.h:             if (ifma->ifma_addr->sa_family == AF_INET6) {
netinet6/in6.h: sa_family_t     sin6_family;    /* AF_INET6 */
netinet6/in6.h:#define IPV6_V6ONLY              27 /* bool; make AF_INET6 sockets v6 only */
netinet6/mld6_var.h:    (((struct in6_ifextra *)(ifp)->if_afdata[AF_INET6])->mld_ifinfo)
netinet6/ip6protosw.h: * should be consulted only with AF_INET6 family.
sys/socket.h:#define    AF_INET6        28              /* IPv6 */
sys/socket.h:#define    PF_INET6        AF_INET6
#198
Общие вопросы / Re: ssmtp send email
September 02, 2015, 05:37:11 PM
Quote from: Alex Kirhenshtein on September 02, 2015, 01:47:53 PM
NetXMS не умеет читать конфиги локального релея – это задача MTA – как тот будет читать свой конфиг.
Отсылка почты идет через SMTP, локальный или удаленный (без поддержки авторизации, так как полноценная поддержка – серьезный геморой, а различные MTA умеют это из коробки).

Я бы советовал заменить ssmtp на локальный postfix/exim4 в режиме smarthost (поднимает SMTP на localhost и отсылает всё на следующий сервер) – конфигурации там 10 строк у каждого.
Второй вариант – прописать на существующем релее исключение в авторизации для IP сервера, где запущен NetXMS.
Третий – добавить server action (configuration -> action configuration -> new -> type=execute on management server) c коммандой типа:echo %m | mail -s "subject" [email protected] и использовать этот action в EPP.

Спасибо за ответ. Я скомбинировал 2 и 3 варианты.

Вот только с 3 вариантом почему то не отсылает, создал action (execute command on managment server)

/bin/echo %m | /usr/bin/mail -s "subject" [email protected]

И добавил его к EPP условию. Пробую через nxevent SYS_THRESHOLD_REACHED, но ничего не приходит, а из консоли отрабатывает.

Хотя к примеру, если написать в command mkdir то всё отрабатывает.

UPD: ОС не понимает макросы %m и т.д., т.к. если просто echo "test" то отрабатывает. Как быть тогда? Postix или Exim4 что то не хочется поднимать. Попробовал еще msmtp но он не умеет вроде бы smarthost
#199
Общие вопросы / Re: ssmtp send email
September 02, 2015, 01:25:40 PM
Пробовал так же указывать сразу наш внутренний корпоративный сервер.

На mail сервере в логах:

Warning! Authentication required!

Sep  2 13:24:28 mail exim[6430]: 2015-09-02 13:24:28 [6430] unexpected disconnection while reading SMTP command from (netxms) []:16597 I=[]:25


Такое ощущение что NetXMS перестал считывать конфиг локального релея в ОС...
#200
Общие вопросы / ssmtp send email
September 01, 2015, 07:05:13 PM
Как можно подружить NetXMS и простейший агент пересылки ssmtp ? Сейчас получаю "SMTP Communication failure"

ssmtp.conf

mailhub=smtp.mail.ru:465
AuthUser="[email protected]"
AuthPass="password"
UseTLS=YES


В настройках NetXMS указал SMTPserver = mail.smtp.ru

Необходимо чтобы NetXMS отправлял через ssmtp и считывал ssmtp.conf.
#201
Общие вопросы / Re: with IPV6
September 01, 2015, 05:58:24 PM
Quote from: Victor Kirhenshtein on September 01, 2015, 04:05:52 PM
Поддержка IPv6 включается автоматически если найдены необходимые структуры. configure проверяет наличие AF_INET6 и struct sockaddr_in6 - проверьте config.log почему он их не нашел. Возможно на FreeBSD нужны дополнительные .h файлы.

cat /home/user/netxms/netxms-2.0-RC1/config.log | grep 'AF_INET6'


configure:19535: checking whether AF_INET6 is declared
conftest.c:92: error: 'AF_INET6' undeclared (first use in this function)
| #ifndef AF_INET6
|   (void) AF_INET6;
|   (void) AF_INET6;
ac_cv_have_decl_AF_INET6=no


Оно пока не горит, просто спрашиваю.
#202
Общие вопросы / with IPV6
September 01, 2015, 01:53:28 PM
---------------------------------------------------------------------
                         Configure results
---------------------------------------------------------------------

Prefix                  : /usr/local
Platform                : FreeBSD
Shared library suffix   : .so
IPv6 support            : NO


Как собрать с поддержкой IPV6 ? Или еще не реализовано?
#203
Quote from: Victor Kirhenshtein on April 28, 2015, 09:59:01 PM
Пока нет такой возможности. Я добавил как feature request: https://dev.raden.solutions/issues/814

Большое спасибо, что было бы то что нужно!
#204
Quote from: hsvt on April 08, 2015, 12:13:23 PM
Quote from: Victor Kirhenshtein on April 07, 2015, 10:25:57 PM
Какая версия NetXMS сейчас установлена? В 2.0-M3 мы довольно сильно переделали все что связано с адресами и подсетями - я предлагаю посмотреть сохранится ли проблема после обновления на 2.0-M3 или выше.

Сейчас 2.0-M2,  спасибо, проверим на M3.

Всё равно почему то генерирует алармы.

См. скрниншот.

Настройки интерфейса System на коммутаторе:

Command: show ipif

IP Interface                : System
VLAN Name                   : managment
Interface Admin State       : Enabled
DHCPv6 Client State         : Disabled
Link Status                 : LinkUp
IPv4 Address                : 10.228.0.1/24 (Manual)  Primary
Proxy ARP                   : Disabled   (Local : Disabled)
IPv4 State                  : Enabled
IPv6 State                  : Disabled
DHCP Option12 State         : Disabled
DHCP Option12 Host Name     :


Почему он считает, что должна быть /8 ?
#205
Quote from: Victor Kirhenshtein on April 08, 2015, 11:01:24 PM
Да, nxsnmpset как server command будет то что требуется.

С одним параметром разобрался, спасибо. А вот по поводу enable\disable портов\интерфейсов есть какой нибудь макрос наподобии %a только чтобы указывался нужный порт? Не указывать же кучу (oid - номер порта) object tools для всех необходимых портов. Или же чтобы при выполнении nxsnmpset было всплывающее окно (наподобие как сейчас сделано confirmation) и там уже вводить имя или номер нужного интерфейса для включения или выключения. Кто нибудь реализовал подобное ?
#206
Quote from: Victor Kirhenshtein on April 08, 2015, 11:24:53 PM
Немного поправил скрипт:


println($node->sysDescription);

if ($node->sysDescription ~= "^DES|^D-Link DES-3028")
{
   println "Node passed filter";
foreach(i : GetNodeInterfaces($node))
{
   if (i->slot == 1 && i->port <= 24)
   {
   SetInterfaceExpectedState(i, "IGNORE");
   }
      else if (i->port >= 25 && i->port <= 28 && i->slot == 1)
      {
   i->setStatusPropagation(4,1,2,3,3);
   }
}
}


Там было несколько мелких ошибок по синтаксису (& вместо &&, = вместо ==, пробел перед скобкой в вызове функции, и т.д.), но в целом идея правильная.
Скрипты удобно проверять через меню "Run server script" в контекстном меню ноды - можно видеть результат выполнения и вывод trace/println.

Спасибо за исправления, вы имеете в виду "Execute server script" ?

Если выставлять для некоторых портов epected state вручную -  скрипт всё равно в приоритете проходит и выставляет свои значения. Как быть в таком случае, для каждой ноды писать в скрипте свои исключения? Бывает, например такое, что не на всех коммутаторов и магистральных портах нужно ожидаемый статус выставлять на UP.
#207
Quote from: Victor Kirhenshtein on December 27, 2014, 11:38:31 AM
Сейчас SNMP set tool сделать нельзя. Как вариант - сделать через local command - запускать snmpset на адрес ноды.

local command подразумевает наличие net-snmp утилит на рабочей станции?

А можно ли как то запускать snmpset команды с самого сервера NetXMS ? Во общем в какую сторону функционала мне нужно смотреть чтобы управлять коммутатором по snmpset скриптам и вывести их в Commands node?

Object tools - action, server command (nxsnmpset?), SNMP Table ?
#208
Общие вопросы / Re: mac address
April 08, 2015, 06:47:25 PM
При наведении на интерфейсы коммутатора указывается мак адрес, но почему то на всех интерфейсах он одинаковый. Т.е. он берёт почему то Bridge Base Address=1C:AF:F7:76:43:FA именно мак самого устройства, а не тот который в данный момент изучается на порту. (Хотя с другой стороны если на порту куча МАКов то и не поместиться это всё в Object details)

Но для этого есть опция Switch forwarding database (MAC address table)

Можно ли её как то вывести в список команд ноды для быстрого доступа? То что есть встроенное в Object tools не совсем подходит (&Info->&Switch forwarding database (FDB)) там указывается только MAC+PORT и нет VLAN.

И возможно ли добавить такую мелочь как копирование MAC адреса по мимо Export to CSV?

#209
Поднимем темку :).

1) Начинаются проникаться мощными возможностями всей системы NetXMS и опять наткнулся на такую вещь как tray popup, можно ли как то добавить в feature request опцию для отключения автозакрытия ? Или всё таки сделать это окошко самостоятельным как в The dude ? См. скриншот.

2) Можно ли как то удалить (terminate) все Alarms разом, например было бы удобно через Ctrl+A выделить их все, сейчас выделять можно, но просто через ctrl+mouse1 по одному.
#210
Quote from: glebofff on April 03, 2015, 11:48:51 PM
Ну тут всё просто. Надо понять netxms, прежде, чем что-то от него хотеть. В который раз уж пишу. :-)

Вам легко говорить, а я тут головой бьюсь :))) с программированием на "ВЫ" это мягко сказано. Но я пытаюсь учиться.

Ну вы хотя бы поправьте меня пожалуйста если я ошибся где-то...

foreach(i : GetNodeInterfaces($node))

{

if (i->node->sysDescription ~= "^DES|^D-Link DES-3028")
{
println(i->node->sysDescription);
if (i->slot == "1" && i->port <= "24")
    {
SetInterfaceExpectedState (i, "IGNORE");
}

  else  if (i->port ~= "^25|^26|^27|^28" & i->slot = "1")
    {
  i->setStatusPropagation (4,1,2,3,3);  
    }

}

}


Вот так оно вроде бы работает с Hook::ConfigurationPoll

Если мне всё равно у некоторых портов надо поставить expected state вручную (IGNORE) - сохраниться ли МОЁ ручное состояние или при вызове скрипта он сделает по своему?
Quote
setStatusPropagation (4,1,2,3,3) соответствует картинке, которую я приаттачил.

Я не совсем понял, вы для всех интерфейсов изменили Severity based ? Где можно узнать какая цифру какому состоянию соотвествует?

И еще вы пишите:

Quoteесли интересует - i->setStatusPropagation (4,1,2,3,3),

Но у вас это условие относится к "^Fa|^Tu" - как раз он вам не особо критичен.