We set up one hyperic server in AWS.
We have a lot of remote sites with a server on site. Each site has it's own public static IP address.
Here is how we set up hyperic right now:
agent.setup.camIP= Static public IP of the server in AWS
agent.setup.camPort=7080
agent.setup.camSSLPort=7443
agent.setup.camSecure=yes
agent.setup.camLogin=login
agent.setup.camPword=pass
#agent.setup.agentIP=public IP of the site
agent.setup.agentPort=2144
#agent.setup.resetupTokens=no
agent.setup.acceptUnverifiedCertificate=yes
On each site we have a router that does port forwarding the server. So each server is behind a router and has private static IP such as 192.168.30.101
We have no issue setting up hyperic on the local server, the problem is Hyperic HQ is overwriting the servers. It is taking the static private ip address and keeps overwriting the latest server.
Even though we have different names for the servers and different public IP when we set up the agent, once we set up the agent and it start pulling metrics, hyperic just overwrites the monitoring to the latest installed server.
any way to disable hyperic pulling local IP address?
This could be referred to as "pinning to a specific IP address" this is required when a platform has multiple NICs or IP addresses and is accomplished by adding additional directives to the agent.properties file. Since you have specified a specific setup port, it is best to pin that as well.
agent.listenIp=<public IP of the site>
agent.listenPort=2144
I suggest that you also uncomment:
#agent.setup.agentIP=<public IP of the site>
as well as (set it appropriately):
#agent.setup.unidirectional=no
The setting is described in the header section of the agent.properties file.
# Agent configuration file
#
# The following are the properties that the Agent recognizes:
#
# agent.listenPort
# Default: "2144"
#
# Description: Port that the agent listens on.
#
# agent.listenIp
# Default: "*"
#
# Description: Address that the agent listens on. If set to '*',
# the agent will listen on all available interfaces.
1.) You now have:
agent.setup.camIP= Static public IP of the server in AWS
agent.setup.camPort=7080
agent.setup.camSSLPort=7443
agent.setup.camSecure=yes
agent.setup.camLogin=login
agent.setup.camPword=pass
#agent.setup.agentIP=public IP of the site
agent.setup.agentPort=2144
#agent.setup.resetupTokens=no
agent.setup.acceptUnverifiedCertificate=yes
2.) Stop the agent:
3.) Modify this and add the additional directives.
agent.setup.camIP= Static public IP of the server in AWS
agent.setup.camPort=7080
agent.setup.camSSLPort=7443
agent.setup.camSecure=yes
agent.setup.camLogin=login
agent.setup.camPword=pass
agent.setup.agentIP=public IP of the site
agent.setup.agentPort=2144
agent.setup.resetupTokens=no
agent.setup.acceptUnverifiedCertificate=yes
agent.listenIp=public IP of the site
agent.listenPort=2144
4.) Delete the agent data directory (it will be re-created on subsequent startup)
5.) Restart the agent (This will trigger a resetup)
6.) Accept the agent into inventory
This could be referred to as "pinning to a specific IP address" this is required when a platform has multiple NICs or IP addresses and is accomplished by adding additional directives to the agent.properties file. Since you have specified a specific setup port, it is best to pin that as well.
agent.listenIp=<public IP of the site>
agent.listenPort=2144
I suggest that you also uncomment:
#agent.setup.agentIP=<public IP of the site>
as well as (set it appropriately):
#agent.setup.unidirectional=no
The setting is described in the header section of the agent.properties file.
# Agent configuration file
#
# The following are the properties that the Agent recognizes:
#
# agent.listenPort
# Default: "2144"
#
# Description: Port that the agent listens on.
#
# agent.listenIp
# Default: "*"
#
# Description: Address that the agent listens on. If set to '*',
# the agent will listen on all available interfaces.
1.) You now have:
agent.setup.camIP= Static public IP of the server in AWS
agent.setup.camPort=7080
agent.setup.camSSLPort=7443
agent.setup.camSecure=yes
agent.setup.camLogin=login
agent.setup.camPword=pass
#agent.setup.agentIP=public IP of the site
agent.setup.agentPort=2144
#agent.setup.resetupTokens=no
agent.setup.acceptUnverifiedCertificate=yes
2.) Stop the agent:
3.) Modify this and add the additional directives.
agent.setup.camIP= Static public IP of the server in AWS
agent.setup.camPort=7080
agent.setup.camSSLPort=7443
agent.setup.camSecure=yes
agent.setup.camLogin=login
agent.setup.camPword=pass
agent.setup.agentIP=public IP of the site
agent.setup.agentPort=2144
agent.setup.resetupTokens=no
agent.setup.acceptUnverifiedCertificate=yes
agent.listenIp=public IP of the site
agent.listenPort=2144
4.) Delete the agent data directory (it will be re-created on subsequent startup)
5.) Restart the agent (This will trigger a resetup)
6.) Accept the agent into inventory
Will try it out and report back! This looks really good!
I ended up modifying your solution a little bit and also did the following:
1. Gave nic a second freindly IP
2. Manually modified the Network and FQDN in HQ dashboard after adding the agent
I played around with quite a few other solutions, but your solution worked the best.
Thank you for the update!
1.) Adding a separate IP for monitoring is a nice option.
2.) Modifying the agent configuration to reflect a correct Network and FQDN is a good thing to check.
You can add the following two directives to agent.properties to over-ride a discovered FQDN and force a specific name for auto-discovered servers and services.
1. platform.fqdn=
over-ride a discovered FQDN (make it be a friendly name versus an IP for example)
2. platform.name=
force a specific name for auto-discovered servers and services.
My current deployment config is following:
#
agent.listenPort=2144
agent.setup.camIP=AWS_IP
agent.setup.camPort=7080
agent.setup.camSSLPort=7443
agent.setup.camSecure=yes
agent.setup.camLogin=user
agent.setup.camPword=pass
agent.setup.agentIP=public_IP
agent.setup.agentPort=2144
agent.setup.resetupTokens=no
agent.setup.acceptUnverifiedCertificate=yes
platform.name=Name_of_platform
platform.fqdn=FQDN_name
Works really well for us, it pins the friendly name and IP. So far so good