Возможность использования скриптов на сервере
-
-
-
Я нашел ошибку вывода...
Вот вывод Вашего скриптаPING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.032 ms 1Как видишь под условия integer это не подходит.
Вот вывод моего скрипта:
host#./ping.sh
1
host#все дело в самом скрипте.. попробуй написать так:
/bin/ping -c 5 $1 >/dev/null if [ $? -ne 0 ]; then echo "0" else echo "1" fi;т.е. просто убрать знак & перед перенаправлением вывода.
-
-
Проблема в том, что этот скрипт долго работает. На моем компе это выглядит так:
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 тебе придется поменять. Ибо кто как ставит называется

-
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