"Ant Bundle Handler"
This is a list of all plugins with notes on how the resource names should be changed if at all.
The plugins proposed for change (the struck-through ones have been implemented): apache, grub, iis, jboss-as, jboss-as-5, jira, jmx, oracle, platforms, postfix, postgres, rhq-agent, rhq-server, samba, script2, snmptrapd, tomcat, virt
No change needed.
Currently, the resource name looks like this:
hostname + " Apache " + version + " (" + httpdConfPath + ")"
Proposal:
This is a strange one. The hostname is not an ideal candidate for the name of the whole server, because the "Main Server" virtual host underneath it represents the default "binding" of the server.
Calling it "Apache" isn't ideal as well. We're duplicating the type name and would generate duplicate names if there were more instances running on the agent box.
Calling it httpdConfPath is unique but I'm not sure about the user friendliness of this.
In the end the hostname:port was chosen because it a) resembles the way the resource used to be called and b) is probably quite common.
Current format:
"Virtual Host " + address.host + ":" + address.port
Proposed:
address.host + ":" + address.port
No change needed, details below.
Current format:
"Byteman"
Current format:
shortScriptName
No change needed.
Current format:
resourceType.getName()
Abstract plugin, no change needed.
No change needed.
Current format:
"IBM Hardware"
I can't see a way of changing this. Ideally I'd think we'd want the stats and entities under an "application" they belong to, not beside it, but that is non-trivial and would have to be thought through.
Current format:
queryUtility.formatMessage("{application} Hibernate Statistics")
No changes needed.
Supports only manual discovery.
Current format:
discoveryContext.getSystemInformation().getHostname() + " IIS Server"
Proposed:
"IIS"
This plugin is outdated. Doesn't use ManualAddFacet even though it should. The resource types defined in this plugin only use manual discovery, so no changes with regards to resource renaming are needed.
Current format:
hostname + " RHQ Server "? + productType.NAME + " " + version + " " + configName + ("(" + bindingAddressAndPort + ")")?
Proposed:
The name of the only/biggest ear/war deployed or just the bindingAddressAndPort
The "bindingAddressAndPort" was implemented because of the technical difficulties with the deployment name detection.
Current format:
hostname + " Embedded " + serverName + " Server " + version + " " + bindAddress
Proposed:
bindAddress
Current format:
Tomcat Connector ({port})
Proposed:
Port {port}
(this is defined as a name template in the plugin configuration)
No changes needed.
Current format:
name
No changes needed.
Current format:
resourceType.getName()
Current format:
{name} DataSource
Proposed:
{name}
Current format:
{name} Connection Factory
Proposed:
{name}
Singleton called "JBossMQ". No changes needed.
Current format:
{name} JMS Queue
Proposed:
{name}
Current format:
{name} JMS Topic
Proposed:
{name}
Singleton called "JBoss Messaging". No changes needed.
Current format:
{name} JMS Queue
Proposed:
{name}
Current format:
{name} JMS Topic
Proposed:
{name}
No changes needed.
Current format:
{name}
No changes needed.
Current format:
{name}
No changes needed.
Current format:
{name}
No changes needed.
Current format:
{name}
No changes needed.
Current format:
{name}
No changes needed.
Current format:
{name}
No changes needed.
Current format:
{name}
No changes needed.
Current format:
{name}
No change needed.
Current format:
"EJB3 Entity Tree Cache"
No change needed.
Current format:
"EJB3 Entity Tree Cache Interceptor"
Current format:
hostname + " RHQ Server "? + productType.NAME + " " + version + " " + configName + ("(" + bindingAddressAndPort + ")")?
Proposed:
The name of the only/biggest ear/war deployed or just the bindingAddressAndPort
The "bindingAddressAndPort" was implemented because of the technical difficulties with the deployment name detection.
No changes needed.
Current format:
resourceType.getName()
No changes needed.
Current format:
resourceType.getName()
No changes needed.
Current format:
protocol + "://" + address + ":" + port
No changes needed.
Current format:
hostname part of the full name of the managed component
No changes needed.
Current format:
managedComponent.getProperty("jndi-name").getValue()
No changes needed.
Current format:
managedComponent.getProperty("jndi-name").getValue()
No changes needed.
Current format:
managedComponent.getProperty("jndi-name").getValue()
No changes needed.
Current format:
managedComponent.getProperty("jndi-name").getValue()
No changes needed.
Current format:
managedComponent.getProperty("jndi-name").getValue()
No changes needed.
Current format:
managedComponent.getProperty("name").getValue()
No changes needed.
Current format:
managedComponent.getProperty("name").getValue()
No changes needed.
Current format:
managedComponent.getSimpleName()
or (pseudo-code)
managedComponent.getDeploymentName().getSubstringAfterLastSlash()
No changes needed.
Current format:
managedComponent.getSimpleName()
or (pseudo-code)
managedComponent.getDeploymentName().getSubstringAfterLastSlash()
No changes needed.
Current format:
"//" + virtualHost + contextPath
No changes needed.
Current format:
managedComponent.getSimpleName()
or (pseudo-code)
managedComponent.getDeploymentName().getSubstringAfterLastSlash()
No changes needed.
Current format:
"//" + virtualHost + contextPath
No changes needed.
Current format:
managedComponent.getSimpleName()
or (pseudo-code)
managedComponent.getDeploymentName().getSubstringAfterLastSlash()
No changes needed.
Current format:
Simplified EJB Bean name
No changes needed.
Current format:
Simplified EJB Bean name
No changes needed.
Current format:
Simplified EJB Bean name
No changes needed.
Current format:
Simplified EJB Bean name
No changes needed.
Current format:
managedComponent.getSimpleName()
or (pseudo-code)
managedComponent.getDeploymentName().getSubstringAfterLastSlash()
No changes needed.
Current format:
Simplified EJB Bean name
No changes needed.
Current format:
Simplified EJB Bean name
No changes needed.
Current format:
Simplified EJB Bean name
No changes needed.
Current format:
Simplified EJB Bean name
No changes needed.
Current format:
managedComponent.getSimpleName()
or (pseudo-code)
managedComponent.getDeploymentName().getSubstringAfterLastSlash()
No changes needed.
Current format:
managedComponent.getProperty("name").getValue()
No changes needed.
Current format:
managedComponent.getProperty("name").getValue()
No changes needed.
Current format:
managedComponent.getProperty("name").getValue()
No changes needed.
Current format:
managedComponent.getSimpleName()
or (pseudo-code)
managedComponent.getDeploymentName().getSubstringAfterLastSlash()
No changes needed.
Current format:
managedComponent.getProperty("name").getValue()
No changes needed.
Current format:
managedComponent.getProperty("name").getValue()
No changes needed.
Current format:
managedComponent.getProperty("name").getValue()
No changes needed.
Current format:
managedComponent.getSimpleName()
or (pseudo-code)
managedComponent.getDeploymentName().getSubstringAfterLastSlash()
No changes needed.
Current format:
managedComponent.getSimpleName()
or (pseudo-code)
managedComponent.getDeploymentName().getSubstringAfterLastSlash()
No change needed.
Current format:
file.getName()
No change needed.
Current format:
"Service Binding Manager"
No change needed.
Current format:
managedComponent.getProperty("name").getValue()
No change needed.
Current format:
"JBoss Cache subsystem"
No change needed.
Current format:
Normalized JMX object name of the cache
No change needed.
Current format:
"JGroups repo"
No changes needed.
Current format:
Name extracted from the JMX object name of the cache mbean
No change needed.
Current format:
resourceType.getName()
No change needed.
Current format:
resourceType.getName()
No change needed.
Current format:
resourceType.getName()
No change needed.
Current format:
resourceType.getName()
No change needed.
Current format:
resourceType.getName()
No change needed.
Current format:
resourceType.getName()
No change needed.
Current format:
resourceType.getName()
No change needed.
Current format:
resourceType.getName()
No change needed.
Current format:
host and port used for the RMI connection to the JMX connector
No change needed.
Current format:
The name of the bundle parsed from the Object Name of the bundle's MBean.
Current format:
"Jira " + url
Proposed:
url
This plugin provides generic support for JMX for other plugins perusal but it also provides its own autodiscovery mechanism for discovering JVMs with the platform MBean server enabled for remote connections.
No changes needed.
Current format:
("JMX Server" | jvmMainClassIfShorterThan200Chars) + "(" + port + ")"
No changes needed.
Current format:
"Operating system information"
No changes needed.
Current format:
"Threading"
No changes needed.
Current format:
"Memory Subsystem"
Current format:
"{name} Memory Pool"
Proposed:
"{name}"
Current format:
"{name} Garbage Collection"
Proposed:
"{name}"
No changes needed.
Current format:
"Compilation"
No changes needed.
Current format:
"Class Loading"
No changes needed.
Current format:
"Logging"
No changes needed.
Current format:
"Kickstart"
No changes needed.
Only manual add used.
This plugin doesn't seem to be finished. Only supports a manual add and some of the configurations don't make much sense (like why does one need to specify a database to use when discovering the whole MySQL server?).
No changes needed, all resource types only support manual add.
(why does this plugin have an empty name?)
No change needed.
Current format:
"NSSwitch"
No change needed.
Current format:
adapter.getAdapterName() + " on " + adapter.getPortName()
Current format:
"Oracle (" + sid + ")"
Proposed:
sid
Or maybe we could use something more elaborate like the name of the schema, if there was just one on that server. But from my humble knowledge of Oracle, SIDs are very commonly used identificators for servers, so maybe that's the best approach to take here?
No changes needed.
Current format:
"Oracle 10g Advanced Statistics"
All the platforms get the same name as the agent/plugin container that discovered them or, if that is null, the hostname of the machine. This doesn't need to change.
No changes needed.
Current format:
info.getDisplayName()
Current format:
((hostname == null) ? "" : (hostname + " ")) + " File System (" + fs.getFileSystem().getTypeName() + ") " + fs.getMountPoint()
Proposed:
fs.getMountPoint()
No changes needed.
Current format:
"CPU " + i
Current format:
resourceType.getName()
We could read the "myhostname" variable from the postfix configuration (defaulting to gethostname() if not defined) but running more than one postfix server on a box is quite unlikely so it might not be worth the trouble implementing that.
Current format:
"Postgres [" + db + "]"
Proposed:
We have a couple of options here:
use the hostname + port the server is accessible from - there can be more than one (but so it can be with Apache for example)
if there is only 1 database (other than the system "postgres" one), use the name of the database as the name of the whole server.
Implemented:
If there are 1 or 2 databases present in the postgres server, choose the non-default one (i.e. the one not called postgres), otherwise call it "postgres".
Current format:
databaseName + " Database"
Proposed:
databaseName
Current format:
agentName + " RHQ Agent"
Proposed:
agentName
or just
"RHQ Agent"
There is just one agent per platform so maybe the latter variant makes more sense.
No change needed.
Current format:
resourceType().getName()
No change needed.
Current format:
"Agent Measurement Subsystem"
No change needed.
Current format:
"Agent Plugin Container"
No change needed.
Current format:
discoveredScriptFile.getName()
No change needed.
Current format:
"RHQ Agent Launcher Script"
Current format:
"RHQ Server Alerts Engine Subsystem"
Proposed:
Try something shorter? Something like
"Alert Subsystem"
Current format:
"RHQ Server Measurement Subsystem"
Proposed:
"Measurement Subsystem"
Current format:
"RHQ Server Group Definition / DynaGroups Subsystem"
Proposed:
"Group Definition Subsystem"
Current format:
"RHQ Server Communications Subsystem"
Proposed:
"Communications Subsystem"
Current format:
"RHQ Server Remote API Subsystem"
Proposed:
"Remote API Subsystem"
Current format:
resourceType.getName()
Proposed:
If we wanted to use something else than a type name for samba (which would only make sense if there was a possibility of more than one samba server running on a machine), we could base the name on some other data. Here's a transcript of conversation with Shannon, the author of the samba plugin:
<shughes> other then hostname, i think i would either tie it off of netbios name or the workgroup name
<shughes> this would be similar to postfix....not sure why anyone would have more then 1 samba server on same box
<shughes> server string might also be a possibility
<shughes> i believe testparm is the script you could use or just parse the /etc/samba/smb.conf ifle
<shughes> file
<shughes> its in INI format
<shughes> think i would go with netbios name
<shughes> this is the name that shows up in windows explorer
Implemented:
The netbios name from samba config
Current format:
"Script " + lang + "::" + script
Proposed:
Not sure, may just:
script
i.e. calling the resource the name of the script would be enough. The language can be found in the configuration and doesn't have much informational meaning to the user.
Current format:
"Trapd (" + pluginContainerName + ")"
Proposed:
Maybe just:
"Trapd " + port
or just "Trapd" if there is to be only one per machine.
Implemented "Trapd " + port.
No change needed.
Current format:
"OpenSSH sshd"
Current format:
"Tomcat (" + ((tomcatConfig.getAddress() == null) ? "" : (tomcatConfig.getAddress() + ":")) + tomcatConfig.getPort() + ")"
Proposed:
((tomcatConfig.getAddress() == null) ? InetAddress.getLocalHost().getHostName() : tomcatConfig.getAddress()) + ":" + tomcatConfig.getPort()
or if there is only a single WAR deployed (apart from ROOT.war), the name of that WAR.
Implemented as hostname:port with https://bugzilla.redhat.com/show_bug.cgi?id=583123
No change needed.
Current format:
resourceType().getName()
Current format:
"Tomcat VHost ({name})"
Proposed:
"{name}"
Current format:
"Tomcat WAR ({contextRoot})"
Proposed:
"{contextRoot}"
Current format:
"Tomcat Cache ({host}{path})"
Proposed:
"Cache"
Current format:
"Tomcat Connector ({handler}-{port})"
Proposed:
"{handler}-{port}"
Current format:
"Tomcat User Database"
Proposed:
"User Database"
Current format:
"Tomcat Group ({name})"
Proposed:
"{name}"
Current format:
"Tomcat Role ({name})"
Proposed:
"{name}"
Current format:
"Tomcat User ({name})"
Proposed:
"{name}"
No changes needed, supports only manual add.
Current format:
url + " feed for " +user
No changes needed.
Current format:
hardwareInfo.hvType + " Hypervisor"
No changes needed.
Current format:
domainInfo.name
Current format:
path + " virtual interface"
Proposed:
path
Current format:
device + " virtual device"
Proposed:
device
No changes needed.
Current format:
net.name