Proxylizer/Introduction

From MikroTik Wiki
Revision as of 12:52, 9 January 2009 by Normis (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

What is Proxylizer

Mikrotik Proxylizer is a convenient system with web interface for web-proxy log storage in database and report generation from stored logs.

Mikrotik web-proxy is able to send log entries to a remote location using syslog protocol. Remote host must process the log entries to get required statistics. Mikrotik Proxylizer is designed to accomplish this task in a convenient way.

With Mikrotik Proxylizer received web-proxy logs are stored in a database for further processing. Using web interface system administrators define reports which are sent to specified email address - what data must be collected and when the report has to be generated. Periodic reports are available: daily, weekly and monthly.

Mikrotik Proxylizer can be used to:

  • Collect statistics about staff member visited sites;
  • Detect spyware which sends information to remote web sites.

Features

Mikrotik Proxylizer features:

  • Web-proxy logs stored in SQL database (MySQL supported at the time);
  • Log filtering in reports based on host IP address and requested domain;
  • Reports include:
    • Overall user report - list of IP addresses with time spent on browsing web;
    • Specific user report - list of domains with time spent for specified IP address;
    • Domain report - list of the most popular domains with IP count and spent time;
  • Reports contain day of the week and time of the day restrictions;
  • Scheduled report generation: daily, weekly, monthly;
  • Reports are generated automatically without any user intervention;
  • Reports sent in emails as attached PDF (portable document format, platform independent);
  • All generated report history accessible in the web interface;
  • Reports are generated in background process;
  • Multiple reports can be generated in parallel to utilize multi-core processors efficiently;

Architecture

Mikrotik Proxylizer consists of multiple parts:

  • SQL database - storage of all log entries. MySQL supported at the time, other SQL database support planned in future;
  • Log reader - script responsible for log entry transfer from syslog to SQL database. Syslog-ng is used to listen on incoming syslog entries and write them to pipe file. PHP script is used to read the pipe and insert entries in database afterwards;
  • Report generator - every minute a script is started which takes the first report which must be generated and collects the required data from database. The result is sent to email and stored in database for later access in the web;
  • Web interface - configuration, statistics and history user interface for the system administrator.

The Proxylizer is strongly interconnected with other system components: syslog entry source, SQL database, scheduler, SMTP server, web browser. Proxylizer contains scripts for database table structures and periodic tasks therefore database and scheduler are treated as part of the Proxylizer. However both SQL database server and scheduler service are third party applications: MySQL and Cron in the current version. The collaboration is shown in the following diagram:

Proxylizer Collaboration

Requirements

Hardware requirements

TODO

Operating system and software requirements

TODO

Network infrastructure requirements

TODO