Import ports/net/nfsen, this companion to net/nfdump is a nice web-based
interface for working with netflow captures, including those from pflow(4). See teamcymru episode 19 on youtube or the RIPE50 presentation slides to get an idea of what it can do. Port requested by henning@. NfSen is a graphical web based front end for the nfdump netflow tools, allowing you to: * Display your netflow data: Flows, Packets and Bytes using RRD (Round Robin Database). * Easily navigate through the netflow data. * Process the netflow data within the specified time span. * Create history as well as continuous profiles. * Set alerts, based on various conditions. * Write your own plugins to process netflow data on a regular interval. Different tasks need different interfaces to your netflow data. NfSen allows you to keep all the convenient advantages of the command line using nfdump directly and gives you also a graphical overview over your netflow data.
This commit is contained in:
parent
a0c39a8ff4
commit
856267e50d
60
net/nfsen/Makefile
Normal file
60
net/nfsen/Makefile
Normal file
@ -0,0 +1,60 @@
|
||||
# $OpenBSD: Makefile,v 1.1.1.1 2010/05/02 20:52:32 sthen Exp $
|
||||
|
||||
MULTI_PACKAGES= -main -web
|
||||
COMMENT-main= web-based front end for the nfdump netflow tools
|
||||
COMMENT-web= html/php parts for nfsen
|
||||
|
||||
V= 1.3.2
|
||||
DISTNAME= nfsen-$V
|
||||
PKGNAME-main= ${DISTNAME}
|
||||
PKGNAME-web= nfsen-web-$V
|
||||
CATEGORIES= net www
|
||||
HOMEPAGE= http://nfsen.sourceforge.net/
|
||||
|
||||
MAINTAINER= Stuart Henderson <sthen@openbsd.org>
|
||||
|
||||
# BSD
|
||||
PERMIT_PACKAGE_CDROM= Yes
|
||||
PERMIT_PACKAGE_FTP= Yes
|
||||
PERMIT_DISTFILES_CDROM= Yes
|
||||
PERMIT_DISTFILES_FTP= Yes
|
||||
|
||||
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=nfsen/}
|
||||
|
||||
MODULES= perl
|
||||
BUILD_DEPENDS= :p5-RRD-*:net/rrdtool,-perl \
|
||||
::mail/p5-Mail-Tools \
|
||||
:nfprofile-*:net/nfdump,-nfprofile \
|
||||
:nfdump->=1.5.8p0:net/nfdump
|
||||
RUN_DEPENDS-main= ${BUILD_DEPENDS} \
|
||||
:nfsen-web-$V:net/nfsen,-web
|
||||
RUN_DEPENDS-web= ::www/php5/core
|
||||
|
||||
NO_BUILD= Yes
|
||||
NO_REGRESS= Yes
|
||||
PREFIX-web= /var/www
|
||||
PKG_ARCH= *
|
||||
|
||||
post-extract:
|
||||
rm ${WRKSRC}/html/nfsen.php.orig # in the distfile
|
||||
|
||||
pre-configure:
|
||||
${SUBST_CMD} ${WRKSRC}/etc/nfsen-dist.conf
|
||||
|
||||
do-install:
|
||||
${INSTALL_DATA_DIR} ${WRKINST}/var/www/htdocs
|
||||
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/nfsen
|
||||
${INSTALL_DATA_DIR} ${PREFIX}/${P5SITE}/NfSen/installer-items
|
||||
cd ${WRKSRC} && INSTDIR=${WRKINST}/ ./install.pl etc/nfsen-dist.conf copy < /dev/null
|
||||
${INSTALL_DATA} ${WRKINST}/etc/nfsen.conf ${PREFIX}/share/examples/nfsen
|
||||
rm ${WRKINST}/etc/nfsen*
|
||||
${INSTALL_SCRIPT} ${WRKSRC}/install.pl ${PREFIX}/bin/install-nfsen.pl
|
||||
perl -pi \
|
||||
-e 's,use lib "./libexec";,use lib "${TRUEPREFIX}/${P5SITE}/NfSen";,;' \
|
||||
-e 's,use lib "./installer-items";,use lib "${TRUEPREFIX}/${P5SITE}/NfSen/installer-items";,' \
|
||||
${PREFIX}/bin/install-nfsen.pl
|
||||
${INSTALL_SCRIPT} ${WRKSRC}/installer-items/* ${PREFIX}/${P5SITE}/NfSen/installer-items
|
||||
chown -R ${SHAREOWN}:${SHAREGRP} ${WRKINST}/var/www/htdocs/nfsen ${PREFIX}/share/doc/nfsen
|
||||
chown -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/bin ${PREFIX}/lib ${PREFIX}/libdata
|
||||
|
||||
.include <bsd.port.mk>
|
5
net/nfsen/distinfo
Normal file
5
net/nfsen/distinfo
Normal file
@ -0,0 +1,5 @@
|
||||
MD5 (nfsen-1.3.2.tar.gz) = OoI6ONbncX4VY/vNnU0t4A==
|
||||
RMD160 (nfsen-1.3.2.tar.gz) = 8eKT/kEniqwlj5owu9R0AeJloQg=
|
||||
SHA1 (nfsen-1.3.2.tar.gz) = KbopYqUZyTH/ooWu688szLJi9pI=
|
||||
SHA256 (nfsen-1.3.2.tar.gz) = pR3IH4OtInMgG6DKHuZ9WYtaZ9xk6oQwq5/2DSOyWcE=
|
||||
SIZE (nfsen-1.3.2.tar.gz) = 6539382
|
91
net/nfsen/patches/patch-etc_nfsen-dist_conf
Normal file
91
net/nfsen/patches/patch-etc_nfsen-dist_conf
Normal file
@ -0,0 +1,91 @@
|
||||
$OpenBSD: patch-etc_nfsen-dist_conf,v 1.1.1.1 2010/05/02 20:52:32 sthen Exp $
|
||||
--- etc/nfsen-dist.conf.orig Wed Jun 10 08:54:50 2009
|
||||
+++ etc/nfsen-dist.conf Fri Apr 30 23:10:21 2010
|
||||
@@ -8,6 +8,10 @@
|
||||
# Set all the values to fit your NfSen setup and run the 'install.pl'
|
||||
# script from the nfsen distribution directory.
|
||||
#
|
||||
+### OPENBSD PACKAGE NOTE: the directory-related values are set at ###
|
||||
+### port build time. For post-install configuration, please start with ###
|
||||
+### "BASEDIR unrelated vars" below. ###
|
||||
+#
|
||||
# The syntax must conform to Perl syntax.
|
||||
#
|
||||
##############################
|
||||
@@ -18,7 +22,7 @@
|
||||
|
||||
#
|
||||
# Required for default layout
|
||||
-$BASEDIR = "/data/nfsen";
|
||||
+$BASEDIR = "${PREFIX}";
|
||||
|
||||
#
|
||||
# Where to install the NfSen binaries
|
||||
@@ -26,25 +30,25 @@ $BINDIR="${BASEDIR}/bin";
|
||||
|
||||
#
|
||||
# Where to install the NfSen Perl modules
|
||||
-$LIBEXECDIR="${BASEDIR}/libexec";
|
||||
+$LIBEXECDIR="${BASEDIR}/${P5SITE}/NfSen";
|
||||
|
||||
#
|
||||
# Where to install the config files
|
||||
-$CONFDIR="${BASEDIR}/etc";
|
||||
+$CONFDIR="${SYSCONFDIR}";
|
||||
|
||||
#
|
||||
# NfSen html pages directory:
|
||||
# All php scripts will be installed here.
|
||||
# URL: Entry point for nfsen: http://<webserver>/nfsen/nfsen.php
|
||||
-$HTMLDIR = "/var/www/nfsen/";
|
||||
+$HTMLDIR = "/var/www/htdocs/nfsen";
|
||||
|
||||
#
|
||||
# Where to install the docs
|
||||
-$DOCDIR="${HTMLDIR}/doc";
|
||||
+$DOCDIR="${BASEDIR}/share/doc/nfsen";
|
||||
|
||||
#
|
||||
# Var space for NfSen
|
||||
-$VARDIR="${BASEDIR}/var";
|
||||
+$VARDIR="/var/db/nfsen";
|
||||
|
||||
#
|
||||
# directory for all pid files
|
||||
@@ -53,15 +57,15 @@ $VARDIR="${BASEDIR}/var";
|
||||
#
|
||||
# The Profiles stat directory, where all profile information
|
||||
# RRD DBs and png pictures of the profile are stored
|
||||
-$PROFILESTATDIR="${BASEDIR}/profiles-stat";
|
||||
+$PROFILESTATDIR="${VARDIR}/profiles-stat";
|
||||
|
||||
#
|
||||
# The Profiles directory, where all netflow data is stored
|
||||
-$PROFILEDATADIR="${BASEDIR}/profiles-data";
|
||||
+$PROFILEDATADIR="${VARDIR}/profiles-data";
|
||||
|
||||
#
|
||||
# Where go all the backend plugins
|
||||
-$BACKEND_PLUGINDIR="${BASEDIR}/plugins";
|
||||
+$BACKEND_PLUGINDIR="${BASEDIR}/lib/nfsen/plugins";
|
||||
|
||||
#
|
||||
# Where go all the frontend plugins
|
||||
@@ -69,7 +73,7 @@ $FRONTEND_PLUGINDIR="${HTMLDIR}/plugins";
|
||||
|
||||
#
|
||||
# nfdump tools path
|
||||
-$PREFIX = '/usr/local/bin';
|
||||
+$PREFIX = '${PREFIX}/bin';
|
||||
|
||||
#
|
||||
# nfsend communication socket
|
||||
@@ -81,7 +85,7 @@ $PREFIX = '/usr/local/bin';
|
||||
# This may be a different or the same uid than your web server.
|
||||
# Note: This user must be in group $WWWGROUP, otherwise nfcapd
|
||||
# is not able to write data files!
|
||||
-$USER = "netflow";
|
||||
+$USER = "_nfcapd";
|
||||
|
||||
# user and group of the web server process
|
||||
# All netflow processing will be done with this user
|
310
net/nfsen/patches/patch-install_pl
Normal file
310
net/nfsen/patches/patch-install_pl
Normal file
@ -0,0 +1,310 @@
|
||||
$OpenBSD: patch-install_pl,v 1.1.1.1 2010/05/02 20:52:32 sthen Exp $
|
||||
--- install.pl.orig Wed Jun 10 09:34:16 2009
|
||||
+++ install.pl Fri Apr 30 23:05:08 2010
|
||||
@@ -60,6 +60,8 @@ my @ProfileTag = (
|
||||
"# \n",
|
||||
);
|
||||
|
||||
+my $instdir = $ENV{'INSTDIR'};
|
||||
+
|
||||
my @RequiredDirs = ( 'PREFIX', 'BINDIR', 'LIBEXECDIR', 'CONFDIR', 'DOCDIR',
|
||||
'VARDIR', 'PROFILESTATDIR', 'PROFILEDATADIR',
|
||||
'BACKEND_PLUGINDIR', 'FRONTEND_PLUGINDIR', 'HTMLDIR' );
|
||||
@@ -87,11 +89,11 @@ sub GetPerl {
|
||||
my $ans;
|
||||
$whichperl = FindCommand("perl");
|
||||
if ( defined $whichperl ) {
|
||||
- print "Perl to use: [$whichperl] ";
|
||||
- chomp($ans = <STDIN>);
|
||||
- if ( length $ans ) {
|
||||
- $whichperl = $ans;
|
||||
- }
|
||||
+ print "Perl to use: [$whichperl]\n";
|
||||
+# chomp($ans = <STDIN>);
|
||||
+# if ( length $ans ) {
|
||||
+# $whichperl = $ans;
|
||||
+# }
|
||||
} else {
|
||||
print "No Perl found in your PATH. Please specify where to find perl [] ";
|
||||
chomp($whichperl = <STDIN>);
|
||||
@@ -116,6 +118,7 @@ sub GetPerl {
|
||||
sub CopyDir {
|
||||
my $orig = shift;
|
||||
my $dest = shift;
|
||||
+ $dest = $instdir.$dest;
|
||||
|
||||
my $DIR;
|
||||
mkdir $dest unless -d $dest;
|
||||
@@ -160,14 +163,14 @@ sub VerifyUser {
|
||||
if ( !defined $gid_name ) {
|
||||
die "Group '$user_gid' not found on this system\n";
|
||||
}
|
||||
- # Check the members list
|
||||
- foreach my $member ( split /\s+/, $group_members ) {
|
||||
- if ( $member eq $user ) {
|
||||
- # user found
|
||||
+# # Check the members list
|
||||
+# foreach my $member ( split /\s+/, $group_members ) {
|
||||
+# if ( $member eq $user ) {
|
||||
+# # user found
|
||||
return $uid;
|
||||
- }
|
||||
- }
|
||||
- die "User '$user' not a member of group '$NfConf::WWWGROUP'\n";
|
||||
+# }
|
||||
+# }
|
||||
+# die "User '$user' not a member of group '$NfConf::WWWGROUP'\n";
|
||||
|
||||
} # End of VerifyUser
|
||||
|
||||
@@ -192,7 +195,7 @@ sub VerifyConfig {
|
||||
}
|
||||
|
||||
die "Missing PREFIX directory of nfdump tools!\n" unless defined $NfConf::PREFIX;
|
||||
- die "Configured PREFIX directory '$NfConf::PREFIX' not found!\n" unless -d $NfConf::PREFIX;
|
||||
+ die "Configured PREFIX directory '$instdir$NfConf::PREFIX' not found!\n" unless -d $instdir.$NfConf::PREFIX;
|
||||
foreach my $binary ( 'nfcapd', 'nfdump', 'nfprofile' ) {
|
||||
die "nfdump tools installation error: '$binary' not found in '$NfConf::PREFIX'" unless -f "$NfConf::PREFIX/$binary";
|
||||
}
|
||||
@@ -283,8 +286,8 @@ sub PatchVars {
|
||||
sub PatchAllScripts {
|
||||
|
||||
my %GlobList = (
|
||||
- "bin/*" => "$NfConf::BINDIR",
|
||||
- "libexec/*" => "$NfConf::LIBEXECDIR"
|
||||
+ "bin/*" => "$instdir$NfConf::BINDIR",
|
||||
+ "libexec/*" => "$instdir$NfConf::LIBEXECDIR"
|
||||
);
|
||||
|
||||
foreach my $glob_list ( keys %GlobList ) {
|
||||
@@ -334,15 +337,15 @@ sub SetupHTML {
|
||||
my ( $nfsen_uid, $www_gid ) = @_;
|
||||
|
||||
print "Setup php and html files.\n";
|
||||
- mkdir "$NfConf::HTMLDIR" unless -d "$NfConf::HTMLDIR";
|
||||
- die "Could not create HTMl directory '$NfConf::HTMLDIR': $!\n" unless -d $NfConf::HTMLDIR;
|
||||
+ mkdir "$instdir$NfConf::HTMLDIR" unless -d "$instdir$NfConf::HTMLDIR";
|
||||
+ die "Could not create HTMl directory '$instdir$NfConf::HTMLDIR': $!\n" unless -d $instdir.$NfConf::HTMLDIR;
|
||||
|
||||
$CopyRecursive::CopyLink = 1;
|
||||
$CopyRecursive::MODE = 0644;
|
||||
$CopyRecursive::UID = 0;
|
||||
$CopyRecursive::GID = $www_gid;
|
||||
- CopyRecursive::dircopy("html", "$NfConf::HTMLDIR");
|
||||
- open CONF, ">$NfConf::HTMLDIR/conf.php" || die "Can't open conf.php for writing: $!\n";
|
||||
+ CopyRecursive::dircopy("html", "$instdir$NfConf::HTMLDIR");
|
||||
+ open CONF, ">$instdir$NfConf::HTMLDIR/conf.php" || die "Can't open conf.php for writing: $!\n";
|
||||
print CONF "<?php\n";
|
||||
print CONF "/* This file was automatically created by the NfSen install.pl script */\n\n";
|
||||
print CONF "\$COMMSOCKET = \"$NfConf::COMMSOCKET\";\n";
|
||||
@@ -376,6 +379,7 @@ sub SetupEnv {
|
||||
print "\nUse UID/GID $nfsen_uid $www_gid\n";
|
||||
|
||||
foreach my $dir ( @dirs ) {
|
||||
+ $dir = $instdir.$dir;
|
||||
if ( ! -d $dir ) {
|
||||
print "Creating: ";
|
||||
mkdir $dir || die "Can't mkdir '$dir': $!\n";
|
||||
@@ -390,6 +394,7 @@ sub SetupEnv {
|
||||
print "\nProfile live: spool directories:\n";
|
||||
foreach my $ident ( keys %NfConf::sources ) {
|
||||
my $dir = "$NfConf::PROFILEDATADIR/live/$ident";
|
||||
+ $dir = $instdir.$dir;
|
||||
if ( ! -d $dir ) {
|
||||
print "Creating: ";
|
||||
mkdir $dir || die "Can't mkdir '$dir': $!\n";
|
||||
@@ -406,7 +411,7 @@ sub SetupEnv {
|
||||
my $now = time();
|
||||
my $tstart = $now - ( $now % 300 );
|
||||
foreach my $db ( keys %NfConf::sources ) {
|
||||
- NfSenRRD::SetupRRD("$NfConf::PROFILESTATDIR/live", $db, $tstart - 300, 0);
|
||||
+ NfSenRRD::SetupRRD("$instdir$NfConf::PROFILESTATDIR/live", $db, $tstart - 300, 0);
|
||||
}
|
||||
if ( $Log::ERROR ) {
|
||||
die "Error setup RRD DBs: $Log::ERROR\n";
|
||||
@@ -443,7 +448,7 @@ sub SetupEnv {
|
||||
print "Use existing profile info for profile 'live'\n";
|
||||
}
|
||||
|
||||
- my $filelist = "$NfConf::PROFILESTATDIR/live/*rrd $NfConf::PROFILESTATDIR/live/profile.dat";
|
||||
+ my $filelist = "$instdir$NfConf::PROFILESTATDIR/live/*rrd $instdir$NfConf::PROFILESTATDIR/live/profile.dat";
|
||||
my @AllFIles = glob($filelist);
|
||||
chown $nfsen_uid, $www_gid, @AllFIles;
|
||||
|
||||
@@ -480,8 +485,8 @@ sub UpgradeProfiles {
|
||||
|
||||
# fix permissions - all files/directories should ne $NfConf::USER and no longer WWW, as
|
||||
# no php script will no longer write anything
|
||||
- chown $nfsen_uid, $www_gid, "$NfConf::PROFILEDATADIR";
|
||||
- chown $nfsen_uid, $www_gid, "$NfConf::PROFILESTATDIR";
|
||||
+ chown $nfsen_uid, $www_gid, "$instdir$NfConf::PROFILEDATADIR";
|
||||
+ chown $nfsen_uid, $www_gid, "$instdir$NfConf::PROFILESTATDIR";
|
||||
|
||||
foreach my $profilename ( @AllProfiles ) {
|
||||
my %profileinfo = NfProfile::ReadProfile($profilename, '.');
|
||||
@@ -586,19 +591,19 @@ sub CopyAllFiles {
|
||||
$CopyRecursive::GID = $www_gid;
|
||||
$CopyRecursive::MODE = 0755;
|
||||
unlink "$NfConf::BINDIR/nfsen.rc";
|
||||
- CopyRecursive::dircopy("bin", "$NfConf::BINDIR");
|
||||
- CopyRecursive::dircopy("libexec", "$NfConf::LIBEXECDIR");
|
||||
+ CopyRecursive::dircopy("bin", "$instdir$NfConf::BINDIR");
|
||||
+ CopyRecursive::dircopy("libexec", "$instdir$NfConf::LIBEXECDIR");
|
||||
$CopyRecursive::MODE = 0644;
|
||||
- CopyRecursive::dircopy("etc", "$NfConf::CONFDIR");
|
||||
- CopyRecursive::dircopy("plugins/backend", "$NfConf::BACKEND_PLUGINDIR");
|
||||
- CopyRecursive::dircopy("plugins/frontend", "$NfConf::FRONTEND_PLUGINDIR");
|
||||
- CopyRecursive::dircopy("doc", "$NfConf::DOCDIR");
|
||||
+ CopyRecursive::dircopy("etc", "$instdir$NfConf::CONFDIR");
|
||||
+ CopyRecursive::dircopy("plugins/backend", "$instdir$NfConf::BACKEND_PLUGINDIR");
|
||||
+ CopyRecursive::dircopy("plugins/frontend", "$instdir$NfConf::FRONTEND_PLUGINDIR");
|
||||
+ CopyRecursive::dircopy("doc", "$instdir$NfConf::DOCDIR");
|
||||
|
||||
- if ( $ConfigFile eq "$NfConf::CONFDIR/nfsen.conf" ) {
|
||||
+ if ( $ConfigFile eq "$instdir$NfConf::CONFDIR/nfsen.conf" ) { # XXX??
|
||||
print "Keep config file '$ConfigFile'\n";
|
||||
} else {
|
||||
print "Copy config file '$ConfigFile'\n";
|
||||
- CopyRecursive::fcopy("$ConfigFile", "$NfConf::CONFDIR/nfsen.conf");
|
||||
+ CopyRecursive::fcopy("$ConfigFile", "$instdir$NfConf::CONFDIR/nfsen.conf");
|
||||
}
|
||||
print "\n";
|
||||
|
||||
@@ -617,7 +622,7 @@ sub Cleanup {
|
||||
);
|
||||
|
||||
foreach my $file ( @OldFiles ) {
|
||||
- unlink $file if -f $file;
|
||||
+# unlink $file if -f $file;
|
||||
}
|
||||
|
||||
} # End of Cleanup
|
||||
@@ -631,7 +636,12 @@ sub Cleanup {
|
||||
$| = 1;
|
||||
|
||||
my $ConfigFile = shift @ARGV;
|
||||
+my $mode = shift @ARGV;
|
||||
|
||||
+my $configure;
|
||||
+my $copy;
|
||||
+$configure=1 if $mode eq '';
|
||||
+$copy=1 if $mode eq 'copy';
|
||||
|
||||
# Load the required NfSen modules
|
||||
unshift @INC, "libexec";
|
||||
@@ -708,56 +718,63 @@ $NfConf::PERL = GetPerl();
|
||||
|
||||
my ($nfsen_uid, $www_gid ) = VerifyConfig();
|
||||
my $nfsen_run = 0;
|
||||
+my $need_rrdlayout_upgrade = undef;
|
||||
+my $rrdtool = undef;
|
||||
|
||||
-# test for two files of old layout
|
||||
-my $need_rrdlayout_upgrade = -f "$NfConf::PROFILESTATDIR/live/flows.rrd" && -f "$NfConf::PROFILESTATDIR/live/packets_other.rrd";
|
||||
+if ($configure) {
|
||||
+ # test for two files of old layout
|
||||
+ my $need_rrdlayout_upgrade = -f "$NfConf::PROFILESTATDIR/live/flows.rrd" && -f "$NfConf::PROFILESTATDIR/live/packets_other.rrd";
|
||||
|
||||
-my $rrdtool = undef;
|
||||
-if ( $need_rrdlayout_upgrade ) {
|
||||
- $rrdtool = FindCommand("rrdtool");
|
||||
- if ( !defined $rrdtool ) {
|
||||
- print "\nERROR: command 'rrdtool' not found in your PATH: 'rrdtool' is needed to upgrade the DBs of your NfSen version\n";
|
||||
- exit 1;
|
||||
+ if ( $need_rrdlayout_upgrade ) {
|
||||
+ $rrdtool = FindCommand("rrdtool");
|
||||
+ if ( !defined $rrdtool ) {
|
||||
+ print "\nERROR: command 'rrdtool' not found in your PATH: 'rrdtool' is needed to upgrade the DBs of your NfSen version\n";
|
||||
+ exit 1;
|
||||
+ }
|
||||
}
|
||||
-}
|
||||
|
||||
-my $pid_name = "nfsend.pid";
|
||||
-if ( -f "$NfConf::VARDIR/run/nfsen-run.pid" ) {
|
||||
- # from NfSen <= 1.2
|
||||
- $pid_name = "nfsen-run.pid";
|
||||
-}
|
||||
+ my $pid_name = "nfsend.pid";
|
||||
+ if ( -f "$NfConf::VARDIR/run/nfsen-run.pid" ) {
|
||||
+ # from NfSen <= 1.2
|
||||
+ $pid_name = "nfsen-run.pid";
|
||||
+ }
|
||||
|
||||
-if ( -f "$NfConf::VARDIR/run/$pid_name" ) {
|
||||
- open PID, "$NfConf::VARDIR/run/$pid_name" || die "Can't open pid file: $!\n";
|
||||
- my $pid = <PID>;
|
||||
- chomp($pid);
|
||||
- close PID;
|
||||
- die "Can't extract PID out of '$NfConf::VARDIR/run/$pid_name'. Stop upgrade" if !defined $pid;
|
||||
- if ( kill(0, $pid) == 1 ) {
|
||||
- print "Stop nfsend while upgrading .";
|
||||
- kill 15, $pid;
|
||||
- my $cnt = 0;
|
||||
- while ( -f "$NfConf::VARDIR/run/$pid_name" && $cnt < 300 ) {
|
||||
- print ".";
|
||||
- $cnt++;
|
||||
- sleep(1);
|
||||
- }
|
||||
- if ( -f "$NfConf::VARDIR/run/$pid_name" ) {
|
||||
- print "\nnfsend doesn't want to die! It's not save to upgrade NfSen!\n";
|
||||
- exit;
|
||||
+ if ( -f "$NfConf::VARDIR/run/$pid_name" ) {
|
||||
+ open PID, "$NfConf::VARDIR/run/$pid_name" || die "Can't open pid file: $!\n";
|
||||
+ my $pid = <PID>;
|
||||
+ chomp($pid);
|
||||
+ close PID;
|
||||
+ die "Can't extract PID out of '$NfConf::VARDIR/run/$pid_name'. Stop upgrade" if !defined $pid;
|
||||
+ if ( kill(0, $pid) == 1 ) {
|
||||
+ print "Stop nfsend while upgrading .";
|
||||
+ kill 15, $pid;
|
||||
+ my $cnt = 0;
|
||||
+ while ( -f "$NfConf::VARDIR/run/$pid_name" && $cnt < 300 ) {
|
||||
+ print ".";
|
||||
+ $cnt++;
|
||||
+ sleep(1);
|
||||
+ }
|
||||
+ if ( -f "$NfConf::VARDIR/run/$pid_name" ) {
|
||||
+ print "\nnfsend doesn't want to die! It's not save to upgrade NfSen!\n";
|
||||
+ exit;
|
||||
+ } else {
|
||||
+ print "done.\n";
|
||||
+ $nfsen_run = 1;
|
||||
+ }
|
||||
} else {
|
||||
- print "done.\n";
|
||||
- $nfsen_run = 1;
|
||||
+ print "nfsend pid file exists, but no process is running.\n";
|
||||
+ unlink "$NfConf::VARDIR/run/$pid_name";
|
||||
}
|
||||
- } else {
|
||||
- print "nfsend pid file exists, but no process is running.\n";
|
||||
- unlink "$NfConf::VARDIR/run/$pid_name";
|
||||
}
|
||||
}
|
||||
|
||||
-SetupHTML($nfsen_uid, $www_gid);
|
||||
-CopyAllFiles($ConfigFile, $nfsen_uid, $www_gid);
|
||||
-PatchAllScripts();
|
||||
+if ($copy) {
|
||||
+ SetupHTML($nfsen_uid, $www_gid);
|
||||
+ CopyAllFiles($ConfigFile, $nfsen_uid, $www_gid);
|
||||
+ PatchAllScripts();
|
||||
+}
|
||||
+
|
||||
+if ($configure) { # Not indented; cvs keywords in following block will break ports tree patches
|
||||
Cleanup();
|
||||
SetupEnv($nfsen_uid, $www_gid);
|
||||
|
||||
@@ -787,9 +804,10 @@ $$$hints{'version'} = $nfsen_version;
|
||||
$$$hints{'installed'} = time();
|
||||
NfSen::StoreHints();
|
||||
chown $nfsen_uid, $www_gid, "$NfConf::PROFILESTATDIR/hints" || die "Can't chown hints db: $!\n";
|
||||
+}
|
||||
print "Setup done.\n\n";
|
||||
|
||||
-if ( $nfsen_run ) {
|
||||
+if ( $copy && $nfsen_run ) {
|
||||
print "Restart nfsend\n";
|
||||
system("$NfConf::BINDIR/nfsend");
|
||||
}
|
15
net/nfsen/pkg/DESCR-main
Normal file
15
net/nfsen/pkg/DESCR-main
Normal file
@ -0,0 +1,15 @@
|
||||
NfSen is a graphical web based front end for the nfdump netflow
|
||||
tools, allowing you to:
|
||||
|
||||
* Display your netflow data:
|
||||
Flows, Packets and Bytes using RRD (Round Robin Database).
|
||||
* Easily navigate through the netflow data.
|
||||
* Process the netflow data within the specified time span.
|
||||
* Create history as well as continuous profiles.
|
||||
* Set alerts, based on various conditions.
|
||||
* Write your own plugins to process netflow data on a regular interval.
|
||||
|
||||
Different tasks need different interfaces to your netflow data.
|
||||
NfSen allows you to keep all the convenient advantages of the command
|
||||
line using nfdump directly and gives you also a graphical overview
|
||||
over your netflow data.
|
17
net/nfsen/pkg/DESCR-web
Normal file
17
net/nfsen/pkg/DESCR-web
Normal file
@ -0,0 +1,17 @@
|
||||
NfSen is a graphical web based front end for the nfdump netflow
|
||||
tools, allowing you to:
|
||||
|
||||
* Display your netflow data:
|
||||
Flows, Packets and Bytes using RRD (Round Robin Database).
|
||||
* Easily navigate through the netflow data.
|
||||
* Process the netflow data within the specified time span.
|
||||
* Create history as well as continuous profiles.
|
||||
* Set alerts, based on various conditions.
|
||||
* Write your own plugins to process netflow data on a regular interval.
|
||||
|
||||
Different tasks need different interfaces to your netflow data.
|
||||
NfSen allows you to keep all the convenient advantages of the command
|
||||
line using nfdump directly and gives you also a graphical overview
|
||||
over your netflow data.
|
||||
|
||||
This package contains the website parts (html, PHP, etc.)
|
16
net/nfsen/pkg/MESSAGE-main
Normal file
16
net/nfsen/pkg/MESSAGE-main
Normal file
@ -0,0 +1,16 @@
|
||||
Note: the _nfcapd user has been added to group www.
|
||||
|
||||
To proceed with an installation or upgrade, adjust ${SYSCONFDIR}/nfsen.conf
|
||||
as required and run the configuration tool:
|
||||
|
||||
# install-nfsen.pl ${SYSCONFDIR}/nfsen.conf
|
||||
|
||||
If your httpd runs in a chroot jail of /var/www you may adapt like this:
|
||||
|
||||
# mkdir -p /var/www/var/db
|
||||
# mv /var/db/nfsen /var/www/var/db/nfsen
|
||||
# ln -s /var/www/var/db/nfsen /var/db/nfsen
|
||||
|
||||
To start the daemon at boot, you may add this to /etc/rc.local:
|
||||
|
||||
[ -x ${PREFIX}/bin/nfsen ] && ${PREFIX}/bin/nfsen start
|
95
net/nfsen/pkg/PLIST-main
Normal file
95
net/nfsen/pkg/PLIST-main
Normal file
@ -0,0 +1,95 @@
|
||||
@comment $OpenBSD: PLIST-main,v 1.1.1.1 2010/05/02 20:52:32 sthen Exp $
|
||||
bin/RebuildHierarchy.pl
|
||||
bin/install-nfsen.pl
|
||||
bin/nfsen
|
||||
bin/nfsend
|
||||
bin/testPlugin
|
||||
lib/nfsen/
|
||||
lib/nfsen/plugins/
|
||||
lib/nfsen/plugins/demoplugin.pm
|
||||
lib/nfsen/plugins/smily.jpg
|
||||
${P5SITE}/NfSen/
|
||||
${P5SITE}/NfSen/Log.pm
|
||||
${P5SITE}/NfSen/Lookup.pm
|
||||
${P5SITE}/NfSen/NfAlert.pm
|
||||
${P5SITE}/NfSen/NfConf.pm
|
||||
${P5SITE}/NfSen/NfProfile.pm
|
||||
${P5SITE}/NfSen/NfSen.pm
|
||||
${P5SITE}/NfSen/NfSenRC.pm
|
||||
${P5SITE}/NfSen/NfSenRRD.pm
|
||||
${P5SITE}/NfSen/NfSenSim.pm
|
||||
${P5SITE}/NfSen/Nfcomm.pm
|
||||
${P5SITE}/NfSen/Nfsources.pm
|
||||
${P5SITE}/NfSen/Notification.pm
|
||||
${P5SITE}/NfSen/installer-items/
|
||||
${P5SITE}/NfSen/installer-items/CopyRecursive.pm
|
||||
${P5SITE}/NfSen/installer-items/RRDconvertv1.pm
|
||||
share/doc/nfsen/
|
||||
share/doc/nfsen/AlertArmTrigger.png
|
||||
share/doc/nfsen/AlertArmed.png
|
||||
share/doc/nfsen/AlertArmedMultiple.png
|
||||
share/doc/nfsen/AlertBlocked.png
|
||||
share/doc/nfsen/AlertConditions1.png
|
||||
share/doc/nfsen/AlertConditions2.png
|
||||
share/doc/nfsen/AlertCreateDialoge.png
|
||||
share/doc/nfsen/AlertDefinition.png
|
||||
share/doc/nfsen/AlertFired.png
|
||||
share/doc/nfsen/AlertFiredOnce.png
|
||||
share/doc/nfsen/AlertFlow.png
|
||||
share/doc/nfsen/AlertInactive.png
|
||||
share/doc/nfsen/AlertInfo.png
|
||||
share/doc/nfsen/AlertList.png
|
||||
share/doc/nfsen/AlertTrigger.png
|
||||
share/doc/nfsen/BSD-license.html
|
||||
share/doc/nfsen/Bookmark.png
|
||||
share/doc/nfsen/BuildingProfile.png
|
||||
share/doc/nfsen/ChannelDialog.png
|
||||
share/doc/nfsen/DefaultFilter.png
|
||||
share/doc/nfsen/DisabledSources.png
|
||||
share/doc/nfsen/DragHandle.png
|
||||
share/doc/nfsen/ExpandStat.png
|
||||
share/doc/nfsen/Lookup.png
|
||||
share/doc/nfsen/Navigating.png
|
||||
share/doc/nfsen/Navigating.psd
|
||||
share/doc/nfsen/NewProfile.png
|
||||
share/doc/nfsen/OutOfData.png
|
||||
share/doc/nfsen/PluginGuide/
|
||||
share/doc/nfsen/PluginGuide/plugin-alertaction.png
|
||||
share/doc/nfsen/PluginGuide/plugin-alertcondition.png
|
||||
share/doc/nfsen/PluginGuide/plugin-guide.html
|
||||
share/doc/nfsen/PluginGuide/plugins-comm.png
|
||||
share/doc/nfsen/PluginGuide/plugins-concept.png
|
||||
share/doc/nfsen/PluginGuide/plugins-frontend-flow.png
|
||||
share/doc/nfsen/PortTracker.png
|
||||
share/doc/nfsen/ProcessingControls.png
|
||||
share/doc/nfsen/ProcessingOutput.png
|
||||
share/doc/nfsen/ProfileChannels.png
|
||||
share/doc/nfsen/ProfileCommit.png
|
||||
share/doc/nfsen/ProfileConversion.png
|
||||
share/doc/nfsen/ProfileCreated.png
|
||||
share/doc/nfsen/ProfileExamples.png
|
||||
share/doc/nfsen/SelectWindow.png
|
||||
share/doc/nfsen/StatSummary.png
|
||||
share/doc/nfsen/TimeWindow.png
|
||||
share/doc/nfsen/WinScale.png
|
||||
share/doc/nfsen/alerting.png
|
||||
share/doc/nfsen/cursor_control.png
|
||||
share/doc/nfsen/custom-format.png
|
||||
share/doc/nfsen/details-graphs.png
|
||||
share/doc/nfsen/dirstruct.png
|
||||
share/doc/nfsen/edit.png
|
||||
share/doc/nfsen/flows.png
|
||||
share/doc/nfsen/index.html
|
||||
share/doc/nfsen/linegraph.png
|
||||
share/doc/nfsen/navigation.png
|
||||
share/doc/nfsen/nfsen-dist.conf
|
||||
share/doc/nfsen/overview.png
|
||||
share/doc/nfsen/processing-1.png
|
||||
share/doc/nfsen/selectprofile.png
|
||||
share/doc/nfsen/stat.png
|
||||
share/doc/nfsen/trigger.png
|
||||
share/examples/nfsen/
|
||||
share/examples/nfsen/nfsen.conf
|
||||
@sample ${SYSCONFDIR}/nfsen.conf
|
||||
@exec-add usermod -v -G www _nfcapd
|
||||
@extraunexec rm -rf /var/db/nfsen
|
58
net/nfsen/pkg/PLIST-web
Normal file
58
net/nfsen/pkg/PLIST-web
Normal file
@ -0,0 +1,58 @@
|
||||
@comment $OpenBSD: PLIST-web,v 1.1.1.1 2010/05/02 20:52:32 sthen Exp $
|
||||
htdocs/nfsen/
|
||||
htdocs/nfsen/alerting.php
|
||||
htdocs/nfsen/colour_palette.html
|
||||
htdocs/nfsen/colour_picker.html
|
||||
htdocs/nfsen/conf.php
|
||||
htdocs/nfsen/css/
|
||||
htdocs/nfsen/css/alerting.css
|
||||
htdocs/nfsen/css/detail.css
|
||||
htdocs/nfsen/css/lookup.css
|
||||
htdocs/nfsen/css/nfsen.css
|
||||
htdocs/nfsen/css/profileadmin.css
|
||||
htdocs/nfsen/details.php
|
||||
htdocs/nfsen/icons/
|
||||
htdocs/nfsen/icons/EmptyGraph.png
|
||||
htdocs/nfsen/icons/Error.png
|
||||
htdocs/nfsen/icons/ErrorGraph.png
|
||||
htdocs/nfsen/icons/arrow.blue.down.png
|
||||
htdocs/nfsen/icons/arrow.blue.right.png
|
||||
htdocs/nfsen/icons/arrow.yellow.down.png
|
||||
htdocs/nfsen/icons/arrow.yellow.right.png
|
||||
htdocs/nfsen/icons/close.png
|
||||
htdocs/nfsen/icons/cursor-line.png
|
||||
htdocs/nfsen/icons/cursor-start.png
|
||||
htdocs/nfsen/icons/cursor-stop.png
|
||||
htdocs/nfsen/icons/edit.png
|
||||
htdocs/nfsen/icons/help.png
|
||||
htdocs/nfsen/icons/invisible.png
|
||||
htdocs/nfsen/icons/minus.png
|
||||
htdocs/nfsen/icons/ok.png
|
||||
htdocs/nfsen/icons/plus.png
|
||||
htdocs/nfsen/icons/progress.png
|
||||
htdocs/nfsen/icons/save.png
|
||||
htdocs/nfsen/icons/shade.gif
|
||||
htdocs/nfsen/icons/shade.png
|
||||
htdocs/nfsen/icons/shadeactive.png
|
||||
htdocs/nfsen/icons/space.png
|
||||
htdocs/nfsen/icons/spyglas.png
|
||||
htdocs/nfsen/icons/trash.png
|
||||
htdocs/nfsen/icons/trigger.png
|
||||
htdocs/nfsen/js/
|
||||
htdocs/nfsen/js/ColorPicker2.js
|
||||
htdocs/nfsen/js/alerting.js
|
||||
htdocs/nfsen/js/detail.js
|
||||
htdocs/nfsen/js/global.js
|
||||
htdocs/nfsen/js/menu.js
|
||||
htdocs/nfsen/js/profileadmin.js
|
||||
htdocs/nfsen/lookup.php
|
||||
htdocs/nfsen/navigator.php
|
||||
htdocs/nfsen/nfsen.php
|
||||
htdocs/nfsen/nfsenutil.php
|
||||
htdocs/nfsen/overview.php
|
||||
htdocs/nfsen/pic.php
|
||||
htdocs/nfsen/plugins/
|
||||
htdocs/nfsen/plugins/demoplugin.php
|
||||
htdocs/nfsen/process.php
|
||||
htdocs/nfsen/profileadmin.php
|
||||
htdocs/nfsen/rrdgraph.php
|
Loading…
Reference in New Issue
Block a user