#! /usr/bin/env perl use warnings; use strict; use YAML::Tiny; # basically, if you're not that good with YAML, like me, this will # let you create the config as a hashref, then run the script # which will give you a file (config.yaml) that is the YAML equivilent. # # rename the created file to monitorNetwork.yaml and it is now your # config file # # rename this file to makeConfig, edit it, then save and run. # It will not be overwritten by svn updates my $config = { 'defaults' => { # defaults if not specified in site 'timeout' => 60, # the default timeout, in seconds 'failure count' => 0, # the number of successive failures before a report 'report to' => 'me@example.com', 'report type' => 'mail', 'report from' => 'root@localhost', 'type' => 'netcat' }, 'sites to check' => { # all sites to check 'some web site' => { # this is for display purposes only 'url' => 'http://example.com', # the actual URL to use 'type' => 'lwp' # type of test to run }, 'something that responds to icmp' => { 'url' => '192.168.1.50', 'type' => 'ping', 'timeout' => 20 # 20 second timeout }, 'site with netcat server running' => { 'url' => '192.168.1.51', 'type' => 'netcat', 'port' => 45654, # any additional netcat parameters. This is not checked, so # use at your own risk. 'additional parameters' => '-u', 'timeout' => 3 # 20 second timeout }, } }; # types of tests are listed in the code, and each test can take. # different parameters. Read the comments at the top of the file my $yaml = YAML::Tiny->new( $config ); $yaml->write( 'config.yaml' );