bjchip_hyperic
Enthusiast
Enthusiast

Not getting availability

Jump to solution
OLC_TO_AUDIT_ACK Availability:
sigar:Type=ProcState,State.Name.eq=java,Args.*.eq=com.hyro.hypericplugins.WasQueueMonitorStarter:State
=>0.0%<=

When I test this string in SIGAR it returns the appropriate process table entry.

Using the java that returns the metrics, it still returns 0.0%

What could cause there to be a difference?

respectfully
BJ
0 Kudos
1 Solution

Accepted Solutions
dougm_hyperic
VMware Employee
VMware Employee
Looks like your metric template is missing 'Arg=', should be like so:

sigar:Type=ProcState,Arg=%process.query%:State

View solution in original post

0 Kudos
8 Replies
bjchip_hyperic
Enthusiast
Enthusiast
Truncated the message for some reason. When I test this string in SIGAR it provides me with the appropriate process table entry. Standalone java test (which gets metrics OK) returns 0.0%.

Can anyone suggest a reason for the different behaviour?

respectfully
BJ
0 Kudos
bjchip_hyperic
Enthusiast
Enthusiast
Got it:

I had renamed the variable called %process.query% in the examples and made it something else.

Tried to set it in a filter as it is a fixed field. This led to it not being properly recognized and parsed by SIGAR. Not really clear how it was going wrong as it reported the exact string I am putting in, but it doesn't do well with any substitute input.

I may go back and try again with the filter, but I am not optimistic.

BJ
0 Kudos
bjchip_hyperic
Enthusiast
Enthusiast
Naming and passing of variables into SIGAR is sensitive. I should know better by now.
BJ
0 Kudos
bjchip_hyperic
Enthusiast
Enthusiast
After fixing it, and there is NO -1 in any of the plugin anymore, this remains.

I have assassinated all the java processes running on the system and tried to get it to play nice but it has cached something somewhere and is now referring to the defunct definition no matter how I tickle it. The other three definitions in the plugin return 100%, this one pops an error.

I am going to reboot the system. If it is hidden somewhere in /tmp I could use the cup of coffee.

++++++++++++++++++++++++++++++++++++++

OLC_TO_AUDIT_ACK Availability:
sigar:Type=ProcState,State.Name.eq%3Djava%2CArgs.*.eq%3Dcom.hyro.hypericplugins.WasQueueMonitorStarter:State
getValue failed for metric: OLC_TO_AUDIT_ACK:sigar:Type=ProcState,State.Name.eq%3Djava%2CArgs.*.eq%3Dcom.hyro.hypericplugins.WasQueueMonitorStarter:State
StringIndexOutOfBoundsException: String index out of range: -1
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
0 Kudos
dougm_hyperic
VMware Employee
VMware Employee
Looks like your metric template is missing 'Arg=', should be like so:

sigar:Type=ProcState,Arg=%process.query%:State
0 Kudos
bjchip_hyperic
Enthusiast
Enthusiast
OK.... it is not funny anymore.

I really want to know where this is coming from, given that the attached xml doesn't contain anything it can possibly guess is a '-1' string index. I even tried removing the one place where it was in a commented out unused filter.

Given that I not only stopped all java processes, I also rebooted the linux it is running on.

It remains busted. This is the more detailed version of the error.


OLC_TO_AUDIT_ACK Availability:
sigar:Type=ProcState,State.Name.eq%3Djava%2CArgs.*.eq%3Dcom.hyro.hypericplugins.WasQueueMonitorStarter:State
getValue failed for metric: OLC_TO_AUDIT_ACK:sigar:Type=ProcState,State.Name.eq%3Djava%2CArgs.*.eq%3Dcom.hyro.hypericplugins.WasQueueMonitorStarter:State
StringIndexOutOfBoundsException: String index out of range: -1
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1938)
at org.hyperic.sigar.jmx.SigarInvokerJMX.getInstance(SigarInvokerJMX.java:84)
at org.hyperic.hq.product.SigarMeasurementPlugin.getValue(SigarMeasurementPlugin.java:199)
at org.hyperic.hq.product.MeasurementPluginManager.getPluginValue(MeasurementPluginManager.java:176)
at org.hyperic.hq.product.MeasurementPluginManager.getValue(MeasurementPluginManager.java:274)
at org.hyperic.hq.product.MeasurementPluginManager.getValue(MeasurementPluginManager.java:135)
at org.hyperic.hq.product.MeasurementPluginManager.getValue(MeasurementPluginManager.java:127)
at org.hyperic.hq.product.util.PluginDumper.getValue(PluginDumper.java:648)
at org.hyperic.hq.product.util.PluginDumper.fetchMetrics(PluginDumper.java:791)
at org.hyperic.hq.product.util.PluginDumper.fetchMetrics(PluginDumper.java:863)
at org.hyperic.hq.product.util.PluginDumper.invoke(PluginDumper.java:410)
at org.hyperic.hq.product.util.PluginMain.main(PluginMain.java:311)
classloader=sun.misc.Launcher$AppClassLoader@5acac268
config=org.hyperic.hq.product.util.PluginDumper$PluginDumperConfig@62f47396
hit enter to continue
0 Kudos
bjchip_hyperic
Enthusiast
Enthusiast
Many eyes see light sooner. Thanks big-time there. I am I think, getting a bit impatient as it starts to be ALMOST working.... 🙂 Also part blind by reason of the length of the "almost" period.

respectfully
BJ
0 Kudos
bjchip_hyperic
Enthusiast
Enthusiast
With just the services I could not find a means to get them visible in the UI. However, the java test worked standalone just fine. When I wrapped it up with the Server (as it is in this version) it no longer seems to be able to access the services from standalone test but the server and services can be installed in the UI. Which displays depth and state and availabity and updates them. I am off to connect to a WSMQ instance and get those queues and form a group.

Thanks
BJ
0 Kudos