On Aug 9, 2007, at 8:13 PM, Neill Miller wrote:
On Thu, 9 Aug 2007, Gabriel Mateescu wrote:
However, the NAGIOS information does not show up in MDS.
Are you sure that information is being reported from Nagios? What
happens if you run the nagios script manually from the command line?
Also, what happens when you query for the GLUECE RP? Having a copy of
your configuration might help as well.
(1) Yes, I am sure because I see the information from NAGIOS in the
container log with DEBUG enabled. That is, I see
2007-08-09 20:34:42,634 DEBUG transforms.GLUEComputeElementTransform
[Thread-14,transformElement:85]
Input document XML: <glue:ClusterInformation xmlns:glue="http://mds.\
globus.org/glue/ce/1.1" xmlns:sched="http://mds.globus.org/
batchproviders/2004/09">
<glue:Host glue:Name="gridtest1" glue:UniqueID="gridtest1">
<glue:MainMemory glue:RAMSize="3333"/>
</glue:Host>
</glue:ClusterInformation>
(2) The configuration file, after including the transform you
suggested, is
<?xml version="1.0" encoding="UTF-8"?>
<ns1:ResourcePropertyProviderConfigArray
xsi:type="ns1:ResourcePropertyProviderConfigArray" xmlns:ns1="http://
mds.globus.org/rpprovider/2005/08" xmlns:xsi="http://www.w3.
org/2001/XMLSchema-instance">
<ns1:configArray xsi:type="ns1:resourcePropertyProviderConfig">
<ns1:resourcePropertyName xsi:type="xsd:QName" xmlns:mds="http://
mds.globus.org/glue/ce/1.1">mds:GLUECE</ns1:resourcePropertyName>
<ns1:resourcePropertyImpl
xsi:type="xsd:string">org.globus.mds.usefulrp.rpprovider.GLUEResourcePro
perty</ns1:resourcePropertyImpl>
<ns1:resourcePropertyElementProducers
xsi:type="ns1:resourcePropertyElementProducerConfig">
<ns1:className xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xsi:type="xsd:string">org.globus.mds.usefulrp.rpprovider.producers.Exter
nalProcessElementProducer</ns1:className>
<ns1:arguments xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xsi:type="xsd:string">libexec/globus-mds-cluster-
nagios</ns1:arguments>
<ns1:transformClass>org.globus.mds.usefulrp.rpprovider.transforms.GLUECo
mputeElementTransform</ns1:transformClass>
<ns1:period xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xsi:type="xsd:int">30</ns1:period>
</ns1:resourcePropertyElementProducers>
</ns1:configArray>
</ns1:ResourcePropertyProviderConfigArray>
NOTE:
For testing, I replaced the original libexec/globus-
mds-cluster-nagios with
a very simple script that always generates the above
information.
I wrote the script it by looking at what the original
libexec/globus-mds-cluster-nagios
generated for a real NAGIOS system.
Would you please advise about the following:
1. is a transform class needed for NAGIOS producer?
I believe that it is since it should be used for other GLUECE
providers.
I haven't used Nagios myself, but think it's similar. By default,
I can
see it's not being set by the config generator (unlike all the
others).
Can you try adding the following to the config and seeing if it works?
<ns1:transformClass
xsi:type="xsd:string">org.globus.mds.usefulrp.rpprovider.transforms.GL
UEComputeElementTransform</ns1:transformClass>
[ might be easier to generate the config for another provider such as
Ganglia and just replace the relevant nagios parts like how the docs
describe ]
Using the same transform as for Ganglia causes an error in the
transformElement
method:
2007-08-09 20:34:42,661 WARN transforms.GLUEComputeElementTransform
[Thread-14,transformElement:138]
Exception while trying to deserialize GLUE input:
org.globus.wsrf.encoding.DeserializationException:
Deserialization failed [Caused by: Invalid element in
org.globus.mds.glue.batchprovider.ClusterCollectionType - Host]
This seems to make sense, because the XML generated by the NAGIOS
provider does not look
like that of Ganglia and contains information that
transforms.GLUEComputeElementTransform
does not understand.
Likewise, trying the other transform,
transforms.GLUESchedulerElementTransform, for scheduler
providers also causes an exception.
So my problem is that I do not find a transform suited for NAGIOS
information.
Thank you.
Gabriel