FAQ

This page contains frequently asked questions about IxoraRMS. If you don't find you answer here, post your question using the form at the bottom of this page.


Questions



How do I plot a chart on a new chart board?

A: By default, a new chart is plotted on an already available board if there is space available on it. To add the chart to a new board, click on the "Create New Chart Board" (see image below) tool bar button and then plot the view. The same is true for all other types of boards (table, properties...)



Are there any keyboard shortcuts for navigating between data view screens? 

A: Yes. Ctrl + Left Arrow to move in one direction and Ctrl + Right Arrow to move in another.

How do I change the font size?

A: v1.0 - There is an issue open which should make this more user friendly in the next version of the application. In the meantime you need to modify the file theme_win.thm for Windows or theme.them for other operating systems. This file is located in the <IXORARMS_HOME>/jars/RMS.jar.
A: v1.1 - Focus on the main application window and press Ctrl + Shift + I to increase font size and Ctrl + Shift + D to decrease it. The same action is available from the menu items "Configuration" > "Increase Font Size" and "Decrease Font Size"

How do I make a long value be displayed as a date in my control?

A: Add the type attribute with a value of date to the resource representing the counter with the long value. See example below:

<resource id="id1" iname="$host/$agent/$entity[1]/$entity[2]/$counter" name="$counter" rid="-/-/root/Processes/(.*)/[Backend start time]" type="date"/>

How do I configure the Server URL and JNDI name to monitor JBoss?
A: JBoss 4.* - These versions have a proprietary JMX connector. The default configuration values for Server URL and JNDI name displayed in the "Agent Activator" dialog should be correct for a default JBoss installation. For a customized JBoss installation the port number might have to be changed in the Server URL parameter (see image below). To find out the port number for the JNP service, go to the log filer (server.log) and search for a line similar to the one below:

2009-11-16 19:44:49,921 DEBUG [org.jboss.naming.Naming] JNDI bootstrap JNP=/127.0.0.1:1099, RMI=/127.0.0.1:1098, backlog=50 

  
A: JBoss 5.* - In 5.0 they introduced support for JSR 160. In the upcoming versions of IxoraRMS we'll add built-in support for these versions of JBoss. In the meantime, you can create a custom JSR 160 agent as explained in the "Custom Monitoring" section of the documentation or, if you are in a hurry, you can just use the existing JSR 160 agent. The value of the Connection string parameter must be of the form:

service:jmx:rmi://{host}/jndi/rmi://{host}:1090/jmxconnector
 
To find out the exact port number, search the log file (server.log) for a line similar to the one below:

2009-11-16 19:44:01,390 INFO  [org.jboss.mx.remoting.service.JMXConnectorServerService] (main) JMX Connector server: service:jmx:rmi://127.0.0.1/jndi/rmi://127.0.0.1:1090/jmxconnector


Why did you choose Swing as the user interface?

A: I considered Swing to be the best choice at the time when I started work on IxoraRMS (2003) as I wanted a user interface framework that would allow me the following:
  • To cram as much monitoring data on the screen as possible.
  • To be able to run the application on the widest range of systems. 
  • Being able to run with 1 second refresh rates when needed.
  • Being able to start using the application without having to install other software (I'm thinking here of web servers and databases).
  • And last but not least because I like Swing.
Why some data views have no data?

A: Some agents do not refresh their entities (and some entities their children) every monitoring cycle. The data view with no data probably targets entities which did not exist at the time the agent was activated. In order to force an agent or entity to refresh its children you need to invoke "Refresh" manually(right click on the agent or entity and select the "Refresh" menu item) or setup a refresh schedule (right click on the agent or entity node and select the "Refresh Schedule..." menu item). For a refresh schedule, set a value that suits you but it is not too low. A too low value might cause unnecessary overhead on the monitored system.



Can I run IxoraRMS with IBM's JVM?

A: Yes but have a look here for a potential problem. 

Can I connect to WebSphere using JMX JSR 160?

A:Yes, but a few steps are necessary (I've only tested this for WebSphere 7.0 but it should work fine for 6.1 as well - just change the com.ibm.ws.admin.client_7.0.0.jar library to the corresponding one for your version) :

WebSphere or WebSphere client needs to be installed on the machine where IxoraRMS Console is running.

1. Replace  the contents of the console.launch file with (changes from the original are highlighted):

@echo off
set RMSLIB=config/messages/;jars/RMS.jar;jars/IxoraCommon.jar;jars/RMSCommon.jar;jars/RMSRemote.jar;jars/RMSLibsPatch.jar;jars/ganymed-ssh2.jar;lib/commons-httpclient.jar;lib/commons-codec.jar;lib/commons-codec.jar;lib/commons-logging-api.jar;jars/jfreechart.jar;jars/AgentProviderHost.jar;lib/commons-net.jar;lib/janino.jar;lib/jcommon.jar;lib/liquidlnf.jar;lib/log4j.jar;lib/looks.jar;lib/activation.jar;lib/mailapi.jar;lib/smtp.jar;lib/jh.jar;lib/jhall.jar;lib/xalan.jar;lib/xerces.jar;lib/xercesImpl.jar;lib/xml-apis.jar;lib/SNMP4J.jar;jars/mibble.jar;lib/grammatica-bin.jar;lib/ldap.jar

set AGENTS=;
set CLASSPATH=%AGENTS%;%RMSLIB%

set WAS=C:\work\software\IBM\WebSphere\AppServer
set CLASSPATH=%WAS%/runtimes/com.ibm.ws.admin.client_7.0.0.jar;%CLASSPATH%

set PATH=jre/bin;%PATH%
set SYSOPTS=-Xbootclasspath/p:lib/xalan.jar;lib/xerces.jar;lib/xercesImpl.jar;lib/xml-apis.jar -Xmx256M -Dapplication.home="%CD%" -Dcom.ibm.CORBA.ConfigURL=file:%WAS%/profiles/AppSrv01/properties/sas.client.props -Dcom.ibm.SSL.ConfigURL=file:%WAS%/profiles/AppSrv01/properties/ssl.client.props -Djava.security.policy=java.policy -Djava.library.path=./bin;%SystemRoot%/System32 -Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl

start %WAS%\java\bin\javaw %SYSOPTS% -cp %CLASSPATH% com.ixora.rms.ui.RMSFrame

Obviously you need to change the value of the WAS variable and the AppSrv01 profile name to match your environment.

You also have to change the following properties in the %WAS%/profiles/AppSrv01/properties/sas.client.props file:

com.ibm.CORBA.loginSource=properties
# RMI/IIOP user identity
com.ibm.CORBA.loginUserid=<websphere_username>
com.ibm.CORBA.loginPassword=<websphere_password>


2. Create a custom agent based on the JSR 160 agent template

2.1 Choose a name for your agent. In this example it is MyWebSphereJSR160Agent.
Create a file named agent in <IXORARMS_HOME>/config/agents/MyWebSphereJSR160Agent folder. Below is the content of this file (the highlighted sections can be changed to values that suits you):

<?xml version="1.0" encoding="UTF-8"?><agent>
  <class>com.ixora.rms.agents.jmxjsr160.JMXJSR160Agent</class>
  <version>1.0.0</version>
  <name>MyWebSphereJSR160Agent</name>
  <description>A description of your agent</description>
  <custom>true</custom>
  <category>applications</category>
  <versions>
    <version>MyApp_On_WAS70</version>
  </versions>
  <versionItems>
    <versionItem>
      <locations>
        <location>0</location>
        <location>1</location>
      </locations>
      <jars>
        <jar>/jars/AgentJMXJSR160.jar</jar>
        <jar>/jars/RMSJMX.jar</jar>
      </jars>
      <customconfigpanel>com.ixora.rms.agents.jmxjsr160.ConfigurationPanel</customconfigpanel>
      <defaultconfig>
       <property name="extra_properties" value="java.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory" />
       <property name="jmx_connection_string" value="service:jmx:iiop://{host}:9810/jndi/JMXConnector" />
      </defaultconfig>
      <uiJar>/jars/AgentJMXJSR160_ui.jar</uiJar>
      <agentVersions/>
    </versionItem>
  </versionItems>
</agent>

2.2. Create a file named MyWebSphereJSR160Agent.properties in <IXORARMS_HOME>/config/messages folder. Below is the content of this file. The configuration entries are copied from the JMX JSR 160 agent on which this agent is based.

// only if you want a more descriptive name for you agent
MyWebSphereJSR160Agent=My Custom WebSphere Agent

// configuration entries
config.username=Username
config.password=Password
jmx_connection_string=Connection string
root_folder=Root folder
root_folder.desc=The root folder for classpath entries
classpath=Classpath
classpath.desc=Classpath, coma separated entries, entries are relative to the root folder and they can be regular expressions
extra_properties=Extra properties
extra_properties.desc=Extra properties; coma separated entries of the form name=value. \
Arrays are represented as a list separated by the # character. \
Example: name1=value1,name2=value21#value22,name3=value3. \
In this example the value of the parameter name2 will be a String[] with elements value21 and value22
 


I have custom MBeans registered in WebSphere. How do I access them using IxoraRMS?

A: You need to connect to WebSphere using JMX JSR 160. See "Can I connect to WebSphere using JMX JSR 160?". You should be able to see the MBeans you registered under the WebSphere domain.

How can I improve the log replay process?

A: See the "Important Tip" in the Log and Replay section of the User guide.

Ask a question