Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell'Informazione (DIETI)

Web Reporting HowTo

When working in Cyclic mode1, TIE generates classification results in a new file (a “TIE Table”)2 at regular intervals.

These “TIE Table” files can be processed by CAIDA CoralReef3 reporting utilities to generate interactive web pages with different representations of classified flows (graphs, tables, showing bytes/packets/flows for different timescales)/*4*/. Data is stored in a Round Robin Database, managed by RRDtool 5

In the following we will show how to configure TIE, CoralReef utilities, and the needed software, to create the report web pages.

Components and Prerequisites

Interactive web pages are the result of the following assembly line/*6*/:

[TIE in Cyclic Mode] => [tie_to_t2 filter] => [CoralReef utilities (using RRDtool)] => [webserver running CoralReef CGIs]

In addition to a standard installation of TIE, to use the web reporting facility you will need the following applications on your system:

  • CoralReef7
  • RDDtool8
  • Apache (or any cgi-running webserver) 9/*10*/

CoralReef utilities in turn need ‘perl 5’ and subsequent perl libraries11:

  • GD.pm
  • GD::Graph
  • GDTextUtils

Installation and Configuration

Each component should undergo its standard installation process, but hereafter some configuration steps will be covered in detail.

For your convenience, along with TIE a script is provided 12 that asks for required info and takes care of creating directories and accordingly setting configuration files. To understand how it works or for installations different from the default one you can use the following instructions.

CoralReef

In the directory where the archive has been unpacked run: <code shell> ./configure && make && make install </code>

Create directories in which TIE output files and report files will be stored (be sure to accommodate enough space if you want to preserve log files):

mkdir -p /home/tie/data/logs
mkdir -p /home/tie/data/report_files

Configuration files

In TIE installation directory utils/web_report there are copies13 of CoralReef example configuration files: modify them according to the following indications:

  • ** report.conf **
    • uncomment the transfer stanza
    • set the cp_cmd parameter to rsync -qa
    • set html_dir to the directory on the web static content (e.g.: /var/www/tie)
    • set cgi_dir to the directory containing CGI scripts (e.g.: /var/www/tie/cgi-bin)
    • set graph_dir to the directory that will hold normal-sized graphs (e.g.: /home/tie/data/report_files/graph)
    • set big_dir to the directory that will hold big graphs (e.g.: /home/tie/data/report_files/big_graph)
    • set table_dir to the directory for table data files (e.g.: /home/tie/data/report_files/tables)
    • set rrd_dir to the directory for RRD data files (e.g.: /home/tie/data/report_files/rrd)
    • set tables to App Table
    • set cat_map to app, Application
    • in the monitor stanza change name: from monitor1 to a unique name (e.g.:tie_monitor)
  • ** subif_map.conf **
    • comment out line 11 (1[0]: monitor2)
    • change monitor1 to the name of the monitor used in report.conf (e.g.:tie_monitor)
  • ** cgi.conf **
    • change monitor1 to the name of the monitor used in report.conf and subif_map.conf (e.g.:tie_monitor)
    • change First monitor to a description of the monitor (it will be shown in the report)
  • ** monitor.conf **
    • set base_url to the directory containing generated images for webserver (e.g.:/var/www/tie/images)

/*==== Apache ==== */

Creating Web Reports

Start TIE in in Cyclic mode14: /* §§§ mettere qui le reali opzioni del cyclic mode */

nohup tie -m c -d <report_directory> 

start spoolcat in report directory: <code bash> nohup spoolcat | tie_to_t2 -vapplist=bin/tie_apps.txt |store_monitor_data report.conf subif_map.conf </code>

create a report from stored data: <code bash> create_report report.conf </code>

if everything worked well, enjoy you web report pointing your browser at http://localhost/tie/cgi-bin/display_report.

to refresh webpages at regular intervals set a crontab line calling create_report: <code bash> PATH=/bin:/usr/bin:/usr/local/bin:/usr/local/Coral/bin 0,15,30,45 * * * * create_report report.conf </code>


  1. User's Manual: Operating Modes↩︎

  2. for an output example see User's Manual, section TIE Output Format↩︎

  3. http://www.caida.org/tools/measurement/coralreef↩︎

  4. §§§link to online running, or to snapshot webpage↩︎

  5. http://oss.oetiker.ch/rrdtool↩︎

  6. §§§substitute with an image↩︎

  7. http://www.caida.org/tools/measurement/coralreef/status.xml↩︎

  8. http://oss.oetiker.ch/rrdtool/download.en.html↩︎

  9. please check for your system-specific package↩︎

  10. §§§try lighttp↩︎

  11. http://search.cpan.org↩︎

  12. util/web_report/configure_web_report↩︎

  13. from CoralReef version 3.8.4↩︎

  14. User's Manual: Operating Modes↩︎