Skip to content
ates edited this page Mar 24, 2011 · 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 the most adaptive application for the ISP needs.

Netspire has a modular structure, such various functionality is devided into separate modules.

You can obtain more information about existing modules from Modules page.

You can find some examples and answers to frequently asked questions in Netspire-FAQ and Configuration Examples

In current state the core part includes:

  1. RADIUS server compliant with RFC 2138 and RFC 2139 with support for the 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 for executing the commands on the server side
  5. Implementation of pool of the IP addresses

Compilation and installation

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

You need to have Erlang, GNU make and GNU autotools being installed on your system for compiling.

Version of Erlang should be not lower than 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 be installed the same way, use the same prefix during netspire-core installation too.

Configuration

The main configuration file for Netspire is called netspire.conf. It's located in $PREFIX/etc/netspire directory by default.

But you can say netspire to use another configuration file by define the NETSPIRE_CONFIG shell variable before starting application.

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

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

Global options

  • override_local

Override the local options specific for the particular node.

  • override_local

Override the global options shared by all nodes in a cluster.

  • code_path {code_path, []}.

Used to specify the path where additional modules are located.

Logging options

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

Specify where the log file will be located.

  • rotation = integer()

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

  • max_size = integer()

Size of the log file in bytes is used for the rotation. You can specify 0 as value to disable log file rotation.

Service options

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

Dynamic modules options

The list of the modules which will be loaded dynamically.

Starting and troubleshooting

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

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

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

  • shell argument provides the remote shell to the Netspire node

If you are experiencing some problems during the starting application you need to check the trace file which is located in $PREFIX/var/log/netspire/ directory.