...
Gliffy Diagram | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Source:
Pre-Req:
Perl:
- Module::Load
- HTTP::Daemon
- XML::SAX
- Config::General
- aliased
- Readonly
- Term::ReadKey
- DBI::DBD
- DBD::mysql
- DBD::SQLite
- Class::Accessor
- Class::Fields
- Params::Validate
- Statistics::Descriptive
- Data::UUID
- IO::Interface
- DateTime
- Error
- Log::Dispatch::FileRotate
- Log::Log4perl
Configuration:
Installation:
- tar -xvf FileTransfer_MA.1b.tar
- mkdir /var/log/perfsonar
- Run the SQL Procedure(mysql) on the netlogger database to produce a secondary database. This secondary database is the one, the FTMA service will be interacting with.
How to run the Service:
- cd bin
- sh FtpMaExecute.sh --skip-input || --help
...
- Attempts to install the missing, perl modules.
...
- Stops any previous running instance of the service.
...
- Creates a backup of any existing log file.
...
- Everytime the script executes, it copies the log file from the main log directory to an hourly
folder in the same directory. The folder is named as: Ftp_MM-DD-YY:HH
- Everytime the script executes, it copies the log file from the main log directory to an hourly
...
- Starts a new Instance of the service by running daemon.pl
Client Application:
The service includes a client tool to do some preliminary testing. This tool is present inside the bin dir as well.
- cd bin
- perl FTP_client.pl
...
- This simple execution will fetch all the metadata from the service, and provide the user with a final output showing all the metadata keys mapped on source and destination ip addresses.
- perl FTP_client.pl --help
FTP_client.pl --url=<FT_MA_url, default is localhost> --debug|-d
-d Switch to debug level
--debug Same as -d
--url Url to the MA Service(FT)
default is localhost
--data Output Data as well
--src source ip (string)
--dst destination ip (string)
--SrcPath metadata param: Source file path(string)
--DestPath metadata param: Destination file path(string)
--stripes metadata param: number of stripes
--buffer metadata param: bufer size
--block metadata param: block size
--streams metadata param: number of streams
--program metadata param: program used for file transfer
--user metadata param: user, who requested the file transfer
--initEpochTime initial Time limit in Epoch (integer)
--finalEpochTime Final Time limit in Epoch (integer)
--initUtcTime initial Time limit in UTC (string)
--finalUtcTime final Time limit in UTC (string)
-h Print this help
--help Same as -h
- perl FTP_client.pl -d --data --DestPath=/ --stripes=1 --src=192.168.117.128 --dst=131.225.107.12 --initEpochTime=1220000000 --finalEpochTime=1225408002
...
- This execution will fetch metadata where destination path, stripes, source ip address and destination ip address is defined by the parameters passed.
...
- The --data argument makes sure that the returned metadata is then used to fetch data with start time and end time within the given limitation.
...
- The -d argument provides the debug data as well.