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 - Victor Kirhenshtein

#7172
Proshu proshenija za bol'shie zaderzki s otvetami, bil ochen' bol'shoj zaval na rabote. Sejchas postarajus' v techenii dnja otvetit' na vse voprosi na forume.

Quote from: Anth0ny on July 09, 2008, 05:45:54 PM
2. А усилять и расширять мониторинг кластеров не планируется? Кстати большое Вам спасибо за то, что уже реализовано!

Eto bilo-bi interesno, no ja poka ploho predstavljaju chto i kak tam mozno bilo bi uluchshit'. Mozno sdelat' otdel'noe obsuzdenie v feature request i pridti k novoj sheme monitoringa klasterov. Togda mozno budet ee i realizovat'.

Quote from: Anth0ny on July 09, 2008, 05:45:54 PM
А можно поподробнее о SYS_ALARM_TIMEOUT? я уже отписал в теме по монитрингу HTTP, что получаю чрезвычайно странный результат при использовании данного параметра а также параметра Timeout. Может быть я их просто неправильно использую? Подскажите... =)

Ja segodnja/zavtra proverju etot funkcional, pohoze tam kakie-to strashnie bagi...

Quote from: Anth0ny on July 09, 2008, 05:45:54 PM
Запустить/остановить процесс - имелось ввиду Event Processing (запуск процессинга эвента и остановка процессинга эвента).

Zdes' kakoe-to nesovpadenie terminov pohoze :) Nel'zja zapustit'/ostanovit' obrabotku sobitija - ona vsegda proishodit (t.e. kazdoe sobitie obrabativaetsja). Mozno po sobitiju zapuskat' vneshnie processi - cherez Actions, sozdavat' u ubirat' alarmi, menjat' sostojanija situacij.

Quote from: Anth0ny on July 09, 2008, 05:45:54 PM
3. Т.е. если я правильно понял, то ресурсы, которые входят в кластерную группу, можно мониторить ровно точно так же, как и обычные ресурсы, находящиеся на одиночной ноде? Но в таком случае на каком уровне нужно создавать DCI'и? На уровне кластера? Или на уровне каждой из нод? Прошу подсказать =).

DCI nado sozdavat' na urovne klastera, ukazivaja dlja kazdogo DCI k kakomu resursu on otnositsja. (Esli etogo ne delat', to skazem DCI na status servisa Exchange'a na neaktivnoj node vizovet srabativanie thresholda na to, chto servis ostanovlen, pojavlenie alarma, etc., hotja eto normal'naja situacija). Privjazka DCI k resursu vizivaet sbor dannih tol'ko s toj nodi, gde sejchas nahoditsja resurs.

Quote from: Anth0ny on July 09, 2008, 05:45:54 PM
4. Не работает, однозначно =).

По крайней мере с опросом дисков.

Если вопрос о последовательности создания кластера, то всё делалось по Вашему описанию, точь-в-точь. Если имеется ввиду создание DCI на уровне Кластера, то тут всё было сделано абсолютно точно также, как для обычной ноды.

Создал DCI типа Disk.FreePerc. Пробовал и для диска C: (есть на обеих нодах, понятное дело) и для диска S: (есть только на одной из нод). Обе ноды кластера- активные.

После создания (интервал опроса- 60 секунд) DCI ничего не получает. При попытке посмотреть данные через Data Collection -> Show Data получаю ошибку: Unable to retrievecollected data: Database failure.

И в таблице Collected Data в поле Value получаю единственную запись: ERROR LOADING DATA FROM SERVER.

Dannie smotreli na node ja nadejus'? Poskol'ku na ob'ekte klastera dannih net - eto virtual'nij ob'ekt, tak-ze kak i template. Real'nie dannie sobirajutsja dlja uzlov - ob'ekt klastera s tochki zrenija nastrojki DCI rabotaet kak template + dopolnitel'nie pravila kogda sobirat' dannie a kogda net.

Best regards,
Victor
#7173
You can create network service only under node object - because network service is just a process on a host, listening on TCP port. So, if you wish to monitor SSH on host 10.0.0.1, you create node object fro 10.0.0.1 and create SSH service object under it.

I don't actually understand question about rights - you can use the same rights assignment as for any other object.

Best regards,
Victor
#7174
General Support / Re: Importing MIBs
July 10, 2008, 01:37:57 PM
Hello!

You should either change your working directory to D:\NetXMSApp\var\mibs and then run


nxmibc -d . -z


or run


nxmibc -d D:\NetXMSApp\var\mibs -z


and copy resulting netxms.mib into D:\NetXMSApp\var\mibs.

Best regards,
Victor
#7175
Попробую ответить по порядку:

1. Там внутри получались кое-какие сложности, поэтому поленился делать :) Надо будет не ленится и сделать. В 0.2.22 не обещаю, но потом точно сделаю (особенно если записать в feature requests).

2. Мониторинг кластеров на данный момент сделан очень примитивно - это по сути мониторинг виртуальных адресов. Т.е. в рамках Status poll сервер проверяет, доступны ли IP адреса кластерных ресурсов и на какой ноде они находятся. Ну и в случае изменения ситуации генерирует соответствующее событие.

Что касается resource moved - можно на аларм, создаваемый по этому событию, ставить timeout - а по событию SYS_ALARM_TIMEOUT делать ему terminate.

Не понял насчет запустить/остановить процесс. Что имелось ввиду?

3. Отдельные ресурсы можно мониторить через соответствующие параметры агента, как обычно - сервисы через System.ServiceState, процессы через Process.Count, и т.д.

4. Должны работать. Если не работают, то это баг. Фактически настройка DCI на объекте кластера - это тоже самое что настройка DCI в шаблоне, жестко ппривязанном к узлам кластера. Можно прислать точную последовательность действий, что делалось и что не работает?
#7176
General / Re: Patches
July 08, 2008, 11:29:52 AM
Updated session.cpp
#7177
Вариантов два:

1. Создать дополнительный DCI, для которого написать transformation script, в котором текущие значения всех нужных параметров будут пересчитываться в некий комплексный индикатор, на который потом можно накладывать threshold'ы.

2. Сделать объект Condition, в котором определить требуемое комплексное условие. Это единственный вариант если в условии надо связать значения параметров с разных узлов.

#7178
General / Re: Patches
July 07, 2008, 10:44:34 AM
Patch: replace nxsl_classes.cpp with attached one.
#7179
General / Patches
July 07, 2008, 10:43:43 AM
Problem on FreeBSD 6.2:

Making all in core
gmake[4]: Entering directory `/usr/home/sysadmin/netxms-0.2.22-rc1/src/server/core'
/bin/sh ../../../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -I../../../src/server/include  -I/usr/local/mysql/include -I/usr/include/mysql -I/usr/mysql/include -I/usr/local/include/mysql -I/usr/local/mysql/include/mysql -I/usr/mysql/include/mysql -I/usr/local/include -D_THREAD_SAFE -D_THREAD_SAFE -DPREFIX=\"/usr/local\" -DPREFIXW=L\"/usr/local\" -DDATADIR=\"/usr/local/share/netxms\" -DLIBDIR=\"/usr/local/lib\"  -g -O2 -fno-rtti -fno-exceptions -fno-const-strings -Wno-deprecated -MT nxsl_classes.lo -MD -MP -MF .deps/nxsl_classes.Tpo -c -o nxsl_classes.lo nxsl_classes.cpp
g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -I../../../src/server/include -I/usr/local/mysql/include -I/usr/include/mysql -I/usr/mysql/include -I/usr/local/include/mysql -I/usr/local/mysql/include/mysql -I/usr/mysql/include/mysql -I/usr/local/include -D_THREAD_SAFE -D_THREAD_SAFE -DPREFIX=\"/usr/local\" -DPREFIXW=L\"/usr/local\" -DDATADIR=\"/usr/local/share/netxms\" -DLIBDIR=\"/usr/local/lib\" -g -O2 -fno-rtti -fno-exceptions -fno-const-strings -Wno-deprecated -MT nxsl_classes.lo -MD -MP -MF .deps/nxsl_classes.Tpo -c nxsl_classes.cpp  -fPIC -DPIC -o .libs/nxsl_classes.o
nxsl_classes.cpp: In member function `virtual NXSL_Value* NXSL_EventClass::GetAttr(NXSL_Object*, char*)':
nxsl_classes.cpp:135: error: call of overloaded `NXSL_Value(time_t)' is ambiguous
../../../include/nxsl_classes.h:159: note: candidates are: NXSL_Value::NXSL_Value(const NXSL_Value&)
../../../include/nxsl_classes.h:196: note:                 NXSL_Value::NXSL_Value(const char*) <near match>
../../../include/nxsl_classes.h:195: note:                 NXSL_Value::NXSL_Value(double)
../../../include/nxsl_classes.h:194: note:                 NXSL_Value::NXSL_Value(QWORD)
../../../include/nxsl_classes.h:193: note:                 NXSL_Value::NXSL_Value(DWORD)
../../../include/nxsl_classes.h:192: note:                 NXSL_Value::NXSL_Value(INT64)
../../../include/nxsl_classes.h:191: note:                 NXSL_Value::NXSL_Value(LONG)
../../../include/nxsl_classes.h:190: note:                 NXSL_Value::NXSL_Value(NXSL_Array*) <near match>
../../../include/nxsl_classes.h:189: note:                 NXSL_Value::NXSL_Value(NXSL_Object*) <near match>
../../../include/nxsl_classes.h:188: note:                 NXSL_Value::NXSL_Value(const NXSL_Value*) <near match>
gmake[4]: *** [nxsl_classes.lo] Error 1
gmake[4]: Leaving directory `/usr/home/sysadmin/netxms-0.2.22-rc1/src/server/core'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory `/usr/home/sysadmin/netxms-0.2.22-rc1/src/server'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/usr/home/sysadmin/netxms-0.2.22-rc1/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/home/sysadmin/netxms-0.2.22-rc1'
gmake: *** [all] Error 2
#7180
Esli so vremenem vse budet ok, to na sledujuschej nedele.
Poka izmenenija takie:

V sobitijah, alarmah i actionah mozno budet ispol'zovat' skripti dlja formirovanija teksta (v vide macro %[script_name]);
Skripti v event processing policy poluchat dostup k attributam nodi i samogo sobitija cherez peremennie $node i $event;
Dobavlena podderzka custom attributes dlja ob'ektov (t.e. mozno opredelit' svoj attribut skazem u nodi i potom ispol'zovat' v skriptah;
Dobavlena vozmoznost' kodirovki NXCP soobschenij v XML i utilita nxcptest;
Ispravleni zaregistrirovannie bugi #196, #201, #216, #220, #221.

Sobirajus' esche poispravljat' bagov i realizavat' koe-chto iz feature requests.
#7181
Pozalujsta :) Mne toze prijatno chto rezul'tati moej raboti komu-to nuzni :)
#7182
Regexp proverjaet ne tol'ko content stranici, no i header'i. Vot otvet moego web-saita:

HTTP/1.1 200 OK
Date: Fri, 04 Jul 2008 08:05:22 GMT
Server: Apache
X-Powered-By: PHP/4.4.0-pl1-gentoo
Set-Cookie: supraLang=en; expires=Sun, 19 Jul 2009 13:05:23 GMT; path=/
Set-Cookie: PHPSESSID=afa2bbc5cdf668e7db85c92b04cfea2d; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 7658
Connection: close
Content-Type: text/html; charset=UTF-8

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

i dal'she idet content

zagolovok X-Powered-By: PHP/4.4.0-pl1-gentoo prekrasno matchitsja regexpom .*red.*. Vozmozno v vashem headere chto-to podobnoe. Mozno poprobovat'

^HTTP/1\.[01] 200.*<html.*red.* - togda mi budem iskat' slovo red tol'ko posle taga <html>.


#7183
It' an internal parameter (i.e. it represents information existing inside NetXMS server, not on target node). Internal parameter Status represents current node's status in NetXMS encoded as follows:

0 = Normal
1 = Warning
2 = Minor
3 = Major
4 = Critical
5 = Unknown
6 = Unmanaged

There also internal parameter ChildStatus(), which represents status of given node's child object. In addition to status codes listed above, interface objects can have the following additional status codes:

7 = Disabled
8 = Testing

Best regards,
Victor
#7184
Esli DCI imenno takoj, kak v poste:

Quote from: Anth0ny on June 30, 2008, 10:30:38 AM
Мой DCI:

ServiceCheck.HTTP(10.200.1.100,80,/worktest.html,www.intwww.local,"^HTTP/1\.[01] 200.*red*")

Есть на странице слово "red" - получаю "0".
Нет на странице "red" - тоже получаю "0".


to v nem oshibka. REgexp .*red* matchit bukvi re, za kotorimi mozet idti ili ne idti bukva d, posle chego mozet idti chto ugodno. T.e. slova rexx, retry, centered, i t.d. toze smatchatsja. Ochen' bol'shaja verojatnost', chto na etoj stranice vstrechaetsja kombinacija bukv re, poetomu vsegda 0 i vozvraschaetsja.

Pravil'nej budet .*red.*, hotja slovo centered vse ravno podojdet. Dlja testov rekomenduju vzjat' html, propuskat' cherez grep i smotret', pravil'nij li rezul'tat.

Best regards,
Victor
#7185
Quote from: Anth0ny on June 30, 2008, 05:28:09 PM
Виктор, то что я предложил Вами интересно? =)

Da, interesno konechno. Otsutstvie vidimoj reakcii svjazano s dvumja veschami:
1. Segodnja u menja deadline po odnomu proektu, poetomu poslednie dni ja na forum reagirovat' ne uspeval
2. Po ustojavshejsja tradicii :), ja ne kommentiruju zaprosi na funkcional'nost', esli oni ne vizivajut u menja vozrazenij. Obichno kommentarij idet esli eto uze est' v tom ili inom vide, ili kakie-to vozrazenija.

Best regards,
Victor