DragonFly On-Line Manual Pages

Search: Section:  


TAIL_TO_SCRIBE(1)     User Contributed Perl Documentation    TAIL_TO_SCRIBE(1)

NAME

tail_to_scribe.pl - Tail files and send to a Scribe logging system.

SYNOPSIS

tail_to_scribe.pl [ --config=CONFIG_FILE ] [ --daemon ] [ --dirs DIR1 [DIR2 ...] ] [ --excluded-dir XDIR1 [XDIR2 ...] ] [ --excluded-re REGEXP1 [REGEXP2 ...] ] [ --filter=REGEXP ] [ --follow-symlinks ] [ --no-init ] [ --state-file-name=FILE ] [ --sleep-interval=SECS ] [ --port=PORT ] [ --host=HOST ] [ --level=LEVEL ] [ --category=CATEGORY ]

DESCRIPTION

tail_to_scribe.pl monitors files in a given directory (or set of directories), such as Apache log files in /var/log/httpd, and as the log files are written to, takes the changes and sends them to a running instance of the Scribe logging system.

OPTIONS

--daemon Run in the background. --dirs DIR1 [DIR2 ...] The list of directories in which to monitor files for changes. Defaults to /var/log/httpd. --excluded-dir XDIR1 [XDIR2 ...] A list of directories to exclude from monitoring. These must be full filesystem paths. Defaults to empty (no exclusions). --excluded-re REGEXP1 [REGEXP2 ...] A list of exclude regular expressions; any directory paths that match will be excluded from monitoring. Defaults to empty (no exclusions). --filter=REGEXP A file filter regular expression; only filenames that match will be monitored. Defaults to '[._]log$' (files ending in .log or _log). Set to '.*' to include all files. --follow-symlinks If set, follow symbolic links in the filesystem. --no-init If set, any existing state file will be ignored, and only changes from the current file state will be sent. Without --no-init, on the first run (before any state file is created), any existing content in the monitored files will be sent as well as changes (which could be a large amount of data if you have big files). --state-file-name=FILE Name of file in which to store state between runs. Defaults to '.tailtoscribe' in the working directory. --sleep-interval=SECS Where a kernel-based file change notification system is not available, this specifies the number of seconds between scans for file changes. To minimise CPU usage, installing Linux::Inotify2 is highly recommended. Scribe Options --host, --port Host and port of Scribe server. Defaults to localhost, port 1463. --category=CATEGORY Default Scribe logging category. Defaults to 'httpd'. --level=LEVEL Default log level. Defaults to 'info'. May be set to any valid Log::Dispatch level (debug, info, notice, warning, error, critical, alert, emergency). --retry-plan-a=MODE, --retry-plan-b=MODE, --retry-buffer-size=SIZE, --retry-count=COUNT, --retry-delay=DELAY See Log::Dispatch::Scribe for full description of these options. --pidfile=FILE Write process ID to file FILE. tail_to_scribe.pl will use this file to check if an instance is already running, and refuse to start if the PID in this file corresponds to another tail_to_scribe.pl process. Checks are skipped if no pidfile is given. --debug, --debug=FILE Enable debugging to standard error or to file. --config=CONFIG_FILE Specify the location of the configuration file (an included perl script). Defaults to /etc/tail_to_scribe.conf. A typical configuration file might look like this: # Set my arg values my %localargs = ( dirs => [ '/var/log/httpd' ], filter => 'access[._]log$', 'exclude-dir' => [ '/var/log/httpd/fastcgi' ], 'state-file-name' => '/var/log/httpd/.tailtoscribe', ); # Copy into args to override defaults $args{$_} = $localargs{$_} for keys %localargs; 1; # Must return a true value In addition to all of the options available on the command line, a custom message filter may also be included, e.g. $msg_filter = sub { my ($self, $filename, $line) = @_; return ('info', 'httpd', "$filename\t$line"); }; See "msg_filter" in File::Tail::Scribe for more details on the msg_filter.

SIGNALS

HUP signal causes tail_to_scribe.pl to restart. TERM/QUIT/INT cause it to save state and exit.

SEE ALSO

o File::Tail::Scribe o File::Tail::Dir o <http://notes.jschutz.net/109/perl/perl-client-for-facebooks-scribe-logging-software> o <http://github.com/facebook/scribe/> o Log::Dispatch::Scribe

AUTHOR

Jon Schutz, "<jon at jschutz.net>" notes.jschutz.net

BUGS

Please report any bugs or feature requests to "bug-file-tail-scribe at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=File-Tail-Scribe>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command. perldoc File::Tail::Scribe You can also look for information at: o RT: CPAN's request tracker <http://rt.cpan.org/NoAuth/Bugs.html?Dist=File-Tail-Scribe> o AnnoCPAN: Annotated CPAN documentation <http://annocpan.org/dist/File-Tail-Scribe> o CPAN Ratings <http://cpanratings.perl.org/d/File-Tail-Scribe> o Search CPAN <http://search.cpan.org/dist/File-Tail-Scribe/>

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE Copyright 2010 Jon Schutz, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.20.2 2010-03-25 TAIL_TO_SCRIBE(1)

Search: Section: