2 agents on the same node

Started by Imad, September 30, 2014, 10:08:22 PM

Previous topic - Next topic

Imad

hi,

is it possible to have 2 agents on AIX server sharing the same IP ?
I tried to create 2 Node on netxms server for the same IP but it didn't allow it saying its locked.
I need to monitor AIX for 2 users each one has specific privileges and don't share the same permissions.
If I cannot create 2 nodes from Netxms Server side, how can I collect data from both agents ?

P.S: the agents are on AIX and the netxms server is on Windows.

Regards,
Imad.

Alex Kirhenshtein

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.

Imad

Thank you Alex for the quick reply,
I have the following questions:

1-does this require a specific AIX agent version?
2-nxagentd.master.conf should be configured on both users? or on 1 user?
3- when starting the them all... should each agent be running from its user? because when I tried [su user1 -c "nxagentd -c nxagentd.app1.conf -d"] it requested the user1 password.

Imad

Hi

i created as mentioned nxagentd.master.conf

QuotemasterServers = 10.130.71.31,10.130.71.32
DebugLevel=7
LogFile = /apps/ist76AA/netxms-bin/log/Master_agent.log
FileStore = /tmp

### External Sub Agent
ExternalSubagent=APP1
ExternalSubagent=APP2

and nxagentd.app1.conf

QuoteExternalMasterAgent=APP1
DebugLevel=7
LogFile = /apps/ist76AA/netxms-bin/log/agent.log
FileStore = /tmp

## Subagent IST
Subagent = /apps/ist76AA/netxms-1.1.1/subagent/istsubagent.so

and nxagentd.app2.conf

QuoteExternalMasterAgent=APP2
DebugLevel=7
LogFile = /apps/ist76LB/netxms-bin/log/agent.log
FileStore = /tmp

## Subagent L7
Subagent = /apps/ist76LB/netxms-1.1.1/subagent/istsubagent_1.so

and i run them as follow:

QuotePREPRODIST02_ist76AA:/apps/ist76AA/netxms-bin/bin> nxagentd -c /apps/ist76AA/netxms-bin/etc/nxagentd.master.conf -d
PREPRODIST02_ist76AA:/apps/ist76AA/netxms-bin/bin>  nxagentd -c /apps/ist76AA/netxms-bin/etc/nxagentd.app1.conf -d
PREPRODIST02_ist76LB:/apps/ist76LB/netxms-bin/bin>  nxagentd -c /apps/ist76LB/netxms-bin/etc/nxagentd.app2.conf -d

however the logs shows that whenever any agent.app1 or app2 try to run the port is already in use:
QuoteUnable to bind socket: Address already in use

attached are the debugs.

should i run each agent on different port ?

Imad

Hi

i event change
### External Sub Agent
ExternalSubagent=APP1
ExternalSubagent=APP2

to the name of the application
ExternalSubagent=istsubagent.so
ExternalSubagent=istsubagent_1.so


and still it didnt work... is there anything i miss ??

Alex Kirhenshtein

I did a quick test with your configuration files (except loading IST module) – they are working fine with latest release (1.2.17). I don't have 1.1.1 installed anywhere to check it. I highly recommend you to upgrade.