Возможность использования скриптов на сервере
-
Проблема в том, что этот скрипт долго работает. На моем компе это выглядит так:
victor@stone:~/netxms$ date && /usr/local/sbin/e1_ms.sh 10.0.0.2 && date Thu Apr 10 10:12:18 EEST 2008 1 Thu Apr 10 10:12:22 EEST 2008 victor@stone:~/netxms$У агента есть тайм-аут на выполнение внешних команд, по умолчанию 2 секунды. Если команда не успевает завершиться за это время, то агент возвращает ошибку. Это время можно увеличить, изменив значение параметра ExecTimeout в конфиге агента (значения в миллисекундах). Кроме того, у сервера тоже есть тайм-аут на ожидание ответа на запрос к агенту - те-же 2 секунды по умолчанию. Меняется настройкой параметра сервера AgentCommandTimeout.
Причина, по которой эти тайм-ауты по умолчанию такие маленькие - параметры с агента собираются последовательно, и если сбор какого-то параметра требует 30 секунд, то остальные параметры с данного узла в эти 30 секунд не собирабтся, соответственно может нарушится равномерность сбора данных.
-
Кстати, а почему бы для пингов не использовать PING субагент? Он специально для этого предназначен...
-
2 Виктор, по-моему Вы через чур правы о PING SubAgent-е

По поводу отработки скрипта долго. Разумеется будет долго отрабатывать, ибо в коде посылается 5 пакетов для проверки узла. В среднем уходит 1-1.5 секунды на один запрос.2 isherim. А я как раз на linux-е и тестил скрипт. У меня для тестов стоит Ubuntu 7. На ней и тестил скрипт.
-
-
@isherim said in Возможность использования скриптов на сервере:
спасибо
да, причина именно в этом.
А субагент не использовал сугубо по причине первого машинального телодвижения в сторону стандартных средств ОС-и.
а & и говорит об отправке вывода результата в нуль.
Оставил 2 пакета - работает.Мне всю жизнь казалось что > и >> это и есть перенаправление куда-либо, хоть в тот же /dev/null.
Пойду учить МАТЧАСТЬ значится. -
-
-
Счетчик алармов увеличивается если у алармов совпадают ключи. Надо делать ключ на основе DCI ID, скажем добавлять _%5 к ключу.
-
-
-
-
Вылезла не понятная проблема.
Есть 4 Cisco. Есть внешний скрипт. На всех 4-х прописан Trusted Node сервер с NetXMS-ом (у меня и агент и сервер на одном хосте), а в trusted hosts netxms node-ы, прописал все эти 4 Cisco на всякий случай. в nxagentd.conf прописаны строки:ExternalParameter = SipOrig(*):/usr/bin/perl /root/scripts/sip_stat/originate.pl $1 ExternalParameter = SipAnswer(*):/usr/bin/perl /root/scripts/sip_stat/answer.pl $1Самое интересное вот в чем. На двух Cisco работает все и данные получаются, а на оставшихся двух нет. Настройки идентичны. Пытался включить дебаг и агента и сервера, нет данных по вызову.
Прописал в скрипте строчку, чтоб в отдельный файл писал ключ-значение (где ключ это IP ноды, а значение число полученное при выполнении скрипта). Так вот, запросы к скриптам даже не приходят. В чем может быть дело? Есть какое-то ограничение или что-то в этом роде? -
A mozno prislat' konfiguraciju samih DCI i ob'ektov node?
-
@axel said in Возможность использования скриптов на сервере:
Вылезла не понятная проблема.
Есть 4 Cisco. Есть внешний скрипт. На всех 4-х прописан Trusted Node сервер с NetXMS-ом (у меня и агент и сервер на одном хосте), а в trusted hosts netxms node-ы, прописал все эти 4 Cisco на всякий случай. в nxagentd.conf прописаны строки:ExternalParameter = SipOrig(*):/usr/bin/perl /root/scripts/sip_stat/originate.pl $1 ExternalParameter = SipAnswer(*):/usr/bin/perl /root/scripts/sip_stat/answer.pl $1Самое интересное вот в чем. На двух Cisco работает все и данные получаются, а на оставшихся двух нет. Настройки идентичны. Пытался включить дебаг и агента и сервера, нет данных по вызову.
Прописал в скрипте строчку, чтоб в отдельный файл писал ключ-значение (где ключ это IP ноды, а значение число полученное при выполнении скрипта). Так вот, запросы к скриптам даже не приходят. В чем может быть дело? Есть какое-то ограничение или что-то в этом роде?А тело скриптов не покажешь? Тоже нужно количество звонков смотреть, а времени нету совсем...
-
Да скрипты очень простые. Я не стал делать все в одном файлике, сделал разделение по разным. Чтоб проще было.
Скрипт на терминацию:
#!/usr/bin/perl if ($#ARGV != 0) { print "usage: $0 host_ip\n"; exit; } $host = $ARGV[0]; open(rsh, "/usr/bin/rsh $host \"show sip-ua calls | i UAS\" |"); while (<rsh>) { $str=$_; $str = (/calls: (\d+)/); $num = $1; $num = 0 if ($num eq ""); } close (rsh); print "$num\n";Скрипт на Оригинацию:
#!/usr/bin/perl if ($#ARGV != 0) { print "usage: $0 host_ip\n"; exit; } $host = $ARGV[0]; open(rsh, "/usr/bin/rsh $host \"show sip-ua calls | i UAC\" |"); while (<rsh>) { $str=$_; $str = (/calls: (\d+)/); $num = $1; $num = 0 if ($num eq ""); } close (rsh); print "$num\n";Скрипты идентичны, за исключением поисковой строки. Можно чуток увеличить код, и сделать все в одном файлике. Может тока путь до rsh тебе придется поменять. Ибо кто как ставит называется

-
-
-
@victor said in Возможность использования скриптов на сервере:
A mozno prislat' konfiguraciju samih DCI i ob'ektov node?
Относительно параметров DCI можешь посмотреть в атаче. А вот что касается объектов ноды, то не совсем понял о чем ты.
Причем они тут?
На двух эта схема работает железках, а на оставшихся двух - нет. Причины неизвестны
В логах пусто к сожалению. На скрипт запрос по этим двум не рабочим железкам не приходит 

Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login