[ClusterLabs] Antw: [EXT] Re: Parsing the output of crm_mon

Ken Gaillot kgaillot at redhat.com
Mon Mar 21 09:40:45 EDT 2022


On Mon, 2022-03-21 at 08:27 +0100, Ulrich Windl wrote:
> > > > Ken Gaillot <kgaillot at redhat.com> schrieb am 18.03.2022 um
> > > > 13:39 in
> Nachricht
> <fd60ce035160e9b13ff84ead2ca88f63d9597529.camel at redhat.com>:
> > On Fri, 2022‑03‑18 at 08:46 +0100, Ulrich Windl wrote:
> > > Hi!
> > > 
> > > Parsing the output of crm_mon I wonder:
> > > Is there a collection of sample outputs for pacemaker 1 and 2
> > > formats
> > > showing all types of resources?
> > 
> > Ideally, any parsing should be done of the XML output generated by
> > ‑‑
> > output‑as=xml since 2.0.3 and ‑‑as‑xml before then (the output is
> > identical other than the outermost tag).
> 
> Agreed, but it's much trickier to parse XML with awk ;-)
> Maybe it' even less efficient (unless crm_mon itself is much more
> efficient
> when out putting XML)
> With XPath support, I might be able to create the output I need using
> xrm_mon
> only, but that's not implemented.
> 
> Regards,
> Ulrich

xmlstarlet can search xpaths, e.g.

crm_mon -1 --output-as=xml | xmlstarlet sel -t -v "//element/@attribute"

> 
> 
> > The XML output is stable and only gets backward‑compatible
> > additions
> > once in a long while, but the text output changes more frequently
> > and
> > significantly.
> > 
> > There's an RNG schema for it, api‑result.rng (where it's installed
> > depends on your build; in the source repository, make generates it
> > under xml/api).
> > 
> > > Also I realized that the coutput for clone sets in unfortunate:
> > > Consider a normal primitive like this:
> > >   * primitive_name    (ocf::heartbeat:agent_name):  Started
> > > host‑name
> > > And a clone set:
> > >   * Clone Set: clone_name [primitive_name]:
> > > 
> > > If you want to filter clone sets by resource agent you're lost
> > > there.
> > > It would have been nicht if the format of clone sets were:
> > >   * Clone Set: clone_name [primitive_name]
> > > (ocf::heartbeat:agent_name):
> > > 
> > > I see that there's the "‑R" option that "expands" the clones
> > > similar
> > > as resource groups like this:
> > >     * primitive_name     (ocf::heartbeat:agent):    Started
> > > host‑name
> > > 
> > > Regards,
> > > Ulrich
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > _______________________________________________
> > > Manage your subscription:
> > > https://lists.clusterlabs.org/mailman/listinfo/users 
> > > 
> > > ClusterLabs home: https://www.clusterlabs.org/ 
> > > 
> > ‑‑ 
> > Ken Gaillot <kgaillot at redhat.com>
> > 
> > _______________________________________________
> > Manage your subscription:
> > https://lists.clusterlabs.org/mailman/listinfo/users 
> > 
> > ClusterLabs home: https://www.clusterlabs.org/ 
> 
> 
> _______________________________________________
> Manage your subscription:
> https://lists.clusterlabs.org/mailman/listinfo/users
> 
> ClusterLabs home: https://www.clusterlabs.org/
-- 
Ken Gaillot <kgaillot at redhat.com>



More information about the Users mailing list