WHAT'S NEW?
- 2002-09-18
- reslog.pl v2.1.0dev2 is released. This release corrects several
documentation errors. It also adds SourceForge in the documentations
as one of the sources of reslog.pl. You can think of it as a
"Source Forge Memorial Release". :p You don't have to
upgrade to this version in a rush. You can click here
to download.
- 2002-09-17
- reslog.pl is hosted at SourceForge now!
Congratulations! (Although I'm still trying hard to get it working
at this time... ^^; )
- 2002-08-31
- reslog.pl v2.1.0dev1 is released. This release fixes the problem
that it wouldn't run with perl 5.8.0. I marked it as "dev"
because I wish I can implement
Compress::Bzip2 and
ExtUtils::MakeMaker
in the 2.1.0 stable release. But it is is in fact very stable. You
can click here
to download.
DESCRIPTION
reslog.pl reverse-resolves IPs in the Apache log files. These log
files can then be analyzed by another program, like Analog. You can
think of it as a replacement of Apache HostNameLookups
directive, in the sense that it resolves the client IPs
altogether once a day.
CAUTION
- Resolving takes long time. This is mainly caused by
resolving: Network packets may be filtered by firewalls; DNS servers
may not be correctly configured; may not be up working; may sit in
slow network sections; may be old slow machines; may have traffic
jam... etc. All these reasons are out of the program's control. In
order to avoid simultaneously writing to the log file while
resolving, which may ruin the log file, it uses flock()
to prevent simultaneously writing from other programs (or another
instance of itself) that utilize flock(). In order to
prevent from those that do not utilize flock(), like
httpd, it copies the records to a temporary working file
first, to minimize the time occupying the log file.
- If it stops in the middle of its execution, as when the user hits
a Ctrl-Break, it may leave a temporary working file.
The next time it runs, it will stop when it sees that temporary
working file at the first sight. Please process that file first.
You can resolve it again, just like an ordinary log file.
- This prorgam needs temporary working space. Comparing between
memory and disk space, I choose disk space, since it is relatively
cheaper and more efficient. However, this means that it needs free
temporary disk space about 2 times of the size of the source log log
file (10 times if using memory). Please make sure you have that much
free space.
SYSTEM REQUIREMENT
- Perl, version 5.005 or above. This program uses the File::Temp
module, which requires some new features introduced from perl 5.005.
Perl is distributed with most Unix now. If not, or if you have an
older version of perl, you can download and install/upgrade it from
http://www.perl.com/.
If you are using MS-Win32, you can download and install from
http://www.activestate.com/.
- Required perl modules:
File::Spec::Functions,
File::Temp,
Compress::Zlib.
You can always search, download and install the missing perl modules
from the the CPAN archieve:
http://search.cpan.org/.
DOWNLOAD
reslog.pl's official websites at...
You can always download the newest version of reslog.pl from...
imacat's PGP public key at...
INSTALL
-
Extract the downloaded tar ball
% tar -xzf reslog.pl-x.xx.xx.tar.gz
-
Install using the installation script (recommended)
Although reslog.pl needs no configuration, it is still recommended
that you run the installation script. It will check anything that is
required by reslog.pl and warn you in advance if something is missing.
You'll have to install
File::Spec::Functions
first in order to run the installation script. It is included in the
perl distributions from v5.6.0. If you don't have it, you can
download and install it from the CPAN archive:
http://search.cpan.org/.
Goto the extracted directory, run the Install.PL:
% ./Install.PL
It will check everything it needs and prompt you for the necessary
settings. Answer them according to your needs. Then it will install
the program according to your answers. You can also try
% ./Install.PL --help
for a list of available command line options.
-
Manual set up and install
Copy the reslog.pl to your preferred directory and
run it. That's all.
-
Run
Run it and see if anything wrong. You can try
% ./reslog.pl --help
for a list of available command line options. Try
% perldoc reslog.pl
for a complete documentation.
OPTIONS
./reslog.pl [options] [logfile...]
./reslog.pl [-h|-v]
- logfile
- The log file to be resolved. If not specified, it will read from
STDIN and output to STDOUT. You can also
specify "-" to read from STDIN.
Multiple log files are supported. If one of these files are
STDIN, it will output to STDOUT. Gzipped
files are supported, too.
- -s, --suffix=suf
- The suffix of the output resolved file. The default suffix is
.resolved.
- -o, --override[=mode]
- Whether we should overwrite the existing resolved files.
Currently the following modes are supported:
- o, overwrite
- Overwrite existing target files. If --override was
specified without mode, it assumes that you want to
overwrite.
- a, append
- Append the records to existing target files.
- f, fail
- Stop processing whenever a target file exists, to prevent
destroying existing files by accident. This is the default.
- -k, --keep[=mode]
- What to keep in the source file. Currently the following modes
are supported:
- a, all
- Keep the source file after records are archived. If
--keep was specified without mode, it
assumes that you want to keep all.
- r, restart
- Restart the source file after records are resolved.
- d, delete
- Delete the source file after records are resolved. This is the
default.
- -c, --stdout
- Output the result to STDOUT.
- -d, --debug
- Show the detailed debugging messages.
- -q, --quiet
- Shihhhhhh. Only yell when errors.
- -h, --help
- Display the help message and exit.
- -v, --version
- Output version information and exit.
COPYRIGHT
Copyright © 2001-2002 imacat. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General
Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty
of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU
General Public License along with this program; if not, write
to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
02139, USA.
RELEASE NOTES
Please read the RELEASE_NOTES for the new functions and bug fixes.