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 - wonderboy

#31
Привет!

Хотел реализовать схему по которой в configurationpoll hook удаляются не нужные интерфейсы, а instance discovery filter сделать так чтобы он создавал dci для оставшихся интерфейсов. А судя по трейсу, скрипт instance discovery filter видит все интерфейсы, тоесть до того момента как config:hook поудаляет не нужные.

Instance discovery filter:
interfaces = GetNodeInterfaces($node);
foreach(i : interfaces)
{
trace(0, "*** VALUE: " . i->ifIndex . " " . $1);
//return false;
   // if (i->ifIndex == $1)
    //return true;
}


Так вот значение i->ifIndex пробегает по всем значениям, а не по оставшимся.
#32
[root@log1 bin]# snmpwalk -v2c -c SWITCH 192.168.10.7
SNMPv2-MIB::sysDescr.0 = STRING: UniPing RS232, FW v50.10.7.A-2
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.25728
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1307021551) 151 days, 6:36:55.51
SNMPv2-MIB::sysServices.0 = INTEGER: 72
IF-MIB::ifNumber.0 = INTEGER: 1
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifType.1 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifMtu.1 = INTEGER: 1514
IF-MIB::ifSpeed.1 = Wrong Type (should be Gauge32 or Unsigned32): INTEGER: 100000000
IF-MIB::ifPhysAddress.1 = STRING: 0:a2:b4:74:62:b7
#33
General Support / Re: GetAvgDCIValue not working?
October 11, 2013, 04:27:53 PM

mysql> SELECT * FROM idata_134 WHERE item_id=26;
+---------+-----------------+-------------+
| item_id | idata_timestamp | idata_value |
+---------+-----------------+-------------+
|      26 |      1381494998 | 22          |
|      26 |      1381495238 | 22          |
|      26 |      1381495478 | 22          |
|      26 |      1381495718 | 22          |
|      26 |      1381495958 | 22          |
|      26 |      1381496198 | 22          |
|      26 |      1381496438 | 22          |
|      26 |      1381496678 | 22          |
|      26 |      1381496918 | 22          |
|      26 |      1381497158 | 22          |
|      26 |      1381497398 | 22          |
|      26 |      1381497638 | 22          |
|      26 |      1381497878 | 22          |
|      26 |      1381498118 | 22          |
+---------+-----------------+-------------+
14 rows in set (0.00 sec)


mysql> SELECT avg(coalesce(idata_value,0)) FROM idata_134 WHERE item_id=26 and idata_timestamp between 1381494998 and 1381497638;             
+------------------------------+
| avg(coalesce(idata_value,0)) |
+------------------------------+
|                           22 |
+------------------------------+
1 row in set (0.00 sec)

Script:

startTime = 1381494998;
stopTime = 1381497638;
object = FindNodeObject(null,"TERM1");
trace(0, "*** VALUE: " . GetAvgDCIValue(object, FindDCIByDescription(object,"npThermoValue"), startTime, stopTime));
trace(0, "*** MAX: " . GetMaxDCIValue(object, FindDCIByDescription(object,"npThermoValue"), startTime, stopTime));
trace(0, "*** MIN: " . GetMinDCIValue(object, FindDCIByDescription(object,"npThermoValue"), startTime, stopTime));

Result:

[11-Oct-2013 17:34:24.413] [INFO ] *** VALUE: 2.000000
[11-Oct-2013 17:34:24.414] [INFO ] *** MAX: 22.000000
[11-Oct-2013 17:34:24.414] [INFO ] *** MIN: 22.000000
#34
General Support / Re: GetAvgDCIValue not working?
October 11, 2013, 02:06:03 PM
I've made dummy internal integer dci with random numbers and it's working fine.
#35
Интерфейс есть (видимо автоматом создается если не удалось получить больше никаких интерфейсов).
IP-шника у этого интерфейса нету.
#36
General Support / Re: GetAvgDCIValue not working?
October 11, 2013, 01:03:19 PM
startTime = time() - 3600;
trace(0, "*** TIME: " . startTime);
object = FindNodeObject(null,"log1");

trace(0, "*** VALUE: " . GetAvgDCIValue(object, FindDCIByDescription(object,"Total number of threads"), startTime, time()));
trace(0, "*** MAX: " . GetMaxDCIValue(object, FindDCIByDescription(object,"Total number of threads"), startTime, time()));
trace(0, "*** MIN: " . GetMinDCIValue(object, FindDCIByDescription(object,"Total number of threads"), startTime, time()));


It's interested to note that MAX and MIN are showing correct numbers, however GetAvg still results to strange
[11-Oct-2013 14:00:55.172] [INFO ] *** TIME: 1381482055
[11-Oct-2013 14:00:55.173] [INFO ] *** VALUE: 4.000000
[11-Oct-2013 14:00:55.173] [INFO ] *** MAX: 369.000000
[11-Oct-2013 14:00:55.174] [INFO ] *** MIN: 359.000000


PS. I did direct Mysql query like you provided above and result was good value.
#37
Привет!

У меня термодатчик может отдавать свои показания по snmp, но статус интерфейса по snmp там видимо не реализован да и видимо он там незачем, так как он всего один, но зато на запросы icmp ping он отвечает.
И сейчас ситуация следующая: датчик свои значения отдает, а вот статус самого датчика - unknown, хотя в настройках я выставил разрешить snmp и ping запросы для определения статуса.

tcpdump вообще icmp трафика не показывает, а debug говорит "cannot use ping for status check".
Посмотрел в исходники, видимо срабатывает что-то из
if ((pNode->getFlags() & NF_DISABLE_ICMP) || bClusterSync || (m_dwIpAddr == 0) || isLoopback())

Вопрос, что бы в настройках хоста поправить чтобы он стал пинговать ноду?
#38
General Support / Re: GetAvgDCIValue not working?
October 10, 2013, 05:02:59 PM
Hi!
After one year passed, the problem still exist.
startTime = time() - 1800;
object = FindNodeObject(null,"TERM1");
trace(0, "*** VALUE: " . GetAvgDCIValue(FindNodeObject(null,"TERM1"), FindDCIByDescription(FindNodeObject(null,"TERM1"),"npThermoValue"), startTime, time()));


All DCI values in history are 22  (integer).

And the script output is:
*** VALUE: 2.000000
#39
Привет!

Подскажите, это так задумано или это баг - допускается сохранять графики с одинаковыми именами, что в итоге вызывает путаницу. Если логика не перезаписывать предыдущий график, то может быть делать проверку имени и добавлять какой-нибудь цифровой индекс (например сохранять под именем "график-2", если "график" уже занят).
#40
Общие вопросы / Re: segfault nxagentd
October 07, 2013, 09:53:37 AM
Патч наложил, ничего не поменялось:

(gdb) bt
#0  0x00232a7b in ?? () from /usr/lib/libcrypto.so.10
#1  0x0022f622 in BIO_ctrl () from /usr/lib/libcrypto.so.10
#2  0x0064aa59 in CheckHTTPS (szAddr=0x0, dwAddr=3280653827, nPort=80, szURI=0xb66eea32 "/",
    szHost=0xb66eea20 "mail.xxx.ru", szMatch=0xb66ec220 "^HTTP/1\\.[01] 200.*", dwTimeout=0) at http.cpp:175
#3  0x0064b170 in CommandHandler (dwCommand=115, pRequest=0xb7a004f0, pResponse=0xb66f1328, session=0xb7543578) at main.cpp:126
#4  0x08057599 in ProcessCmdBySubAgent (dwCommand=115, pRequest=0xb7a004f0, pResponse=0xb66f1328, session=0xb7543578)
    at subagent.cpp:326
#5  0x0805697f in CommSession::processingThread (this=0xb7543578) at session.cpp:539
#6  0x08056dd1 in CommSession::processingThreadStarter (pArg=0xb7543578) at session.cpp:77
#7  0x00334a49 in start_thread () from /lib/libpthread.so.0
#8  0x0055eaee in clone () from /lib/libc.so.6


Система следующая:
CentOS release 6.4 (Final)
[root@log1 bin]# uname -a
Linux log1 2.6.32-358.6.2.el6.i686 #1 SMP Thu May 16 18:12:13 UTC 2013 i686 i686 i386 GNU/Linux


список установленного софта в аттаче
#41
Общие вопросы / Re: segfault nxagentd
October 04, 2013, 02:24:22 PM
(gdb) bt
#0  0x00232a7b in ?? () from /usr/lib/libcrypto.so.10
#1  0x0022f622 in BIO_ctrl () from /usr/lib/libcrypto.so.10
#2  0x0064aa59 in CheckHTTPS (szAddr=0x0, dwAddr=3280653827, nPort=80, szURI=0xb69f1a32 "/",
    szHost=0xb69f1a20 "mail.xxx.ru", szMatch=0xb69ef220 "^HTTP/1\\.[01] 200.*", dwTimeout=0) at http.cpp:175
#3  0x0064b170 in CommandHandler (dwCommand=115, pRequest=0x80630b0, pResponse=0xb69f4328, session=0xb7532918) at main.cpp:126
#4  0x08057599 in ProcessCmdBySubAgent (dwCommand=115, pRequest=0x80630b0, pResponse=0xb69f4328, session=0xb7532918)
    at subagent.cpp:326
#5  0x0805697f in CommSession::processingThread (this=0xb7532918) at session.cpp:539
#6  0x08056dd1 in CommSession::processingThreadStarter (pArg=0xb7532918) at session.cpp:77
#7  0x00334a49 in start_thread () from /lib/libpthread.so.0
#8  0x0055eaee in clone () from /lib/libc.so.6
#42
Общие вопросы / Re: segfault nxagentd
October 04, 2013, 09:59:55 AM
Отключил проверку https и перестало отваливаться.
#43
Проблемка возникает довольно оперативно. Буквально после первой проверки сервисов.


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb68f3b70 (LWP 21037)]
0x00232a7b in ?? () from /usr/lib/libcrypto.so.10
#44
SecurityNodeCheck надо было выключить :) Заработало.
#45
Общие вопросы / segfault nxagentd
October 02, 2013, 04:50:21 PM
Настроил пяток сервис-чеков стандартных http и добавил один сервис-чек на https. Стал отваливаться nxagentd. После перезапуска, все повторяется. В логах nxagentd пусто.