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

#7201
Da, imenno tak. Esli installjacija delajetsja pod Windows cherez installer, to v okoshke konfiguracii bazi nado vibrat' "Use existing database" i vikljuchit' opciju "Initialize database". Nu i starij i novij servera ne dolzni rabotat' odnovremenno.

Pro fermu serverov - u nas eto nazivaetsja distributed monitoring - eto plani na buduschee. Poka-chto server mozet bit' tol'ko odin.
#7202
Quote from: Anth0ny on June 18, 2008, 12:55:24 PM
+ складывается впечатление, что та проблема, о которой я раньше писал (неправильный статус, должен быть Warning а получается на деле всегда Minor), несколько глубже...

я начинаю подозревать, что есть отдельный статус для сервиса и отдельный статус для ноды вцелом. т.е. если многократно для какого-то из DCI повторяется любое событие со статусом Warning - это переводит ноду, к которой относится данный DCI, в состояние Minor.

иначе я никак не могу объяснить, почему при мониторинге диска (% свободного места) при достижении порога определённого в Event'ах как "Warning" нода сразу помечается как "Minor":

%s выдаёт "1"
%S выдаёт "Minor"

я прав? =) если нет, прошу поправить. если да, то возникает резонный вопрос: а как задаётся порог, после которого нода переводится из одного состояния в другое? Я ниразу ещё не получал извещений о состоянии Warning, всегда начинается с Minor.

Eto bug v obrabotke macrosa %S - Minor i Warning pereputani mestami. %s vozvrashaet pravil'noe znachenije statusa:

0 = normal
1 = warning
2 = minor
3 = major
4 = critical
5 = unknown
6 = unmanaged
7 = disabled
8 = testing

Esli server na UNIX'e, to v faile src/server/core/events.cpp nado stroki


const char *g_szStatusText[] = { "NORMAL", "MINOR", "WARNING", "MAJOR", "CRITICAL", "UNKNOWN", "UNMANAGED", "DISABLED", "TESTING" };
const char *g_szStatusTextSmall[] = { "Normal", "Minor", "Warning", "Major", "Critical", "Unknown", "Unmanaged", "Disabled", "Testing" };


zamenit' na


const char *g_szStatusText[] = { "NORMAL", "WARNING", "MINOR", "MAJOR", "CRITICAL", "UNKNOWN", "UNMANAGED", "DISABLED", "TESTING" };
const char *g_szStatusTextSmall[] = { "Normal", "Warning", "Minor", "Major", "Critical", "Unknown", "Unmanaged", "Disabled", "Testing" };


i peresobrat'. Esli na Windows, to podozdat' versii 0.2.22, skoro dolzna bit'. Spasibo chto prislali oba znacvenija - i %s, i %S, a to bi ja v zizni ne ponjal bi v chem problema :)
#7203
General Support / Re: Log.Scan()?
June 18, 2008, 04:09:18 PM
Still only a plans unfortunately....
#7204
General Support / Re: Web Site monitoring
June 17, 2008, 07:02:17 PM
No, you cannot use URL. For monitoring www.netxms.org, ypu should use request like


www.netxms.org:/


Service should be bound to node object. If you wish to check remote web server without creating node object, you can just create DCI for ServiceCheck.HTTP parameter on your management server and use normal threshold processing.

Best regards,
Victor

P.S. Please use English or post questions in Russian forum. No offence, just reminder :)
#7205
C правами что-то странное, вроде всегда это работало. Попробую у себя смоделировать и буду задавать дополнительные вопросы.

Интерфейс unmanaged означает что он исключен из status polls, но не из configuration polls, которые и находят неправильную маску. Можно отменить или исправить обработку события SYS_INVALID_NETWORK_MASK что-бы не создавать ненужные алармы.
#7206
Тогда способ №2 - т.е. трешолд срабатывает всегда, но в event policy ставим дополнительную проверку на текущее время. Скрипт может выглядеть так:


sub main()
{
   t = localtime();
   return ((t->tm_hour >= 11) && (t->tm_hour <= 23)) ? 1 : 0;
}


можно использовать gmtime() если время нужно в GMT.
#7207
Да, все хранится в базе. Предназначение конфига - обеспечить доступ сервера к базе.

Если базы одинаковые, то можно воспользоваться средствами самой базы (mysqldump, etc.).

Если базы разные, то да, это лучше делать собственной утилитой.

#7208
General Support / Re: WMI Queries
June 17, 2008, 04:46:03 PM
Is WMI service running? Is there any WMI-related messages in agent's log? Also, if start agent in debug mode (by adding -D switch), it will produce additional diagnostics.
#7209
DCI создаются на объекте кластера. Фактически объект кластера работает как шаблон для своих узлов, т.е. как только закрываем DCI editor, сразу обновляется конфигурация узлов. Единственное дополнение - можно связать DCI с ресурсом, тогда этот DCI будет собираться только с той ноды, где сейчас активен этот ресурс.
Активность ресурса определяется по IP адресу, узел на котором находится IP счмтается текущим владельчем ресурса.
#7210
Если вопрос в проверке времени, то сделать это можно двумя путями:

1. Сделать DCI, который собирается с 11:00 до 23:00, это можно сделать через advanced schedule.
2. ПРи обработке события добавить скрипт, который проверяет текущее время и не матчит правило если время не в нужном диапазоне.
#7211
Quote from: Anth0ny on June 17, 2008, 11:23:23 AM
обнаружил баг. или не баг...?

не наследуются права доступа на объекты в Templates. галки наследования стоят, но права на подконтейнеры и объекты не распространяются.

+ даже если вручную дать конкретные права на ноды-объекты под templates, созданный вручную пользователь не видит их. и everyone тож не помогает...

"all child objects are hidden"

мой косяк?

Скорее всего выбрано "hide unmanaged leaf objects", а шаблоны создаются как unmanaged.
#7212
Quote from: Anth0ny on June 11, 2008, 04:57:19 PM
1. в Agent Packages загоняю 2 клиента, 32 и 64 бит
2. в Agent Configurations создаю конфиг, более детальный чем дефолтный
3. ставлю на любую машину агента (32 бит) руками
4. через Agent Packages даю команду установить на эту машину агента (той же версии)
5. показывается статус что что-то пошло, и.... тишина.

далее я полез на машину, на которую диплоил и обнаружил что клиент остановлен. я его запустил и консоль тут же сказала что всё прошло успешно. перепроверял себя несколько раз- эффект всегда один и тот же. проверено: клиентский дистрибутив заливается успешно, присутствует в \var.

важно? я ставлю Агента ВСЕГДА в C:\Program Files\NetXMS\. Никогда не ставлю как предлагается по дефолту, в корень.

Несколько раз проверил у себя - ставил агента в C:\Program Files\NetXMS, делал сверху deploy той-же версии с сервера - все в порядке. Единственное различие между запуском инсталлера по команде с сервера и руками - в первом случае он запускается от имени Local System (или пользователя под которым работает сервис агента), а во втором - от имени пользователя зашедшего в систему. Не могут это быть какие-то доменные политики? Еще вопрос - при ручной инсталляции какие-то сообщения выскакивают?

В версии 0.2.22 будут создаваться логи инсталляции - похоже пригодится...

Best regards,
Victor
#7213
General Support / Re: WMI Queries
June 12, 2008, 12:09:29 PM
Hi!

Actually, WMI.Query(*) gets three parameters - namespace, query string, and property name. For example, to get CPU information, you can use the following parameter:


WMI.Query(root\CIMV2,SELECT * FROM Win32_Processor,Name)


Best regards,
Victor
#7214
Quote from: Anth0ny on June 11, 2008, 12:34:36 PM
по ходу изучения системы возник ещё один но для меня очень важный вопрос: у нас беда с охлаждением в серверной и мы пытаемся замониторить температуру компонентов серверов (в основном процессора).

я не смог навскидку разобраться с предоставляемыми мониторингом возможностями:

ACPI.ThermalZone.CurrentTemp
ACPI.ThermalZone.CurrentTemp{*}

для ACPI.ThermalZone.CurrentTemp{*} я так понял должны быть переданы параметры, описывающие что именно я хочу мониторить (указание объекта или зоны?). однако я в документации про температурный мониторинг ничего найти так и не смог... не подскажете, где для "ACPI.ThermalZone.CurrentTemp{*}" можно почитать про эти самые параметры?

ACPI.ThermalZone.CurrentTemp(*) vozvrashaet tekuschuju temperaturu v ukazannoj termal'noj zone kompjutera. Spisok termal'nih zon na dannom hoste mozno poluchit' cherez enum ACPI.ThermalZones, naprimer pri pomoschi komandi nxget:


nxget -l [i]host[/i] ACPI.ThermalZones


Poskol'ku v bol'shinstve sistem termal'naja zona vsego odna (obichno eto datchik na motherboard'e), to mozno ispol'zovat' uproshennij variant parametra - ACPI.ThermalZone.CurrentTemp - on vozvraschaet tekuscheje znachenie dlja pervoj termal'noj zoni. Chtobi eti parametri rabotali, na hoste dolzna bit' posdderzka ACPI i datchik temperaturi.

Best regards,
Victor
#7215
Пункт 1 реализован, см. Installation Guide раздел 5.5.

Конфиги на сенрвере хранятся в базе.

С пунктами 2 и 3 согласен, можно будет сделать.

Best regards,
Victor