Oliver Gorwits > YATG-5.140510 > YATG::Tutorial

Download:
YATG-5.140510.tar.gz

Annotate this POD

Website

CPAN RT

Open  0
View/Report Bugs
Source  

NAME ^

YATG::Tutorial - A simple YATG tutorial

DESCRIPTION ^

This tutorial will teach you how to set up YATG using a very simple configuration.

CREATING A SIMPLE CONFIGURATION ^

Although we could use "any" configuration format, let's start with a simple YAML configuration file:

    ---
    yatg:
        oids:
            "sysUpTime":            [disk]
            "ifHCInOctets":         [ifindex, disk]
            "ifHCOutOctets":        [ifindex, disk]
        communities: [public]
        disk_root: '.' 
        dbi_connect:
            - "dbi:SQLite:database.db"
        dbi_ip_query: 'select ip from device;'

oids

This configuration file lists a few oids (sysUpTime, ifHCInOctets, ifHCOutOctets), and describes how to store each one (disk).

It's important to note that some oids represent scalar values (for instance, sysUpTime), while others represent arrays. For instance, ifHCInOctets may refer to several interfaces in the same machine: ifHCInOctets.0, ifHCInOctets.1, and so on.

You should hint YATG about these indexed interfaces, with the keyword ifindex.

communities

This is a list of community strings recognized by the monitored networks. In our case we'll use the default "public" community string.

disk_root

This configuration item specifies the root of the "disk" storage. By default it is /var/lib/yatg, but we'll use the current directory ('.') instead.

dbi_connect and dbi_ip_query

YATG uses an external database to store a list of IPs. By default it uses NetDisco schema; but NetDisco requires additional setup and configuration, so we'll use a simpler SQLite database, consisting of a single table.

CREATING A SOURCE DATABASE USING SQLITE ^

YATG uses a database to store the list of IPs it will monitor. We'll use the following script to create such a database, using SQLite:

 CREATE TABLE device (
     id INTEGER AUTO_INCREMENT PRIMARY KEY,
     ip VARCHAR(15)
 );
 
 INSERT INTO device (id, ip) VALUES (1, '127.0.0.1');

Save this file as "database.sql" and create the database with the command:

 sqlite3 database.db < database.sql

If no problems occur, you can start YATG.

STARTING YATG ^

By now, you should have the following files in your working directory:

 config.yaml  # configuration file
 database.sql # sql schema
 database.db  # database file

Just execute yatg_updater, using the configuration file as parameter:

 yatg_updater config.yaml

YATG will store the information gathered via SNMP in a sub-directory called 127.0.0.1.

TROUBLESHOOTING ^

The "disk" storage requires Tie::File::FixedRecLen. Make sure you have this module installed.

SEE ALSO ^

YATG
YATG::Config
http://www.sqlite.org/

AUTHOR ^

Nelson Ferraz <nferraz@gmail.com>

ACKNOWLEDGMENTS ^

Thanks to Oliver Gorwits who created YATG.

COPYRIGHT & LICENSE ^

Copyright (c) 2007 Nelson Ferraz. All Rights Reserved.

This documentation is free; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: