VMware Cloud Community
bjchip_hyperic
Enthusiast
Enthusiast
Jump to solution

Not getting availability

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
Reply
0 Kudos
1 Solution

Accepted Solutions
dougm_hyperic
VMware Employee
VMware Employee
Jump to solution

Looks like your metric template is missing 'Arg=', should be like so:

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

View solution in original post

Reply
0 Kudos
8 Replies
bjchip_hyperic
Enthusiast
Enthusiast
Jump to solution

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
Reply
0 Kudos
bjchip_hyperic
Enthusiast
Enthusiast
Jump to solution

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
Reply
0 Kudos
bjchip_hyperic
Enthusiast
Enthusiast
Jump to solution

Naming and passing of variables into SIGAR is sensitive. I should know better by now.
BJ
Reply
0 Kudos
bjchip_hyperic
Enthusiast
Enthusiast
Jump to solution

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
Reply
0 Kudos
dougm_hyperic
VMware Employee
VMware Employee
Jump to solution

Looks like your metric template is missing 'Arg=', should be like so:

sigar:Type=ProcState,Arg=%process.query%:State
Reply
0 Kudos
bjchip_hyperic
Enthusiast
Enthusiast
Jump to solution

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
Reply
0 Kudos
bjchip_hyperic
Enthusiast
Enthusiast
Jump to solution

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
Reply
0 Kudos
bjchip_hyperic
Enthusiast
Enthusiast
Jump to solution

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
Reply
0 Kudos