Man pages sections > man8 > torrus_ttproclist

ttproclist - Process a template with a nodelist



ttproclist - Process a template with a nodelist


torrus ttproclist --tmpl=TFILE --out=OFILE --nodes= NFILE [ options...]


This command takes a Template-Toolkit template and a list of nodes (usually SNMP devices) as input. The output file is a result of template substitution, according to the specified options. Command-line options --tmpl, --out and --nodes are mandatory.
This utility can be used to generate the discovery instructions XML out of a predefined template and a dynamically generated list of devices. Alternatively, it can produce Torrus XML configuration for a given list of objects, etc.
The following variables are predefined when the template is processed:
Hash array of nodes. Hash keys are the node names. Values are symbolic names. If symbolic names are not defined, values are the same as keys.
Hash array of command-line parameters given in --param option.
"nodesfile", "creator"
Informative variables. They can be used to produce the creation note in the resulting files. "nodesfile" returns the file name of nodes, and "creator" returns a detailed information how the file was generated, with timestamp and command line options.


The file name of the input template. Relative names are looked in the current directory and in /etc/torrus/templates. The file name may also be an absolute path.
Output file name. If no absolute path given, the file is written in the current directory.
The name of the nodes list. Nodes should be separated by space or tab character or newline. Additional information, referred to as symbolic name, can be supplied after a colon, of the form NODENAME:SYMBOLICNAME.
List of optional parameters that may be used in the template.


The following example gerenates "devdiscover" input file from a template. The template is as follows:
 <?xml version="1.0" encoding="UTF8"?>
 >>> usual DDX parameters here, like SNMP community and data-dir
  <param name="snmp-community" value="private"/>
 >>> This loop generates per-host entries
  [% FOREACH n = nodes.keys.sort %]
    <param name="snmp-host" value="[% n %]"/>
    <param name="symbolic-name" value="[% nodes.$n %]"/>
    <param name="output-file" value="nodes/[% n %].xml"/>
  [% END %]
 >>> Generate the bundle file, so that you need only one
 >>> entry in
  <param name="output-bundle" value="[% param.BUNDLE %].xml"/>
The following command would generate MY.ddx from template file MY.ddtmpl as described above. The file MY.nodes is a list of SNMP devices, one per line. Then "devdiscover" is launched with MY.ddx as input. Note also the short form of the command line wrapper.
 torrus ttproclist --tmpl=MY.ddtmpl \
   --nodes=MY.nodes \
   --out=/usr/local/etc/torrus/discovery/MY.ddx \
 torrus dd --in=MY.ddx --verbose
In addition, you may put some common parameters in Template BLOCK statement in a separate file, and INCLUDE it in your templates. See the Template-Toolkit documentation for more detail.


See more documentation at Torrus home page:


Template-Toolkit documentation:
torrus(8), torrus_devdiscover(8)


Stanislav Sinyagin <>
2016-11-17 torrus 2.09