Skip to main content

NOTED: a framework to optimise network traffic via the analysis of data from File Transfer Services

Project description

NOTED: a framework to optimise network traffic via the analysis of data from File Transfer Services

Features:

  • Get data from CRIC database to understand the topology of the network for a given {src, dst} pair:
    • Get rc_site, federation, endpoints and IPv4/IPv6 addresses.
    • Generate a dataframe with the associated parameters per {src, dst} endpoint.
  • Based on the parameters inserted by the user in src/noted/config/config.yaml:
    • Get max_threshold, min_threshold and action to execute once the link is saturated.
    • Generate the query files to access FTS parameters in CERN Monit Kibana database per {src, dst} pair.
    • Curl to FTS CERN Monit Kibana based on the query files.
  • If the bidirectional link is chosen by the user: launch two threads per {src, dst} for monitoring the transfers: {src -> dst}, {dst -> src}. Otherwise only one thread is created {src -> dst}
  • While monitoring:
    • If throughput > max_threshold:
      • If NOTED interprets that the link will be saturated for a long period of time:
        • Generate an alert (email notification).
        • Provide dynamic circuit with SENSE-O AutoGole for the given {src, dst} pair.
        • Wait until NOTED interprets that the link will not be saturated anymore.
        • Cancel dynamic circuit with SENSE-O AutoGole.
    • Log file to store the transfers per {src, dst} pair.

Copyright:

© Copyright 2022 CERN. This software is distributed under the terms of 
the GNU General Public Licence version 3 (GPL Version 3), copied verbatim 
in the file "LICENCE.txt". In applying this licence, CERN does not waive 
the privileges and immunities granted to it by virtue of its status as an 
Intergovernmental Organization or submit itself to any jurisdiction.

Compilation steps:

MY_AUTH_TOKEN=my_personal_auth_token
echo $MY_AUTH_TOKEN
find . -name params.ini
sed -i "" "s/auth_token =.*/auth_token = $MY_AUTH_TOKEN/g" ./venv-noted/lib/python3.8/site-packages/noted/params/params.ini

or
nano ./venv-noted/lib/python3.8/site-packages/noted/params/params.ini

noted src/noted/config/config-example.yaml [--verbosity debug/info/warning]

Program description:

python3 main.py -h
usage: main.py [-h] [-v VERBOSITY] config_file

NOTED: a framework to optimise network traffic via the analysis of data from File Transfer Services.

positional arguments:
  config_file                           the name of the configuration file [config-example.yaml]

optional arguments:
  -h, --help                            show this help message and exit
  -v VERBOSITY, --verbosity VERBOSITY   defines the logging level [debug, info, warning]

Structure of the project:

noted_transfer_broker
.
├── README.md
└── noted_transfer_broker
    ├── COPYRIGHT.txt
    ├── LICENCE.txt
    ├── README.md
    ├── build
    │   └── lib
    │       └── noted
    │           ├── __init__.py
    │           ├── main.py
    │           └── plot_transfers.py
    ├── dist
    │   └── noted-dev-1.0.2.tar.gz
    ├── setup.cfg
    ├── setup.py
    ├── src
    │   ├── noted
    │   │   ├── __init__.py
    │   │   ├── config
    │   │   │   └── config-example.yaml
    │   │   ├── documentation
    │   │   │   ├── noted_main_function_documentation.pdf
    │   │   │   ├── noted_transfer_broker_class_documentation.pdf
    │   │   │   ├── reduced_noted_main_function_documentation.pdf
    │   │   │   └── reduced_noted_transfer_broker_class_documentation.pdf
    │   │   ├── html
    │   │   │   ├── TransferBroker.html
    │   │   │   └── main.html
    │   │   ├── logs
    │   │   │   ├── noted_email.txt
    │   │   │   ├── transfer_broker_1660577038.log
    │   │   │   └── transfer_broker_1660577485.log
    │   │   ├── main.py
    │   │   ├── modules
    │   │   │   ├── plot_transfers.py
    │   │   │   └── transferbroker.py
    │   │   ├── params
    │   │   │   └── params.ini
    │   │   ├── query
    │   │   │   ├── query_monit_prod_fts_raw_queue_dst_rcsite
    │   │   │   └── query_monit_prod_fts_raw_queue_src_rcsite
    │   │   ├── requirements.txt
    │   │   ├── sense-o
    │   │   │   ├── sense-cancel.sh
    │   │   │   └── sense-provision.sh
    │   │   └── transfers
    │   │       ├── transfer_broker_all_transfers_1660577038.txt
    │   │       ├── transfer_broker_dst_rcsite_1660577038.txt
    │   │       └── transfer_broker_src_rcsite_1660577038.txt
    │   └── noted_dev.egg-info
    │       ├── PKG-INFO
    │       ├── SOURCES.txt
    │       ├── dependency_links.txt
    │       ├── entry_points.txt
    │       ├── requires.txt
    │       └── top_level.txt

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

noted-dev-1.1.12.tar.gz (289.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

noted_dev-1.1.12-py3.9.egg (300.1 kB view details)

Uploaded Egg

File details

Details for the file noted-dev-1.1.12.tar.gz.

File metadata

  • Download URL: noted-dev-1.1.12.tar.gz
  • Upload date:
  • Size: 289.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.5

File hashes

Hashes for noted-dev-1.1.12.tar.gz
Algorithm Hash digest
SHA256 7cb15d40cc4abb1c094b8d96d31e765b67f274559cf1e4abf8c0d75b2a886e4c
MD5 4313e343cc9071c0326669280c09c086
BLAKE2b-256 24f6c110b9ce1178af56fdfb5d28ff7171904f9a3dda0d3ce63dac8bcaae5486

See more details on using hashes here.

File details

Details for the file noted_dev-1.1.12-py3.9.egg.

File metadata

  • Download URL: noted_dev-1.1.12-py3.9.egg
  • Upload date:
  • Size: 300.1 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.5

File hashes

Hashes for noted_dev-1.1.12-py3.9.egg
Algorithm Hash digest
SHA256 d89134d5f332faf15f3ddec5191484c190110791078dd8eec21da564f873f04d
MD5 15421dcdb2e044d3fab1db53b59bb8c3
BLAKE2b-256 f295507f6a2e826a2fd3d2747e72f92f70383c353ba4bef78f56a7545f09903e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page