NetXMS FAQ/ЧаВо

Started by weec, June 28, 2007, 12:16:45 PM

Previous topic - Next topic

weec

# nxcmd -c "show pollers"
nxcmd: illegal option -- c
# nxcmd -h
Usage: nxcmd [<options>]
Valid options are:
   -d            : Turn on debug output
   -h            : Display help and exit.
   -p <password> : Login using specified password
   -s <server>   : Connect to specified server (default is 127.0.0.1)
   -u <login>    : Use specified login name
странно, но у меня нет опции -c

Victor Kirhenshtein

Оопс, ошибочка моя - команда называется nxadm.


nxadm -c "show pollers"


weec

увеличение поллеров не устраняет проблему с тормозами

weec

что означает статус "wait" и какие другие есть статусы у poller-ов?

Victor Kirhenshtein

Quote from: weec on February 04, 2008, 10:18:51 AM
что означает статус "wait" и какие другие есть статусы у poller-ов?

init - инициализация
wait - ожидание появления задания на опрос в очереди
poll - опрос хоста
finished - поток poller'a завершил работу

weec

у меня 214 pollers
и у всех статус wite, хотя опрашивается много устройств

weec

#51
в плане количества poller-ов предлагаю добавить возможность их динамического увеличения/уменьшения по мере надобности

Anth0ny

обновление для пункта "Q: Под какими операционными системами работает NetXMS?"
проверено: работает на Windows 2008 Server Enterprise 64 Bit.

weec

спасибо
внёс изменения

n0name

Quote from: weec on December 24, 2007, 03:47:10 PM
проблема с MySQL-базой
размер 1.2Гб

при удалении DCI из win32-консоли, через несколько секунд вываливается сообщение 'request timed out', но DCI всеже удаляется
после этого демоны netxmsd и mysqld грузят процессор на 0%

что делать?

после начинаются проблемы, не могу открыть сисок DCI


1) Столкнулся с такой же проблемой. Но DCI не удаляется. Сам сервер впдает в состояние гроги и ни на что не реагирует.
Помогает только stop/start сервиса NetXMS Core.

2) И вопрос: через сколько прорастает информация по ноде, после ее добавения ?
Добавлял через NetXMS Console.

Сервер: Win2k3 R2 SP2, БД: MS SQL 2k5.




Anth0ny

#55
наткнулся на грабли...
может стоит это занести в ФАК?

В: Какая БД рекомендуется для NetXMS?
О: При условии, что планируется использовать русский язык, можно использовать практически любую из совместимых ДБ. Кроме MSSQL : MS SQl 2000/2005 не поддерживает UTF8 и соответственно использовать русский текст будет невозможно. После перезапуска сервера весь ранее введённый русский текст будет искарёжен.

Mikhail V. Platonov

Скажите, возможно ли написать скрипт для Event Processing Policy, который бы генерировал аларм и выполнял действия только в случае нахождения ноды в состоянии Normal, например? Т.е., если нода уже в Critical, то генерировать еще один аларм и выполнять action уже не надо. Просто УПС шлёт трапы в случае пропадания питания каждую минуту и каждую минуту сваливается письмо, а это уже лишнее. Я примерно представляю, как бы это могло выглядеть:

sub main()
{
   return ($node->state == 4) ? 0 : 1;
}

Но вопрос по синтасису и вообще возможности такого скрипта.
Заранее спасибо большое.

Victor Kirhenshtein

#57
Синтаксически скрипт правильный. Проблема в том, что в текущей версии статус узла через аттрибуты недоступен. Я добавил соответствующий атрибут, он называется status, и в 0.2.23 такой скрипт можно будет использовать:

sub main()
{
   return ($node->status == 4) ? 0 : 1;
}

Еще один комментарий - а если у узла уже будет статус CRITICAL, например из-за того, что один из интерфейсов в статусе CRITICAL? Тогда и первое письмо не будет отослано. Для таких задач можно использовать ситуации - при получении трапа от упса выставлять атрибут соответствующей ситуации в 1, а в скрипте проверять состояние этого атрибута.

P.S. Маленький пример использования ситуаций (на английском) - https://www.netxms.org/forum/index.php/topic,321.0.html

Mikhail V. Platonov

О, отлично! Спасибо большое.

Alex

Я как-то уже выкладывал тут скрипт снятия статистик по SIP звонкам с Cisco. Так вот в последнее время скрипт перестал работать корректно. Время от времени выдавал ошибку по недоступности до Cisco из под запуска NetXMS. Проведя трое суток в поисках решений, прибегнул к давно существующему перловому модулю Net::Rsh. (На сайте Cisco есть готовые MIB-ы по SIP статистике, но одни не устанавливаются, а другие не отдают то, что надо). Так что старый дедовский способ по RSH - остается, на мой взгляд, лучший по сей день. Может кому-то пригодится скриптик:

#!/usr/bin/perl

use Net::Rsh;

if ($#ARGV != 1) {
    print "usage: $0 host_ip uac|uas\n";
    exit;
}

$a=Net::Rsh->new();

$host = $ARGV[0];
$type = uc($ARGV[1]);
$local_user="root";
$remote_user="root";
$cmd="show sip-ua calls | i $type";

@c=$a->rsh($host,$local_user,$remote_user,$cmd);

#@c =~(/calls: (\d+)/);
for ($i=0; $i<scalar(@c); ++$i) {
    ($k, $v) = @c;
}
$v =~ (/calls: (\d+)/);
unless ($1 != "") {$num = 0;} else {$num = $1;}
print "$num\n";


Скрипт вызывается следующей командой
./название_скрипт host_ip uac (статистика по оригинационным звонкам)
или
./название_скрипт host_ip uas (статистика по терминационным звонкам)

В NetXMS в агенте прописывается так:
ExternalParameter = SipOrig(*):/usr/bin/perl /путь_до_скрипта/название_скрипта.pl $1 uas
ExternalParameter = SipAnswer(*):/usr/bin/perl /путь_до_скрипта/название_скрипта.pl $1 uac


Можно создать темплейт SIP и создать в нем 2 DCI.

  • SipAnswer(%{node_primary_ip})
  • SipOrig(%{node_primary_ip})
Origin: NetXMS Agent
И не забываем прописывать в качестве Proxy node адрес машины, на которой стоит NetXMS.

Вот и вся кухня. Надеюсь кому-то окажется полезным.