News:

We really need your input in this questionnaire

Main Menu
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 - Alex Kirhenshtein

#1096
General Support / Re: Received fatal Debug message
October 20, 2008, 02:43:03 AM
Thank you for report, we will investigate it.
#1097
Проверил на XP sp3 - всё замечательно. Попробуй тест из аттача, это консольное приложение, которые должно вывести время с таймзоной.

Примерно так:
Date: Sun, 05 Oct 2008 19:13:28 FLE Standard Time
#1098
Это похоже косяк strftime() на винде - таймзона всегда по нулям. Я всё никак не доберусь до виндовой машины с компилятором чтоб проверить.

Quote from: Alex on October 03, 2008, 11:59:23 AM
Не знаю не знаю, но у меня на ляликсе все путем.
#1099
На какой платформе работает сервер?
#1100
Легенда:

*) Коды ошибок:
PC_ERR_NONE         = 0 - всё хорошо
PC_ERR_BAD_PARAMS   = 1 - кривые параметры запроса, на данный момент так отвечает только HTTP - если regexp неправильный
PC_ERR_CONNECT      = 2 - не смогли подключится к host:port
PC_ERR_HANDSHAKE    = 3 - ответ проверяемого сервера не совпал с ожидаемым


*) "->" - отсылаем данные на проверяемый хост
*) "<-" - получаем данные от проверяемого хоста




На данный момент port checker subagent поддерживает 6 DCI:

ServiceCheck.POP3

Пытаемся залогинится на указанный POP3 сервер.

Принимает 3 параметра: host, login, password.
(только что обнаружил, что через DCI нельзя проверять произвольный порт - только через service object)

Пример: ServiceCheck.POP3(mail.netxms.org,testuser,testpassword)

Как проходит проверка:
** Подключаемся на mail.netxms.org:110
<- +OK
-> USER testuser
<- +OK
-> PASS testpassword
<- +OK
** Отключаемся


ServiceCheck.SMTP

Пытаемся отослать email через указанный SMTP на указанные email.

Принимает 2 параметра: host, адрес_куда_посылаем_письмо.

Пример: ServiceCheck.SMTP(mail.netxms.org,[email protected])

Как проходит проверка:
** Подключаемся на mail.netxms.org:25
<- 220-mail server banner line 1
<- 220-mail server banner line 2
<- 220 mail server banner line 3
-> HELO netxms-portcheck
<- 250 ...
-> MAIL FROM noreply@netxms-portcheck
<- 250 ...
-> RCPT TO: [email protected]
<- 250 ...
-> DATA
<- 354 ...
-> From: <noreply@netxms-portcheck>
-> To: [email protected]
-> Subject: NetXMS test mail
-> Date: ...
->
-> NetXMS test mail
-> .
<- 250 ...
-> QUIT
<- 221 ...
** Отключаемся


Имя "netxms-portcheck" используется если вызов gethostname() вернул ошибку, иначе - имя хоста на котором работает агент.


ServiceCheck.SSH

Пытаемся проверить наличие SSH демона

Принимает 2 параметра: host, port.

Пример: ServiceCheck.SSH(www.netxms.org,22)

Порт по умолчанию: 22

Как проходит проверка:
** Подключаемся на mail.netxms.org:22
<- SSH-major.minor-...
-> SSH-major.minor-NetXMS
** Отключаемся


Major и minor - версия протокола которую поддерживает ssh сервер. Такой handshake нужен чтоб sshd не ругался в логи.


ServiceCheck.HTTP

Проверяем результат http запроса на соответствие regexp-у.

Развернутое описание есть тут: https://www.netxms.org/forum/index.php/topic,406.0.html

Принимает 5 параметров: host, port, URI, host_header, regexp

Пример 1: ServiceCheck.HTTP(www.netxms.org,80,/,www.netxms.org,^HTTP/1\.[01] 200.*)

Порт по умолчанию: 80
regexp по умолчанию: "^HTTP/1.[01] 200 .*" (т.е. проверка на то, что страница найдена на сервере)

Пример 2 (идентичен примеру 1): ServiceCheck.HTTP(www.netxms.org,,/,www.netxms.org)

Как проходит проверка:
** Подключаемся на www.netxms.org:80
-> GET / HTTP/1.1
-> Connection: close
-> Host: www.netxms.org
->
<- HTTP/1.1 200 OK
<- Content-type: ...
<- ...
** Отключаемся
** Сравниваем полученные данные с regexp-ом



ServiceCheck.Custom

На данный момент проверяет только возможность подключения к удаленному хосту (т.е. с другой стороны порт слушают и принимают соединения).

Принимает два параметра: host, port

Пример: ServiceCheck.Custom(www.netxms.org,3306) - проверяем наличие mysql на www.netxms.org

Как проходит проверка:
** Подключаемся на www.netxms.org:3306
** Отключаемся



ServiceCheck.Telnet

Проверяет наличие telnet сервера на host:port и правильность handshake-а.

Принимает два параметра: host, port

Порт по умолчанию: 23

Пример: ServiceCheck.Telnet(www.netxms.org,23)
Пример: ServiceCheck.Telnet(www.netxms.org)

Как проходит проверка:
** Подключаемся на www.netxms.org:23
** тут бинарный протокол, я не буду его описывать.
** Отключаемся

   



Примерно так.
#1101
Похоже криво смигрировалось между базами - хотя я вроде проверял. Показалось. Постараюсь завтра с утра починить.
#1102
It's weird.

Could you try any other database, just for test? SQLite, for example - you don't have to install anything, just change DBDriver to sqlite.ddr and DBName to DB file path (somethign like c:\netxms\netxms_db). Then you should create dabase by running C:\NetXMS\bin\nxdbmgr.exe init C:\NetXMS\lib\sql\dbinit_sqlite.sql
#1103
Мда, это я не подумал.

Виктор в ближайшее время выложит новый бинарник субагента.
#1104
Файл в аттаче. Надо положить в корень дистрибутива (e.g. netxms-0.2.22/) и запустить:
patch -p0 < /путь/к/portcheck.diff

Я погонял на файлах разного размера и с разных серверов - вроде проблем нету.

Про сборку только субагента - если не чистили каталог из которого делали make install - то можно после патча пойти в src/agent/subagents/portCheck и сделать оттуда make install - субагент должен пересобраться и поставиться. Если из чистого дистрибутива - то для ускорения можно сделать configure --with-agent, сборка пройдет быстрее (но foundation libraries и core agent тоже будут собраны - как зависимости).
#1105
Я посмотрел в коде - да, есть такая бага. Сейчас несколько переделаю субагента и выложу дифф.
#1106
There are no telnet check at the moment, but you can use "User defined" service check for this:

*) Right click on node -> Create -> Service
*) Type any name; set "Service Type" to "User defined" and change "TCP/UDP Port" to "23"
*) Press Ok to save changes
#1107
Hello.

Check DBDriver parameter in netxmsd.conf, it should points to database driver's .so file (should be "DBDriver=/usr/local/netxms/lib/libnxddr_mysql.so" in your case, I assume)
#1108
Quote from: Alex on August 06, 2008, 09:34:50 AM
Хм.. Что-то все мои вопросы почему-то остаются без ответа.. Интересно, к чему бы это?

Виктор сейчас в Лихтенштейне; когда доберется до нормального интернета - ответит.
#1109
Скорее всего упирается в конфигурацию постгреса и память.

*) На ноде сервера должны быть системные DCI-и, проверьте "Average length of database writer's request queue for last minute" - это количество запросов, которое провисело в очереди на запись в базу. Если сильно (и постоянно) больше нуля - проблема именно тут.
*) Проверьте настройки постгреса ("из коробки" он очень консервативен по ресурсам - и ужасно медленный): количество выделенной памяти, включен ли stats_start_collector/stats_row_level/autovacuum. Сделайте "vacuum full analyze" при остановленном netxms сервере.
*) Попробуйте доставить памяти до 512/гигабайта (и половину отдать постгресу)
*) Как вариант - поставить mysql на myisam, он быстрее на запись чем постгрес или mysql на innodb. В этом варианте желательно часто бекапится :)
#1110
General Support / Re: Beginner to SNMP for switches
August 01, 2008, 11:49:20 AM
Quote from: Anth0ny on July 30, 2008, 09:40:48 AM
2 Alex: can you create a repository for all your cleaned MIBs?
for future use...

:)

We are shipping most of them with release versions; you can also get them from subversion: https://svn.netxms.org/public/netxms/trunk/contrib/mibs/ (MIBs from this topic are not included yet)