[AGENT++] XML Configuration for AGENT++

Marek Malowidzki malowidz at wil.waw.pl
Mon Dec 15 16:15:20 CET 2003


> Dear AGENT++ Users,
>
> Those who have followed this list for a while know that one
> of the TODOs for AGENT++ is configuration management and
> and improved (pluggable) persistency layer.
>
> By discussing these topics with some AGENT++ users the following
> ideas came up:
>
> * AGENT++ configuration is currently an open issue because there
> is no standard config file format (like NET-SNMP for example).

Yes, e.g. we are using our proprietary format.

> * XML is widely used and there are plenty tools for XML editing.
> * XML can be precisly validated through XML schemas.
>
> What I have in mind for AGENT++, is the following architecture:
>
> High Level XML*  <-----XSLT---->  Low Level XML** <---> AGENT++
>
> *The "High Level XML"  format would be specified by the XML schemas
> MIB Explorer v1.6 generates from SMI MIB modules. These XML
> schema format is the adaption of the XML schema format libsmi uses and
that
> was created by the University of Braunschweig. It allows creating XML
> documents containing MIB object instance data without the need to
specifying
> OIDs or, for example, HEX strings for DisplayStrings.
> For examples see http://www.mibexplorer.com/export/ietf/
>
> ** The "Low Level XML" format would be something "program oriented", thus
> containing only native instance syntax representations (i.e., HEX
> strings for all
> OCTET STRING values) and fully specified numerical OIDs for object
> instances.

If I undestrand well, the low level format will not require MIBs while the
high level is (or, could be) bound to MIBs.

My personal opinion is that this "low-level" format should be easy to modify
by hand. We are using Agent++ for an embedded system where even disk space
is limited. Thus, we can preconfigure a low-level config file on a
workstation (where all XML stuff and SNMP MIBs are available) but later we
would like to be able to quickly modify the low-level files. Binary strings
could be expressed in hex but most often one uses simple, readable strings.

> The idea behind the above architecture is, that one could use a XML
> editor or simple
> text editor as well as a special tool like MIB Explorer to
> define/provision an
> AGENT++ agent configuration. An external tool, could then be used to
> validate and
> convert the High Level XML into the Low Level XML format. Which could be
> read by AGENT++ without a too high overhead for XML parser/validation
code.

And I believe that the minimum overhead would be great. On our system, quite
slow one, I admit, it takes really long to launch the agent. E.g., just the
SNMPv3 configuration seems to cause a visible overhead.

> This architecture would also allow easy configuration copying from
> existing agents,
> as well as replacing the current persistency layer of AGENT++ by a XML
based
> layer.
>
> What do you, as an AGENT++ user, think about the above architecture?

Well, we desperatively need something like this. We were considering
expanding our format. However, if the new feature will be available
reasonably soon, we would switch to it immediately. Just one question about
validation (in "SNMP sense", I do not mean XML here). For example, SNMPv3
configuration is quite "fragile" to human errors. Our simple module provides
basic checks if everything looks consistent. Is the schema format flexible
enough to handle inter-table relationships (e.g., will the parses be able to
detect "dangling" OIDs to nonexistent rows in other tables) ?

Marek




More information about the AGENTPP mailing list