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 - Alex Kirhenshtein

#736
General Support / Re: Server segfault after upgrade
October 24, 2014, 07:01:31 PM
Hello.

Could you please provide us with stack trace? https://wiki.debian.org/HowToGetABacktrace#Running_gdb
#737
Сейчас можно задать только одну компоненту, значение JiraProjectComponent – название компоненты. При подключении сервер делает resolve этого названия в ID.
#738
Это как-то вообще странно – кода 5 там быть не может. Проверьте nxget-ом на сервере:nxget localhost "ServiceCheck.Custom(proxy_ip,8080)"
#739
You can use PowerShell script as external parameter for that (or query WMI directly using WMI subagent):Get-WmiObject Win32_Service | Where-Object {$_.StartMode -eq 'Auto' -and $_.State -ne 'Running'} | Measure-Object | Foreach { $_.Count }
#740
General Support / Re: Table DCI parameters
October 16, 2014, 06:14:52 PM
You are using extremely old version (I'd say 1.1.11), which was released in the 2012.
#741
На данный момент встроенной поддержки для http proxy у нас нет. Я вижу два пути:
1) проверять только порт 8080 (без реальных запросов), таким образом будет проверятся только тот факт, что на порту 8080 что-то есть. Такое можно настроить через network services (правый клик на ноде, Create Network Service, выбрать протокол "Custom" и порт 8080)
2) Использовать любую внешнюю утилиту, которая умеет работать через прокси (curl, wget, etc.) и настроить ExternalParameter в конфиге агента: ExternalParameter=CheckProxy:curl -o /dev/null -s -x http://proxyhost:8080 http://google.com; echo $?
Если с прокси (и с google.com) всё в порядке, то CheckProxy вернет 0, любой не нулевой статус – проблема.
#742
General Support / Re: Table DCI parameters
October 16, 2014, 01:16:22 AM
Hello.

NETXMS_SUBAGENT_TABLE is defined in include/nms_agent.h: http://git.netxms.org/public/netxms.git/blob/develop:/include/nms_agent.h?js=1#l406

Table example:

Filling up structure: http://git.netxms.org/public/netxms.git/blob/develop:/src/agent/subagents/aix/main.cpp?js=1#l266
Callback implementation: http://git.netxms.org/public/netxms.git/blob/develop:/src/agent/subagents/aix/disk.cpp?js=1#l108

Small tip: you can use "nxget" tool for debugging, it connects directly to the agent and query parameter / table (just make sure your IP is in Servers/MasterServers). To query for table, use "-T" switch: nxget -T 10.5.0.111 FileSystem.Volumes
#743
General Support / Re: Translation Rule
October 10, 2014, 12:50:18 AM
You can make use transformation script on DCI to do that. Sample script:
if ($1 == 0) { return "OK"; }
if ($1 == 1) { return "STATUS_1"; }
if ($1 == 2) { return "STATUS_2"; }
return "UNKNOWN (" . $1 . ")";
#744
General Support / Re: 2 agents on the same node
September 30, 2014, 10:58:16 PM
You can use "External subagent" feature - basically it allows you to run multiple instances of the agent (with separate configuration files) on the same server and multiplex all communications thru "master" agent.

Example: you have "master" agent, which run as root and responsible for communications and system-wide data and actions (e.g. remote reboot). Also you have agent for "app1", which should be run as "user1" and agent for "app2", which should be run as "user2".

To configure that, crate configurations files like this:

nxagentd.master.conf:MasterServers = ...
LogFile = ...

ExternalSubagent=APP1
ExternalSubagent=APP2


nxagentd.app1.conf:LogFile = ...
ExternalMasterAgent=APP1

# any additional configuration, subagents, etc.


nxagentd.app2.conf:LogFile = ...
ExternalMasterAgent=APP2

# any additional configuration, subagents, etc.



Then start them all:

# nxagentd -c nxagentd.master.conf -d
# su user1 -c "nxagentd -c nxagentd.app1.conf -d"
# su user2 -c "nxagentd -c nxagentd.app2.conf -d"



How it works:

Master agent create communication pipe for each ExternalSubagent entry, "external subagents" connect to this pipe. When request from the network is processed by "master" agent, it proxy requests thru these pipes and send reply back.
#745
Общие вопросы / Re: SNMP OID unsupported item
September 29, 2014, 04:18:22 PM
Вы используете неправильный OID – должна быть еще двойка в конце (как видно в результате walk-а): .1.3.6.1.4.1.14988.1.1.1.3.1.6.2
#746
General Support / Re: Object Tools Config in a Mac
September 25, 2014, 07:43:50 PM
I did a few tests on the Mac, and it seems that simplest ways to do it is this:echo ssh %OBJECT_IP_ADDR% > /tmp/nxcon.command; chmod +x /tmp/nxcon.command; open /tmp/nxcon.command
#747
General Support / Re: Object Tools Config in a Mac
September 21, 2014, 08:45:29 PM
Hello.

It's slightly more complicated on Mac. Most of the times it's done like this "open -a RequiredTool.app --args %OBJECT_IP_ADDR%", however in some cases you'll need to write support scripts using applescript.

RDP:
Official client from Microsoft (Remote Desktop Connection.app) support single command line parameter – file name of the profile. Probably you can make a script, which generates profile based on %OBJECT_IP_ADDR% and then launch RDC.
CoRD, on the other hand works quite well with command line and handle "rdp://" protocol as well. For CoRD you can use this command line in tool configuration: "open rdp://%OBJECT_IP_ADDR%"

SSH, Telnet:
If you use standard command line ssh and telnet: "open -a Terminal --new --args ssh %OBJECT_IP_ADDR%" and "open -a Terminal --new --args telnet %OBJECT_IP_ADDR%"
For any 3rd party clients, you need to check respective documentation.

HTTP, etc: "open http://%OBJECT_IP_ADDR%"
#748
General Support / Re: segfault netxmsd crash
September 06, 2014, 10:54:57 PM
You can upload it to our anonymous ftp at ftp://netxms.org/upload/. This FTP is upload-only and support encrypted TLS sessions (optional, you'll need compatible ftp client like FileZilla).
#749
General Support / Re: segfault netxmsd crash
September 05, 2014, 05:45:57 PM
Hello.

Could you please also provide us with disassembly of two methods: AlarmManager::watchdogThread and AlarmManager::newAlarm?

This can be done with gdb:$ gdb /opt/netxms/bin/netxmsd
(gdb) info functions AlarmManager::watchdogThread
(gdb) disassemble AlarmManager::watchdogThread
(gdb) disassemble AlarmManager::newAlarm