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

#1186
Это похоже косяк strftime() на винде - таймзона всегда по нулям. Я всё никак не доберусь до виндовой машины с компилятором чтоб проверить.

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

*) Коды ошибок:
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
** тут бинарный протокол, я не буду его описывать.
** Отключаемся

   



Примерно так.
#1189
Похоже криво смигрировалось между базами - хотя я вроде проверял. Показалось. Постараюсь завтра с утра починить.
#1190
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
#1191
Мда, это я не подумал.

Виктор в ближайшее время выложит новый бинарник субагента.
#1192
Файл в аттаче. Надо положить в корень дистрибутива (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 тоже будут собраны - как зависимости).
#1193
Я посмотрел в коде - да, есть такая бага. Сейчас несколько переделаю субагента и выложу дифф.
#1194
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
#1195
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)
#1196
Quote from: Alex on August 06, 2008, 09:34:50 AM
Хм.. Что-то все мои вопросы почему-то остаются без ответа.. Интересно, к чему бы это?

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

*) На ноде сервера должны быть системные 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. В этом варианте желательно часто бекапится :)
#1198
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)
#1199
General Support / Re: Beginner to SNMP for switches
August 01, 2008, 11:47:04 AM
Quote from: QACit on July 28, 2008, 10:06:37 PM
About 2MB.  Will send an e-mail

I've just send you an email with corrected MIBs, please try them.
#1200
General Support / Re: Beginner to SNMP for switches
July 29, 2008, 11:18:28 PM
Yes, I've got your mail. There are some faulty mibs (and some are missing) - I'll try to clean them up today and send you response.