Skip to content
ates edited this page Dec 3, 2010 · 12 revisions

Overview

The Netspire is a platform for building ISP billing software written in Erlang programming language.

It is a framework that contains basic blocks for building most adaptive application to ISP needs.

Netspire has modular structure, so various functionality are devided by separate modules.

More information about existing modules you can obtain from Modules page.

In current state the core part is includes:

  1. RADIUS server compliant with RFC 2138 and RFC 2139 with support for unlimited number of NAS'es
  2. Netflow collector with v5 and v9 protocol versions support
  3. Modules that implement PAP, CHAP, Digest and MSCHAPv2 authentication protocols
  4. RPC interface to execute commands on server side
  5. Implementation of pool of IP adresses

Compilation and installation

Supported operation systems: Linux, BSD based and Mac OS X.

To compile you need to have installed Erlang, GNU make and GNU autotools on your system.

Version of Erlang should be no less then R14A.

Go to the directory with netspire-core sources and execute the following commands:

autoconf
./configure --prefix=/opt/netspire
make
make install

You need to use gmake on BSD based system.

Additional modules like netspire-iptraffic, netspire-postgresql and so on need to install in the same way, also use the same prefix as during netspire-core installation.

Configuration

The main configuration file for Netspire called netspire.conf. By default it located in $PREFIX/etc/netspire directory.

This file is a set of Erlang terms such as tuples and lists which describes necessary options.

In general the configuration file is devided by 4 parts: global options, logging options, services options and dynamic modules options.

Global options

  • override_local

Override local options specific for particular node.

  • override_local

Override global options shared by all nodes in a cluster.

  • code_path {code_path, []}.

Code path to load additionals modules from.

Logging options

{logging, {netspire_filelog_h, [
    {path, "/tmp/netspire.log"},
    {rotation_interval, 600},
    {max_size, 10485760}
]}}.
  • path = string()

Specify where is log file will be located.

  • rotatation = integer()

Specify in seconds how often netspire will check size of log file to rotate it.

  • max_size = integer()

Size of log file in bytes used for rotation.

Services options

Services options used to configure services like netflow collector and radius server. See netspire.conf.sample for more details.

Dynamic modules options

List of modules which will be loaded dynamically.

Starting and troubleshooting

To start Netspire after installation and configuration use $PREFIX/sbin/netspirectl utility.

It's supports the following command line arguments: start, stop, status, shell

  • status argument will show the current state of Netspire: started of stopped

  • shell argument provides remote shell to the Netspire node

If you are experiencing some problem during starting application you need to check the trace file that present in $PREFIX/var/log/netspire/ directory

Clone this wiki locally