NAME innpeer-stats - Yet Another statistic tool for INN DESCRIPTION innpeer-stats is an application producing a lot of fancy graphics concerning usenet peers. Both incoming and outgoing reports are available. Data are extracted from the current syslog file generated by INN (in this version, only innd and innfeed logs are processed). This is very useful to tune your server or to debug strange problems. It can be run both as a CGI or via the command line. INSTALLATION - pre-requisites: - a Web server (e.g. Apache available at http://www.apache.org/) - libgd >= 1.6.3 (available at http://www.boutell.com/gd/) In this version, all images are generated in PNG format. - fetch the latest tarball of innpeer-stats from : http://www.sofaraway.org/projects/innpeer-stats/ - extract it $ gzip -dc innpeer-stats-xxxx.tar.gz | tar xvf - $ cd innpeer-stats - edit the Makefile and innpeer-stats.h to fit your needs... Usually, everything can stay unchanged except the first 5 constants in innpeer-stats.h : - SKIP_SYSLOG_COLS: number of columns to skip if your syslog is no standard. - LOGFILE: the absolute filename of your news log file - ROOTDIR: the root directory of your Web server (not trailing slash allowed) - DATADIR: a Web directory that will contain all the generated files. It must start with a slash so it can be concatenated with ROOTDIR to produce a real directory. This real directory *must* be writable by the owner of the CGI (something like www-data or nobody). - TEMPDIR: a Web directory that will contain all the temporary files generated by the CGI. This directory must be cleaned regularly. You can also have to change GDLIBS/GDFLAGS in the Makefile if libgd is not installed in a standard directory or if your linker is not able to add dependancy by itself (libpng, libm...). - compile everything $ make - you can now run innpeer-stats both from the command line or as a CGI. In the first case, see the usage "-h". Else, continue the following procedure. Note that the same binary can be used to do both things. For example, you can use the CGI against the current log file and call it normally in your crontab with yesterday log file. - install the binary called "innpeer-stats" somewhere where it can be invoked as a CGI. $ cp innpeer-stats /usr/lib/cgi-bin - add an entry in the proper crontab to remove unneeded pictures. E.g. With ROOTDIR=/var/www and TEMPDIR=/innpeer-stats/tmp 1 1 * * * find /var/www/innpeer-stats/tmp -mtime +1 -exec rm {} \; - Fire your prefered Web browser (one that can display PNG files) and point it to innpeer-stats. You should see a Web page entitled "INN Peer Statistics" with *a lot* of coloured pictures (as many as entries in incoming.conf and innfeed.conf) unless you have decided to split (and possibly to group) peers into different files. NOTES - Incoming statistics are wrong most of the time because of a lack of reliable "checkpoints". This should really be improved in the future. There's no real problem with Outgoing statistics. - data are not archived, this is definitly a feature. Images are only stored on disk temporary and should be removed if you don't want to fill your disks with garbage (I'd be glad to find a way to avoid this while still be free of web/browser cache problems). INNreport will make a better job for long term archiving. - nntpsend/innxmit is not supported as I'm no longer using it. You are free to submit patches :) - it has been developped and tested under Linux 2.4.0, glibc 2.2, gcc 2.95.2, INN 2.4.0 and libgd 1.8.3. Also tested succesfully under Solaris 2.6/7. Please, report successes or failures (with patches) on other plateforms. LICENCE Copyright (C) 2000-2003 Fabien Tassin 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA AUTHOR Fabien Tassin