YATG::Config is a Perl module that offers configuration management for YATG.
yatg_updater expects one command line argument, which is its main configuration file. This must be in a format recognizable to Config::Any, and you must use a file name suffix to give that module a hint.
There is a fairly complete example of this configuration file in the examples/ folder of this distribution - look for the yatg.yml file. The file must parse out to an anonymous hash of hashes, as in the example.
Let's first consider the yatg key/value, which is the main configuration area.
This is a hash, with keys being the Leaf Name of an SNMP OID. This tells yatg_updater the list of OIDs which you would like gathering from each network device. The value for each leaf name key is a list of magic words which tell yatg_updater whether to get the OID, and what to do with the results. Some of the magic words are mutually exclusive.
# example key and "magic words" list value
ifOperStatus: [disk, ifindex]
These are the storage methods for the results, and an OID without one of these magic words will be ignored. You should only specify one of these for each leaf name (as in the example above).
This means to use the Data::Dumper to print results. It's good for testing.
Disk storage means to create a file for each OID of each port on each device. It is very fast and efficient by design, and most useful for long-term historical data such as port traffic counters. For more information on disk storage, see YATG::Store::Disk.
If you don't need data history, then this module is a better alternative than disk-based storage, because of its speed. A memcached server is required of course. For more information see YATG::Store::Memcached.
This is merely an extension to the Disk storage module which allows yatg_updater to use disk on another machine. You can think of it as an RPC-based alternative to network mounting a filesystem. On the remote host, the Disk module is then used for storage. See YATG::Store::RPC for more details.