NetXMS Support Forum

Please login or register.

Login with username, password and session length

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.

Topics - Anth0ny

Pages: [1] 2 3
1
Виктор, приветствую!

Всё-таки решил снова написать, так как проблема так и не решилась: время от времени NXMS-сервер (win32) даёт небольшой сбой и не происходит парсинг получаемых от агента значений... По-моему, так.

DCI- сбор данных о размере свободного места на диске win32-сервера (%).

Логика:

Если >15 - "ок"
Если <15 - "важно"
Если <10 - меняем "важно" на "критично"
Если <15 но >10 - меняем "критично" на "важно"
Если >15 - "ок"

Настройки:

Disk.FreePerc(D:)
Less or equal 10.000000 - if TRUE -> DISK_CAPACITY_CRITICAL, if FALSE -> DISK_CAPACITY_WARNING
Less or equal 15.000000 - if TRUE -> DISK_CAPACITY_WARNING, if FALSE -> DISK_CAPACITY_OK

Вот как выглядит правильное сообщение о понижении места:
(я использую вот такое форматирование сообщения)

Quote
ВРЕМЯ ВОЗНИКНОВЕНИЯ:   06-Jul-2009 22:55:43
МЕСТО ВОЗНИКНОВЕНИЯ:   serv1.mydom.ru[10.200.1.1]
ПАРАМЕТР:      Свободное место на диске D (в %) (EXCHANGE):
СТАТУС СОБЫТИЯ:      Critical

АХТУНГ: критическое состояние параметра "Свободное место на диске D (в %) (EXCHANGE):"! Текущее значение: 9.920993 (пороговое значение: 10.000000)

А вот как выглядит неправильное сообщение (оно в таком виде записывается и в System Log и по почте шлётся, НЕТ порогового значения и не парсится получаемое):

Quote
ВРЕМЯ ВОЗНИКНОВЕНИЯ:   07-Jul-2009 06:55:46
МЕСТО ВОЗНИКНОВЕНИЯ:   serv1.mydom.ru[10.200.1.1]
ПАРАМЕТР:      Свободное место на диске D (в %) (EXCHANGE):
СТАТУС СОБЫТИЯ:      Warning

ПРЕДУПРЕЖДЕНИЕ: рекомендуется проверить состояние параметра "Свободное место на диске D (в %) (EXCHANGE):"! Текущее значение:  (пороговое значение: 0x00000414)

Ошибку можно как-то починить? =)
И что это вообще такое, 0x00000414?

2
Общие вопросы / PDH, вопрос и просьба...
« on: July 06, 2009, 03:42:27 pm »
Вопрос: каунтер Process(имя_процесса)\% Processor Time") это Process.CPUTime(<insert arguments here>)?

У меня не проходит такой запрос: PDH.CounterValue("\Process(CopyService)\% Processor Time"), как значение всё время возвращается "0"...
Как можно собрать загрузку CPU по конкретному процессу?


Приложив голову, понял что тут надо собирать 2 семпла для рассчёта.
Так работает (сам DCI отрабатывает 1 раз в 30 минут, за это время собираются 2 промежуточных семпла): PDH.CounterValue("\Process(CopyService)\% Processor Time", 30)

Просьба: нельзя ли в последующих версиях NXMS в графе "Description" напротив PDH-элементов писать их windows-эквивалент? Тогда и описания на них никакого не нужно будет, и разночтений не будет.

3
Общие вопросы / 0.2.26 и Windows 2000 AdvServer
« on: June 02, 2009, 11:47:02 am »
Это сочетание должно работать?

Я не могу запустить сервис, он валится, получаю такое в системный лог:

Application popup: nxagentd.exe - Entry Point Not Found : The procedure entry point MiniDumpWriteDump could not be located in the dynamic link library dbghelp.dll. 

потом

Timeout (30000 milliseconds) waiting for the NetXMS Agent service to connect.

потом

The NetXMS Agent service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.


4
А вот бы было здорово реализовать для мониторинга сервиса DNS что-то в таком роде:




5
Ситуация: есть удалённая windows-машина, на которой нужно следить за состоянием сервисов. Данная машина доступна только по SNMP, больше никак. На машине (2003) поднят SNMP, на сервер NXMS добавлен LanMgr-Mib-II-MIB.mib и базовый mib пересобран.

Сегодня долго ковырялся и решал эту проблему. Вроде ведь ничего сложного, но вот не решается она так, как надо.


Проблема: при использовании SNMP для мониторинга windows-сервисов, OID сервиса доступен (присутствует в общем дереве OID'ов) только до тех пор, пока сам сервис запущен. Как только сервис останавливается, OID незамедлительно пропадает и DCI тут же переходит в состояние Not Supported.

Его конечно понять можно, ведь с точки зрения базовой логики поскольку объект отсутствует, то мониторить просто нечего. И введённый OID начинает считаться ошибочным =/.

Пример OID'а.

1. OID раздела сервисов: 1.3.6.1.4.1.77.1.2.3.1. = enterprises.lanmanger.lanmgr-2.server.svSvcEntry.svSvcTable

2. Таблицы с перечнями свойств сервисов

        .1 = svSvcName (.#char.dec-ascii chars, matches service name in service control panel including case)
        .2 = svSvcInstalledState (1-uninstalled,2-install-pending,3-uninstall-pending,4-installed)
        .3 = svSvcOperatingState (1-active, 2-continue-pending, 3-pause-pending, 4-paused)
        .4 = svSvcCanBeUninstalled (1-no, 2-yes)
        .5 = svSvcCanBePaused (1-no, 2-yes)

3. Соответственно, OID'ы сервисов строятся так (на примере Task Scheduler):

OID с названием сервиса: 1.3.6.1.4.1.77.1.2.3.1.1.14.84.97.115.107.32.83.99.104.101.100.117.108.101.114
выдаст "Task Scheduler"

OID с состоянием сервиса: 1.3.6.1.4.1.77.1.2.3.1.3.14.84.97.115.107.32.83.99.104.101.100.117.108.101.114
при запущенном сервисе выдаст "1"

Вопрос: как кто решал подобную проблему? Как через SNMP можно мониторить состояние сервисов если их OID'ы исчезают после остановки или падения сервисов а именно за этим и нужно следить?

Всё бы ничего, да при этом полностью отказывает DCI. И его можно реанимировать только ручками. Что для большого числа хостов и сервисов не приемлемо...

Прошу помочь...

2 Виктор: как в данном случае лучше поступить, что посоветуете? Нельзя ли в будущих релизах NXMS немного изменить подход к SNMP, например добавить при выборе агента "SNMP" специальную галочку, для того чтобы в случае если OID исчезает, мониторинг не считал это поводом просто перестать мониторить заданный OID, а поступал бы так же, как и в случае стандартного события? Вроде такого: OID есть- всё ок, OID'а нет- сгенерировать аларм.

6
Установка проводилась на Win2008Std (x32).
База - PGSQL 8.3

И теперь сервер NXMS не заводится.

Application popup: nxdbmgr.exe - Unable To Locate Component : This application has failed to start because k5sprt32.dll was not found. Re-installing the application may fix this problem.

+ не поставился агент. пришлось ставить вручную.
+ запустить nxdbmgr невозможно- ругается на отсутствие либы MSVCR71, gssapi32.dll

7
Общие вопросы / Поблема c 0.24 (windows 2003)
« on: February 05, 2009, 12:30:57 pm »
Проблема странная. Проявилась только сейчас и только на двух машинах.

Клиент не ставится (точнее не устанавливается сервис).
Ошибка в логе:

Reporting queued error: faulting application nxagentd.exe, version 0.0.0.0, faulting module libnetxms.dll, version 0.0.0.0, fault address 0x00014f87.

Пока не пойму в чём дело...

8
Общие вопросы / Вопрос: шаблоны
« on: January 12, 2009, 10:40:31 am »
Возник такой вопрос: а как вывести отслеживаемую ноду из под действия Шаблона? Можно просто удалить ноду в контейнере Шаблона?

9
Я не вполне уверен что данный вопрос не поднимался уже ранее, однако поиск ничего не дал...

Предложение: я предлагаю ввести в NXMS наряду с возможностью мониторинга базовых служебных протоколов типа telnet, smtp, http, etc также и возможность мониторинга игровых серверов.

Суть: требуется уметь только одну вещь - стандартно как и для других протоколов (например, определение доступности веб или telnet-серверов) определять, жив ли игровой сервер.

Всё что для это нужно - уметь запрашивать сервер по заданному порту и разбираться, откликается ли сервер. Идеальный вариант - использование технологии, аналогичной определению живости веб-сервера (и наличия на полученной запрошенной странице нужных или нежелательных слов) и простого сравнения получаемого результата с эталоном.

Попытаюсь привести пример: (к сожалению, тут только поверхностный)

Игровой движок- Valve "Source"

инфо: http://developer.valvesoftware.com/wiki/Main_Page
SDK: http://developer.valvesoftware.com/wiki/SDK_Docs

Сервер (игра)- Team Fortress 2 (но данное решение подойдёт и для любой другой игры на данном движке)

DCI может выглядеть так:

Origin: NetXMS Agent
Data type: String

Data Parameter: в целом, как мне кажется, можно использовать схожую с HTTP но несколько видоизменённую схему

было: (ServiceCheck.HTTP(server_ip_address,port,uri,host_header,response))
стало: (ServiceCheck.SRCDS(server_ip_address,port,server_variable))
новый запрос: ServiceCheck.SRCDS(10.100.0.1,27015,hostname)

SRCDS - Source Dedicated Server
10.100.0.1,27015 - адрес и порт сервера
hostname - мы хотим получить от сервера содержание его переменной "hostname" (название сервера)

Соответственно, если сервер возвращает содержание переменной (нужно использовать трэшолды, содержащие имя сервера)- он жив и здоров.

Если данный вопрос вас заинтересовал, готов предоставить всю необходимую для разработки документацию по Source (мы сейчас используем самописную систему для мониторинга наших игровых серверов, она в сущности неплохо справляется, но она, к сожалению, локальна по отношению к каждому серверу, не масштабируема, а количество серверов у нас растёт).

ПС: ровно такой же подход можно практиковать при мониторинге абсолютно любого игрового сервера. Я ещё не видел на рынке систем мониторинга ВАШЕГО уровня таких систем, которые бы предоставляли возможность мониторинга игровых серверов "из коробки". Не хотите стать первыми?  :)

Готов предоставить информацию, разъяснения, полигон и всё прочее, нужное для тестов (www.megatron.ws).

10
Общие вопросы / Потенциальная проблема?
« on: December 24, 2008, 10:23:29 am »
Если сервер мониторинга довольно сильно нагружен, то возникает ситуация, что могут возникнуть (я вот сейчас сижу и жду, чтоже получилось) проблемы с целостностью данных в базе.

Ситуация: если сервер нагружен, то возникают проблемы с применением шаблонов на объекты (нет уверенности что в таблицы вносятся все данные из шаблона).

В моём случае шаблон предельно прост - только одна простая запись (1 DCI).

После применения шаблона на объект (любую из нод) после минутного ожидания с окном "Applying template ..." получаем "Error applying template: request timed out."

Примерно тоже самое возникает при превращении DCI в шаблон - после минутного ожидания получаю ту же ошибку, НО в плюс к этому после ошибки таймаута падает сама консоль.

Хотя всё пока выглядит вроде рабочим я не уверен что всё на самом деле хорошо... Вдруг где-то какое-то из полей в базе не перенеслось или не заполнилось нужными данными...?

Вот беда..  :-\

11
Общие вопросы / Push-агент
« on: December 17, 2008, 05:29:32 pm »
Довольно долго пытался вникнуть в суть данного агента и так до конца и не понял как же он работает.

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

Я привык ориентироваться в документации на примеры и думаю мне вполне будет достаточно одного примера чтобы понять суть и способы применения...

Прошу помочь. =)

12
OS: Windows 2008 x64

Всё сделал как написано тут: https://www.netxms.org/forum/index.php/topic,483.0.html

После всех преготовлений перезапускаю Агента, и....
Получаю в System-логе вот такое сообщение:

LogWatch: Cannot create parser from configuration file C:\Program Files\NetXMS\etc\log_2.xml (Compiled without XML support)

13
Общие вопросы / MIBS для использования в NXMS
« on: December 08, 2008, 04:04:43 pm »
Вопрос следующий: кто-нить натыкался в сети на хранилища mib'ов, которые не нужно править перед использованием с NXMS?

На данный момент пытаюсь прикрутить

LaserJet4V-MIB.mib
HP-LASERJET-COMMON-MIB.mib
LaserJet-Series4000-MIB.mib

(всё в атаче)

Но результат нулевой- все эти мибы считаются ошибочными =(((

14
Виктор, приветствую.

Прошу, если возможно, внести следующие изменения:

1) Прошу добавить в Event Processing policy Editor возможность менять положение Правил обработки (чтобы можно было перемещать Правила, менять их расположение относительно друг друга и их очерёдность применения).

2) Если возможно, было бы неплохо отключить первичное срабатывание NXMS при перезапуске core-сервиса NXMS. А то при каждом таком перезапуске все, кто подписан на получение почтой извещений о состоянии отслеживаемых систем, получают почему-то список - перечень кластеров (!? я так и не понял почему и причём тут кластера) и порцию извещений о последних неудачных тестах (текущие не закрытые варнинги).

3) прошу увеличить объём, выделенный для внесения текста в поле "Message Template" у События (Event). а то нельзя туда запихнуть столько информации, сколько бы хотелось...

4) в Actions нельзя создавать Действия, давая им русские имена. не принимаются. это можно поправить?


15
Приветствую!

Возникли следующие 2 вопроса:

1. Если я на сервере отслеживаю состояние сервиса (например spooler) через System.ServiceState(spooler), то %1 всегда возвращает именно System.ServiceState(spooler). Можно ли каким-то образом получать только значение, заключённое в ()? т.е. в данном случае только само значение spooler.

2. вытекает из первого вопроса. если я хочу автоматически перезагружать сервис spooler, я

а) создаю Action на сервере: Reset My Service \ Execute action on remote agent\ %a \ ResetService
б) создаю запись в конфиге Агента: ActionShellExec = ResetService:sc stop spooler && sc start spooler
в) создаю привязку Action "Reset My Service" к Event "SYS_SERVICE_DOWN" через Event Processing Policy
г) создаю DCI и добавляю в свойства DCI параметр Threshold: Last polled value - Not equal - 0 - SYS_SERVICE_DOWN

а вот теперь собственно вопрос: если я хочу сделать Reset My Service универсальным Action для ЛЮБОГО сервиса, как мне модифицировать строку ActionShellExec = ResetService:sc stop spooler && sc start spooler

может быть так? ActionShellExec = ResetService:sc stop %1 && sc start %1

и вот тут всплывает первый вопрос: %1 - возвращает не только название сервиса "spooler", но так же содержит и метод проверки "System.ServiceState".

Прошу помочь.
 :)

Pages: [1] 2 3