Re: Service.Check.*

From: Alex Kirhenshtein <alk_at_DOMAIN_REMOVED>
Date: Wed, 06 Sep 2006 11:38:30 +0300

Lobahin Ilya wrote:
>
> AK> 2) ServiceCheck.HTTP: пять параметров: host, port, uri, host-header, regexp
>
> хм.
> Не совсем догоняю, зачем нужен regexp, да и с другими параметрами тоже
> в затруднениях?
> Можно примерчик для DCI?
> ServiceCheck.HTTP(213.180.204.8, 80, ya.ru,???,???)

ServiceCheck.HTTP(213.180.204.8, 80, /index.html, ya.ru, "^HTTP/1.[01]
200 .*")

Идея такая:
1) подключаемся к 213.180.204.8:80
2) посылаем такой запрос:

--
GET /index.html HTTP/1.0
Host: ya.ru
--
3) читаем ответ:
---
HTTP/1.0 200 OK
Connection: close
Content-Type: text/html; charset=windows-1251
ETag: "1081521023"
Accept-Ranges: bytes
Last-Modified: Fri, 13 Jan 2006 11:32:57 GMT
Content-Length: 2003
Date: Wed, 06 Sep 2006 08:26:37 GMT
Server: httpd
<html>
<head>
...
---
4) сравниваем ответ с регекспом, в данном случае (^HTTP/1.[01] 200 .*) -
мы проверяем только то, что ответ сервера 200 (page found)
> 
> AK> 3) ServiceCheck.POP3: три параметра:
> AK> host, user, password
> 
> Есть для нас разница - прошла авторизация или нет?
> У меня при неверном пароле был ответ 0.
Если авторизация не прошла, но вернули 0 -- это баг.
хочется посмотреть на сессию:
--
$ telnet host 110
+OK Hello there.
user XXX
+OK Password required.
pass XXX
+OK logged in.
quit
+OK Bye-bye.
--
> 
> AK> 4) ServiceCheck.SMTP: два параметра:
> AK> host, to-addr
> 
> noreply@_HOSTNAME_ захардкоден?
Мы получаем имя хоста при помощи gethostname(), если этот вызов не
прошел, то в hostname подставляется "netxms-portcheck"
wbr, alex
Received on Wed Sep 06 2006 - 11:38:30 EEST

This archive was generated by hypermail 2.2.0 : Wed Sep 06 2006 - 11:39:24 EEST