Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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.32.0			  2010-03-25		     TAIL_TO_SCRIBE(1)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | SIGNALS | SEE ALSO | AUTHOR | BUGS | SUPPORT | ACKNOWLEDGEMENTS | COPYRIGHT & LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=tail_to_scribe.pl&sektion=1&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help