Несколько вопросов.
-
@victor said:
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.ThermalZonesPoskol'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Виктор, спасибо!

В процессе проверки серверов указанной командой при запросе доступных параметров я ни на одном из серверов (IBM, HP) не увидел в списке ACPI.
Максимум это:
C:\Support\NetXMS\bin>nxget -I 192.168.0.1 [b]Error loading RSA keys from "C:\NetXMS\var\server_key"[/b] Disk.Free(*) UINT64 "Free disk space on {instance}" Disk.FreePerc(*) FLOAT "Percentage of free disk space on {instance}" Disk.Total(*) UINT64 "Total disk space on {instance}" Disk.Used(*) UINT64 "Used disk space on {instance}" Disk.UsedPerc(*) FLOAT "Percentage of used disk space on {instance}" Net.Interface.AdminStatus(*) INT "Administrative status of interface {instance}" Net.Interface.BytesIn(*) UINT "Number of input bytes on interface {instance}" Net.Interface.BytesOut(*) UINT "Number of output bytes on interface {instance}" Net.Interface.Description(*) STRING "Description of interface {instance}" Net.Interface.InErrors(*) UINT "Number of input errors on interface {instance}" Net.Interface.Link(*) INT "Link status for interface {instance}" Net.Interface.OutErrors(*) UINT "Number of output errors on interface {instance}" Net.Interface.PacketsIn(*) UINT "Number of input packets on interface {instance}" Net.Interface.PacketsOut(*) UINT "Number of output packets on interface {instance}" Net.Interface.Speed(*) UINT "Speed of interface {instance}" Net.IP.Forwarding INT "IP forwarding status" PhysicalDisk.Firmware(*) STRING "Firmware version of hard disk {instance}" PhysicalDisk.Model(*) STRING "Model of hard disk {instance}" PhysicalDisk.SerialNumber(*) STRING "Serial number of hard disk {instance}" PhysicalDisk.SmartAttr(*) STRING "" PhysicalDisk.SmartStatus(*) INT "Status of hard disk {instance} reported by SMART" PhysicalDisk.Temperature(*) INT "Temperature of hard disk {instance}" System.CPU.Count UINT "Number of CPU in the system" System.Hostname STRING "Host name" System.Memory.Physical.Free UINT64 "Free physical memory" System.Memory.Physical.Total UINT64 "Total amount of physical memory" System.Memory.Physical.Used UINT64 "Used physical memory" System.Memory.Virtual.Free UINT64 "Free virtual memory" System.Memory.Virtual.Total UINT64 "Total amount of virtual memory" System.Memory.Virtual.Used UINT64 "Used virtual memory" System.Uname STRING "System uname" Agent.AcceptedConnections UINT "Number of connections accepted by agent" Agent.AcceptErrors UINT "Number of accept() call errors" Agent.ActiveConnections INT "Number of active connections to agent" Agent.AuthenticationFailures UINT "Number of authentication failures" Agent.FailedRequests UINT "Number of failed requests to agent" Agent.ProcessedRequests UINT "Number of requests processed by agent" Agent.RejectedConnections UINT "Number of connections rejected by agent" Agent.SourcePackageSupport INT "" Agent.SupportedCiphers STRING "List of ciphers supported by agent" Agent.TimedOutRequests UINT "Number of timed out requests to agent" Agent.UnsupportedRequests UINT "Number of requests for unsupported parameters" Agent.Uptime UINT "Agent's uptime" Agent.Version STRING "Agent's version" File.Count(*) UINT "Number of files {instance}" File.Hash.CRC32(*) UINT "CRC32 checksum of {instance}" File.Hash.MD5(*) STRING "MD5 hash of {instance}" File.Hash.SHA1(*) STRING "SHA1 hash of {instance}" File.Size(*) UINT64 "Size of file {instance}" File.Time.Access(*) UINT64 "Time of last access to file {instance}" File.Time.Change(*) UINT64 "Time of last status change of file {instance}" File.Time.Modify(*) UINT64 "Time of last modification of file {instance}" System.PlatformName STRING "Platform name" Net.RemoteShareStatus(*) INT "Status of remote shared resource" Net.RemoteShareStatusText(*) STRING "Status of remote shared resource as text" Process.Count(*) INT "Number of {instance} processes" Process.CountEx(*) INT "Number of {instance} processes (extended)" Process.GdiObj(*) UINT64 "GDI objects used by process {instance}" Process.IO.OtherB(*) UINT64 "" Process.IO.OtherOp(*) UINT64 "" Process.IO.ReadB(*) UINT64 "" Process.IO.ReadOp(*) UINT64 "" Process.IO.WriteB(*) UINT64 "" Process.IO.WriteOp(*) UINT64 "" Process.KernelTime(*) UINT64 "Total execution time in kernel mode for process {instance}" Process.PageFaults(*) UINT64 "Page faults for process {instance}" Process.UserObj(*) UINT64 "USER objects used by process {instance}" Process.UserTime(*) UINT64 "Total execution time in user mode for process {instance}" Process.VMSize(*) UINT64 "Virtual memory used by process {instance}" Process.WkSet(*) UINT64 "Physical memory used by process {instance}" System.ConnectedUsers INT "Number of logged in users" System.ProcessCount INT "Total number of processes" System.ServiceState(*) INT "State of {instance} service" System.ThreadCount INT "Total number of threads" ECS.HttpSHA1(*) STRING "Calculates SHA1 hash of * URL" ECS.HttpMD5(*) STRING "Calculates MD5 hash of * URL" PDH.CounterValue(*) INT "" PDH.Version UINT "Version of PDH.DLL" System.CPU.Usage(*) INT "Average CPU {instance} utilization for last minute" System.CPU.Usage5(*) INT "Average CPU {instance} utilization for last 5 minutes" System.CPU.Usage15(*) INT "Average CPU {instance} utilization for last 15 minutes" System.Uptime UINT "System uptime" System.CPU.LoadAvg FLOAT "Average CPU load for last minute" System.CPU.LoadAvg5 FLOAT "Average CPU load for last 5 minutes" System.CPU.LoadAvg15 FLOAT "Average CPU load for last 15 minutes" System.CPU.Usage INT "Average CPU utilization for last minute" System.CPU.Usage5 INT "Average CPU utilization for last 5 minutes" System.CPU.Usage15 INT "Average CPU utilization for last 15 minutes" System.IO.DiskQueue FLOAT "Average disk queue length for last minute" System.IO.DiskTime FLOAT "Average disk busy time for last minute" ACPI.ThermalZone.CurrentTemp INT "Current temperature in ACPI thermal zone" ACPI.ThermalZone.CurrentTemp(*) INT "Current temperature in ACPI thermal zone {instance}" WMI.Query(*) STRING "Generic WMI query" UPS.BatteryLevel(*) INT "UPS {instance} battery charge level" UPS.BatteryVoltage(*) FLOAT "UPS {instance} battery voltage" UPS.ConnectionStatus(*) INT "UPS {instance} connection status" UPS.EstimatedRuntime(*) INT "UPS {instance} estimated on-battery runtime (minutes)" UPS.Firmware(*) STRING "UPS {instance} firmware version" UPS.InputVoltage(*) FLOAT "UPS {instance} input line voltage" UPS.LineFrequency(*) INT "UPS {instance} input line frequency" UPS.Load(*) INT "UPS {instance} load" UPS.MfgDate(*) STRING "UPS {instance} manufacturing date" UPS.Model(*) STRING "UPS {instance} model" UPS.NominalBatteryVoltage(*) FLOAT "UPS {instance} nominal battery voltage" UPS.OnlineStatus(*) INT "UPS {instance} online status" UPS.OutputVoltage(*) FLOAT "UPS {instance} output voltage" UPS.SerialNumber(*) STRING "UPS {instance} serial number" UPS.Temperature(*) INT "UPS {instance} temperature"при запросе как Вы указали получаю ошибку (на всех машинах):
C:\Support\NetXMS\bin>nxget -l 192.168.0.1 ACPI.ThermalZones
Error loading RSA keys from "C:\NetXMS\var\server_key"
500: Internal errorПри добавлении DCI с параметром ACPI.ThermalZone.CurrentTemp ни один опрашиваемый хост не возвращает значений. История ответов пуста.
Может быть где-то что-то в клиенте в конфигурации нужно подправить что бы отвечал ACPI?
Строка установки:
nxagent-0.2.21.exe /VERYSILENT /SUPPRESSMSGBOXES /DIR="C:\Program Files\NetXMS" /SERVER="192.168.0.10, 127.0.0.1" /SUBAGENT=ECS /SUBAGENT=WMI /SUBAGENT=WINPERF /SUBAGENT=UPSПолучаемый таким образом конфиг: nxagentd.conf
MasterServers = 192.168.0.10, 127.0.0.1 LogFile = {syslog} FileStore = C:\Program Files\NetXMS\var SubAgent = ecs.nsm SubAgent = winperf.nsm SubAgent = wmi.nsm SubAgent = ups.nsmпо второму вопросу: сообщений никаких, всё происходит тихо.... очень жду новую версию с отладочными логами =).
-
-
обнаружил баг. или не баг...?
не наследуются права доступа на объекты в Templates. галки наследования стоят, но права на подконтейнеры и объекты не распространяются.
- даже если вручную дать конкретные права на ноды-объекты под templates, созданный вручную пользователь не видит их. и everyone тож не помогает...
"all child objects are hidden"
мой косяк?
-
@anth0ny said in Несколько вопросов.:
обнаружил баг. или не баг...?
не наследуются права доступа на объекты в Templates. галки наследования стоят, но права на подконтейнеры и объекты не распространяются.
- даже если вручную дать конкретные права на ноды-объекты под templates, созданный вручную пользователь не видит их. и everyone тож не помогает...
"all child objects are hidden"
мой косяк?
Скорее всего выбрано "hide unmanaged leaf objects", а шаблоны создаются как unmanaged.
-
спасибо за наводку

однако я перепроверил: данный параметр не включён.и назначение прав созданному пользователю на любую ноду под Templates не даёт этому пользователю права видеть эту ноду... что-то я уже совсем не понимаю =(.
- регулярно ловлю странное событие: время от времени почему-то переопрашиваются подисабленные (для мониторинга) интерфейсы. там свои хитрости, в том числе нестандартные адреса и маски. так вот, мониторинг начинает ругаться что обнаружены интерфейсы с неправильными масками. и переводит ноду в состояние Минор.
ок, я акнолоджу эти алармы и делаю terminate. статус возвращается в нормальный, но через некоторое время всё повторяется заново =(. и это при условии, что для мониторинга эти интерфейсы отключены. ммм.. как-то достаёт.
PS: а что по ACPI? это конкретно моя проблема с Internal Error 500 или ещё что-то...?
-
C правами что-то странное, вроде всегда это работало. Попробую у себя смоделировать и буду задавать дополнительные вопросы.
Интерфейс unmanaged означает что он исключен из status polls, но не из configuration polls, которые и находят неправильную маску. Можно отменить или исправить обработку события SYS_INVALID_NETWORK_MASK что-бы не создавать ненужные алармы.
-
@victor said:
Интерфейс unmanaged означает что он исключен из status polls, но не из configuration polls, которые и находят неправильную маску. Можно отменить или исправить обработку события SYS_INVALID_NETWORK_MASK что-бы не создавать ненужные алармы.
Вот! То что нужно!

Спасибо, Виктор!С надеждой жду помощи по остальным проблемам.
Я сейчас очень плотно занимаюсь вопросом мониторинга в нашей огранизации и буду очень Вам признателен за помощь. Готов ответить на все поставленные вопросы. -
- проявились странности при опросе ACPI.ThermalZone.CurrentTemp
настроено как NetXMS Agent \ Integer
судя по настройке, параметр температуры должен опрашиваться ровно точно также, как и всё остальное... 1 раз в минуту (Polling and Storage = 60 seconds)...
а вместо этого получаем вот что: (даю результаты с нескольких серверов, с тех, что ответили, может удастся вычислить закономерность? и плиз, на будущее, пока идёт отладка: нужны возможности экспорта ото всюду, а то скрины делать не всегда удобно, а так бы экспортировал список и сюда постнул)
про то, что полученные результаты ээээ... смущают.... я уже молчу =). хотелось бы иметь такую температуру, но этож нереал......
настройка везде одинакова (мониторинг температуры спущен сверху через шаблон)
см. атач.
-
- складывается впечатление, что та проблема, о которой я раньше писал (неправильный статус, должен быть Warning а получается на деле всегда Minor), несколько глубже...
я начинаю подозревать, что есть отдельный статус для сервиса и отдельный статус для ноды вцелом. т.е. если многократно для какого-то из DCI повторяется любое событие со статусом Warning - это переводит ноду, к которой относится данный DCI, в состояние Minor.
иначе я никак не могу объяснить, почему при мониторинге диска (% свободного места) при достижении порога определённого в Event'ах как "Warning" нода сразу помечается как "Minor":
%s выдаёт "1"
%S выдаёт "Minor"я прав?
если нет, прошу поправить. если да, то возникает резонный вопрос: а как задаётся порог, после которого нода переводится из одного состояния в другое? Я ниразу ещё не получал извещений о состоянии Warning, всегда начинается с Minor. -
@anth0ny said in Несколько вопросов.:
- складывается впечатление, что та проблема, о которой я раньше писал (неправильный статус, должен быть 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 = testingEsli 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

-
@anth0ny said in Несколько вопросов.:
- проявились странности при опросе 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?
-
- Нее...
Всё, о чём я говорил и буду говорить, относится к Windows =).
У меня пока не стоит задача ставить мониторинговый сервер или агентов на Unix.
Так что ждём-с 0.2.22

- судя по субъективным ощущениям, всё остальное собирается нормально. по крайней мере мониторинг свободного места пашет как часы, проблем не замечено. странности только с опросом ACPI.
по поводу значений по очередям, а можно указать путь в консоли, по которому их искать?
а то я что-то не очень понимаю, как их найти... - Нее...
-
Про очереди: есть объект "node", который представляет сам NetXMS сервер - он создается автоматически. У него так-же автоматически создаются DCI для мониторинга внутренних очередей. Надо найти этот объект и посмотреть текущие значения этих DCI.
-
осмотрел очереди (если я правильно понял о чём была речь).
Server.AverageDCPollerQueueSize = 0 (вся история = 0)
Server.AverageDBWriterQueueSize = значения меняются ... но не регулярно.
Server.AverageDCIQueuingTime = значения постоянно пляшут от 5 до 30.
Server.AverageStatusPollerQueueSize = 0 (вся история = 0)
Server.AverageConfigurationPollerQueueSize = 0 (вся история = 0)Пока отказался от использования ACPI в пользу мониторинга встроенных датчиков через SNMP. Результаты отличные, мониторю на температуру сервера DELL и HP.
-
- Всё так же странно работает или точнее не работает назначение прав пользователям. У всех кроме администратора попрежнему пусто в Object Browser'е. Какие бы права я не давал.
Я один такой? Ктонить ещё с таким сталкивался?
-
Прошу проверить если есть и если нет то внедрить 100% блокиратор наследования шаблонов вниз по иерархии. А то получается что как только я вношу изменение в шаблон, так этот шаблон тут же применяется ко всем объектам внутри контейнера Templates и подисабленные объекты снова включаются. Очень напрягает при большом количестве разнородных DCI.
-
Не нашёл описания, как связать авторизацию в консоли NetXMS с Radius'ом. Прошу помочь. Может где-то обсуждалось но я пропустил...?

-
Возник небольшой вопрос, не стал создавать отдельную тему...
Снимаю показания типа Disk.Free(C:)
Тип: Unsigned Int64Вопрос: получаемое значение - биты?
Перевод в гигабайты будет (скрипт) таким?
(($1/1024)/1024)/1024
Пробовал- не получается, не срабатывает...
Как превратить биты в гигабайты скриптом? -
-
-
-
@anth0ny said in Несколько вопросов.:
Возник небольшой вопрос, не стал создавать отдельную тему...
Снимаю показания типа 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
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login