Несколько вопросов.

Started by Anth0ny, June 10, 2008, 09:34:34 AM

Previous topic - Next topic

Anth0ny

#15
+ складывается впечатление, что та проблема, о которой я раньше писал (неправильный статус, должен быть Warning а получается на деле всегда Minor), несколько глубже...

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

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

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

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

Victor Kirhenshtein

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 :)

Victor Kirhenshtein

Quote from: Anth0ny on June 18, 2008, 10:17:19 AM
+ проявились странности при опросе ACPI.ThermalZone.CurrentTemp

настроено как NetXMS Agent \ Integer

судя по настройке, параметр температуры должен опрашиваться ровно точно также, как и всё остальное... 1 раз в минуту (Polling and Storage = 60 seconds)...

а вместо этого получаем вот что: (даю результаты с нескольких серверов, с тех, что ответили, может удастся вычислить закономерность? и плиз, на будущее, пока идёт отладка: нужны возможности экспорта ото всюду, а то скрины делать не всегда удобно, а так бы экспортировал список и сюда постнул)

A kak ostal'nie parametri, sobirajutsja reguljarno? Esli da, to problema skoree vsego na storone agenta, a esli net - to eto obschaja problema servera. U ob'ekta kotorij predstavljaet sam NetXMS server dolzni bit' avtomaticheski sozdannie DCI so statistikoj po vnutrennim ocheredjam NetXMS servera - kakie tam znacvhenija?

Anth0ny

1. Нее...
Всё, о чём я говорил и буду говорить, относится к Windows =).
У меня пока не стоит задача ставить мониторинговый сервер или агентов на Unix.

Так что ждём-с 0.2.22 =)

2. судя по субъективным ощущениям, всё остальное собирается нормально. по крайней мере мониторинг свободного места пашет как часы, проблем не замечено. странности только с опросом ACPI.

по поводу значений по очередям, а можно указать путь в консоли, по которому их искать? =) а то я что-то не очень понимаю, как их найти...

Victor Kirhenshtein

Про очереди: есть объект "node", который представляет сам NetXMS сервер - он создается автоматически. У него так-же автоматически создаются DCI для мониторинга внутренних очередей. Надо найти этот объект и посмотреть текущие значения этих DCI.

Anth0ny

осмотрел очереди (если я правильно понял о чём была речь).

Server.AverageDCPollerQueueSize = 0 (вся история = 0)
Server.AverageDBWriterQueueSize = значения меняются ... но не регулярно.
Server.AverageDCIQueuingTime = значения постоянно пляшут от 5 до 30.
Server.AverageStatusPollerQueueSize = 0 (вся история = 0)
Server.AverageConfigurationPollerQueueSize = 0 (вся история = 0)

Пока отказался от использования ACPI в пользу мониторинга встроенных датчиков через SNMP. Результаты отличные, мониторю на температуру сервера DELL и HP.

Anth0ny

1. Всё так же странно работает или точнее не работает назначение прав пользователям. У всех кроме администратора попрежнему пусто в Object Browser'е. Какие бы права я не давал.

Я один такой? Ктонить ещё с таким сталкивался?

2. Прошу проверить если есть и если нет то внедрить 100% блокиратор наследования шаблонов вниз по иерархии. А то получается что как только я вношу изменение в шаблон, так этот шаблон тут же применяется ко всем объектам внутри контейнера Templates и подисабленные объекты снова включаются. Очень напрягает при большом количестве разнородных DCI.

3. Не нашёл описания, как связать авторизацию в консоли NetXMS с Radius'ом. Прошу помочь. Может где-то обсуждалось но я пропустил...?

:)

Anth0ny

#22
Возник небольшой вопрос, не стал создавать отдельную тему...

Снимаю показания типа Disk.Free(C:)
Тип: Unsigned Int64

Вопрос: получаемое значение - биты?

Перевод в гигабайты будет (скрипт) таким?

(($1/1024)/1024)/1024

Пробовал- не получается, не срабатывает...
Как превратить биты в гигабайты скриптом?

Anth0ny

#23
в ответ на такую трансформацию получаю по почте уведомление:

Выполнение скрипта (DCI::mytest.server.ru::633) вызвало ошибку: Error 13 in line 1: Cannot do automatic type cast

Суть: хотелось бы в почтовых извещениях получать не биты, а гигабайты.

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

Alex

Ваще-то в одном байте 8 бит. И чтоб из бит перевести в байты, то значение нужно умножить на 8, т.е. $1*8
Дальше можно извращаться с полученным значением так, как тебе нужно.
Тут эта тема уже где-то была кстати.

Anth0ny

Alex, спасибо...
Я видел похожие темы.

Странно вот что: почему не срабатывает простая арифметическая операция деления?

Victor Kirhenshtein

Quote from: Anth0ny on November 17, 2008, 12:48:59 PM
Возник небольшой вопрос, не стал создавать отдельную тему...

Снимаю показания типа Disk.Free(C:)
Тип: Unsigned Int64

Вопрос: получаемое значение - биты?

Перевод в гигабайты будет (скрипт) таким?

(($1/1024)/1024)/1024

Пробовал- не получается, не срабатывает...
Как превратить биты в гигабайты скриптом?

Eto osobennost' perevoda unsigned int64 vo float - sledujuschaja konstrukcija dolzna rabotat':

((int64($1)/1024)/1024)/1024

Anth0ny

Виктор, спасибо, скрипт работает =)

Anth0ny

#28
приветствую! =)

небольшой вопросец:

System.IO.DiskQueue - FLOAT - "Average disk queue length for last minute"

это

PDH.CounterValue("\PhysicalDisk(2 C:)\Avg. Disk Write Queue Length")

или

PDH.CounterValue("\PhysicalDisk(2 T:)\Avg. Disk Read Queue Length")

или это _Total?

Victor Kirhenshtein

Eto srednee znachenie countera \Physical Disk(_Total)\Current Disk Queue Length za minutu.