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 - Anth0ny

#286
Приветствую!

Прошу помочь разобраться с мониторингом кластеров.
Сколько не пытался понять как именно и в каком порядке создаётся DCI для кластера, так и не понял...

Можно для нубов, по шагам...? На абстрактном примере, кластер с двумя нодами.

;)

Плиз.
#287
обнаружил баг. или не баг...?

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

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

"all child objects are hidden"

мой косяк?
#288
дополнение: на нескольких машинах были показаны результаты, отличные от нуля, НО. эти результаты были получены только один раз. и это не смотря на то, что в настройке DCI стоит периодический опрос (как по умолчанию), вобщем новые результаты не поступают.
#289
Quote from: Victor Kirhenshtein

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


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

В процессе проверки серверов указанной командой при запросе доступных параметров я ни на одном из серверов (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


по второму вопросу: сообщений никаких, всё происходит тихо.... очень жду новую версию с отладочными логами =).
#291
Quote from: Victor Kirhenshtein
Выглядит корректно. Можно еще настройки threshold'ов прислать, на всякий случай?

можно, вот они: (использую 4 состояния: INFO (норма), WARNING, MINOR, MAJOR, CRITICAL)

11. Порядок срабатывания трэшхолдов. Меньше места- тяжелее положение (пока всё хорошо - Normal). Отслеживаю объём свободного места на С: (в %). Эскалация: Warning->Minor->Major->Critical.

22. Самый тяжёлый случай. Все остальные работают по тому же принципу: передача статуса от одного состояния другому (по мере убывания места). Тоже самое происходит при возрастании места на диске, пока процессинг не доберётся до статуса Normal (% свободного места на C: !equal less 20, тогда = DISK_CAPACITY_INFO).

33. Перевод машины в состояние Normal при помощи Event Processor'а (без этой операции не меняется статус машины с Minor на Normal). Не пойму в чём связь... Вроде переход всех параметров в состояние Normal должен автоматом выставлять для машины Normal, а этого не происходит...

Quote from: Victor Kirhenshtein
Этим занимается клиентская часть. Сервер посылает код статуса (0 = NORMAL, 1 = WARNING, etc.), а клиент уже отображает как текст.

эээ.. может я не так выразился. я имел ввиду что было бы неплохо иметь возможность русифицировать статусы (Warning, Normal etc), которые присылаются админу при оповещении... и которые фигурируют в тексте Event Log (кстати, может всё таки во избежание путаницы в дальнейшем при внедрении читателя-парсера для Windows Event Logs переименовать NetXMS Event Log в что-нить проще, типа NetXMS Log? а то с толку сбивает...)

Quote from: Victor Kirhenshtein
Я почему-то подумал что речь идет о UNIX'e. Можно ли прислать по шагам описание действий и результатов? Будет понятней где копать.

конечно!

1. в Agent Packages загоняю 2 клиента, 32 и 64 бит
2. в Agent Configurations создаю конфиг, более детальный чем дефолтный
3. ставлю на любую машину агента (32 бит) руками
4. через Agent Packages даю команду установить на эту машину агента (той же версии)
5. показывается статус что что-то пошло, и.... тишина.

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

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

может в этом проблема?

и как кстати по поводу ACPI.ThermalZone.CurrentTemp{*}?
с чем её едят? я так и не смог ей воспользоваться, т.к. не ясно что передавать ей в виде параметров =(.

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

С уважением,
Антон
#292
General Support / Re: Agent configuration manager
June 11, 2008, 04:26:31 PM
thanks! =)
#293
Предлагаю реализовать следующее:

1. можно добавить возможность указывать в ком.строке при установке путь установки Агента (а то по умолчанию всегда ставится в корень)?

2. при ручной и команднострочной установке клиента было бы желательно иметь возможность указать доп. параметры типа "-M адрес_мастера_конфигураций" (т.е. иметь возможность указать Агенту что он полностью конфигозависим от сервера (серверов)). Кстати где хранится конфиг клиента при создании его средствами сервера? если в базе то отлично, никаких проблема рассинхронизации конфигураций при указании более чем одного мастер-сервера... опять же наверное можно реализовать таймаут по которому Агент будет при запросе конфига переходить от сервера к серверу если основной сервер недоступен.

3. было бы здорово если бы можно было сделать так, что бы Агент время от времени перечитывал конфиг и в случае обнаружения что тот изменился, то сам загружал бы его и рестартовал (или только изменял свои текущие параметры на новые, подгруженные, без перезагрузки).
#294
General Support / Re: Agent configuration manager
June 11, 2008, 03:24:34 PM
path for Agent installation, sure =)
#295
General Support / Re: Agent configuration manager
June 11, 2008, 01:13:57 PM
is cmd option "-M management_server_address" equal to "Servers =" at agent's config file?
if i define this parameter, will Agent sync config file with Management server every time at agent start?

and how can i add an extra path info to Agent's setup command line?

is it possible? -P "path_to_agent_folder"

=)
#296
Мое почтение Виктор, спасибо за ответ! =)

Quote from: Victor Kirhenshtein
poka net. Ja ne ponmju, est' li eto v wish-liste, eli net to mozno dobavit' chtobi mi ne zabili :)

отпостил: https://www.netxms.org/forum/index.php/topic,387.0.html

Quote from: Victor Kirhenshtein
Mozno prislat' skrinshoti konfiguracii evet processing policy? podozrevaju chto gde-to prosto oshibka v nastrojkah...

прикладываю запрошенное:

1. фрагмент Event Processing Policy
2. настройка Alarm Configuration для этого блока "DISK_CAPACITY_"
3. настройка терминатора для отслеживания данного события (DISK_CAPACITY_INFO)

Quote from: Victor KirhenshteinEgo vse ochen' hotjat :) Kak tol'ko budet vremja budem delat'. Tochnih srokov poka ne nazovu, k sozaleniju.

Усиленно бъём челом чтобы Вы двигались в этом направлении... =))

Quote from: Victor KirhenshteinK sozaleniju net, tol'ko ispravljaja kod.

А нельзя ли при следующей сборке серверной части вынести эти параметры во внешний, серверный конфиг? Чтобы их там можно было редактировать (переводить, переименовывать).

Quote from: Victor KirhenshteinRech' idet ob agente, pravil'no? Togda v nxagentd.conf nado napisat'

...

Eto rabotaet nachinaja s versii 0.2.21. Dokumentaciju ne obnovili :(

Спасибо, всё как в аптеке. Работает.

Quote from: Victor KirhenshteinPozelanija takie uze bili, i ja daze primerno predstavljaju kak eto sdelat', no v svjazi so vse toj-ze nehvatkoj vremeni realizovano budet neizvestno kogda. No budet objazatel'no.

Спасибо! =) Пока будем пользоваться тем что есть.

Quote from: Victor KirhenshteinEst' odno upominanie :) Vot ono: https://www.netxms.org/forum/index.php/topic,332.0.html. Ne ochen' mnogo pravda. Esli nado, napishu podrobnee.

Как я прозевал... Спасибо за указание на нужный топик...

Quote from: Victor KirhenshteinVoobsche rabotaet davno i uspeshno. Vozmozno eto bug na konkretnoj sisteme. V /tmp dolzni bili ostatsja logi upgrade'a, mozno li ih prislat'?

ммм.. да. я перепроверил. наблюдение: агент деплоится но не запускается. если его запустить вручную, то получаем сообщение что всё установлено успешно... да, не совсем понял где искать логи на клиенте (WinXP-SP2-En), что имелось ввиду под /tmp, системный темп? тогда какое название у лога установки клиента? Может быть проблема в том, что я для проверки заменяю 0.2.21 на 0.2.21, т.е. такой же по версии? при обновлении клиента через Package Manager новый будет всегда ставиться поверх старого в тот же каталог?

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

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

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

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

и кстати. регулярно при создании DCI приходится ломать голову над вот этими вещами:

...(<insert arguments here>)
... {instance}

прошу ткнуть носом в документацию, где можно покопаться на тему для какого Supported Agent Parameters какие аргументы и инстансы нужно использовать =).

или это именно оно? =)
https://www.netxms.org/documentation/common_parameters.html

но тут кое чего не хватаеть... например как раз ACPI.ThermalZone.CurrentTemp{*}.

Спасибо!


С уважением,
Антон.
#297
Прошу рассмотреть возможность добавления я движок возможности использования в извещениях не только формата Text/Plain но и Text/HTML. Это не отвергает использования форматирования типа \t, \n и \\. Просто указанное форматирование можно использовать для Text/Plain, а для желающих использовать HTML-теги для подготовки письма можно ввести возможность переключения в альтернативный режим редактирования сообщения (открывать новое окно), где будет создаваться html (с изменяемым размером чтобы было удобно набирать и редактировать).

Спасибо!
#298
Во-первых, хочу поблагодарить команду проекта за проделанную работу!
Честное слово, после OpenNMS я просто отдыхаю, настраивая мониторинг, сделанный вашими умелыми руками.
Мастера, прекрасная задумка и отличное воплощение! Так держать!

Теперь собственно к вопросам:

1. можно ли использовать в извещениях вместо "Text/Plain" формат "Text/HTML" дабы можно было использовать HTML-форматирование текста в письме?

2. при создании Event'ов мониторинга для контроля объёма свободного места на диске (3 степени: Warning, Minor & Major, в трэшхолде степени с параметрами расставлены в правильном порядке, я видел обсуждение подобной темы) с Event Log'ом всё прекрасно, т.е. если достигается значение Warning, то нода помечается как Warning.

Но как только подключаю Event Processing, начинается чудо: при заполнении диска до состояния, определённого мной как Warning, Event Log ловит состояние Warning, но нода почему-то помечается как Minor, и в дальнейшем сообщения-алерты приходят с Severity именно Minor, а не Warning.

Не могу понять в чём дело. Не страшно, но... Просто не понимаю.

3. Хочу поинтересоваться, как обстоит дело с написанием обработчика Win32 Event Log'ов? Очень полезная для меня (да думаю и не только для меня) вещь. Как только оно будет сделано, мониторинг имхо приобритёт функционально полностью завершённый вид. Так как в нём уже и так всё есть (по крайней мере всё, что именно мне нужно =) ). Останется только отлавливать мелкие баги (в чём мы вам чем сможем - поможем).

4. Можно ли штатными средствами переименовать Severity (я имею ввиду перевести на русский)? Чтобы можно было использовать что-то типа "Важно", "Для сведения", "Важно", "Критично" и т.п.

5. обнаружил, что в конфиге клиента отсутствует возможность привязать сервис к конкретному ip.
я плохо смотрел?

ситуация: прокси-сервер. один интерфейс внешний, другой - внутренний. не хочу что бы клиент слушал на обоих. как тут поступить?

6. Возможна ли (планируется ли) LDAP-авторизация для входа а админский графический интерфейс?

7. как правильно использовать "Agent Configurations"? я не нашёл конкретных упоминаний про него ни в документации, ни на форуме... Можно ли применить конфигурацию к уже установленным Агентам?

8. Насколько рабочей является фича "Agent Packages"? я всё сделал в настройках (согласно здравому смыслу), однако при запуске установки агента старый был приостановлен но дальнейших действий со стороны агента (собственно установки) не последовало (проверено- дистрибутив Агента на машину скачивается в var)...

И ещё раз большое спасибо вам за вашу работу!
#299
General Support / Re: Windows event log DCI ?
June 09, 2008, 01:12:05 PM
any news about Win Event log monitoring?