Skip to main content

A web application to visualize network flows from Azure Migrate Dependency analysis CSV files.

Project description

Python application

Network Flows Visualization

This project is a web application that processes and visualizes network flow data from CSV files exported from Azure Migrate Dependency analysis. The goal is to provide a user-friendly interface for analyzing network flows, filter the content and prepare migration plans.

Features

  • CSV Upload: Upload CSV files containing network flow data from Azure Migrate Dependency analysis.
  • Data Processing: Extract and process data from the uploaded CSV files.
  • Visualization: Visualize the network flows using interactive graphs.
  • Filtering: Filter the data based on various criteria such as IP addresses, ports, and VLANs.
  • CSV Download: Download the filtered data as a CSV file.
  • VLANs: Support for optional VLANs data columns in the CSV file and flow grouping.
  • Non RFC1918 IPs: Regroup and filter non-RFC1918 IP addresses.

How to Use

  1. Upload CSV File:

    • Navigate to the upload page.
    • Upload a CSV file containing network flow data.
    • The CSV file should have the following columns:
      • Source server name
      • Source IP
      • Source application
      • Source process
      • Destination server name
      • Destination IP
      • Destination application
      • Destination process
      • Destination port
      • Source VLAN (optional)
      • Destination VLAN (optional)
  2. View and Filter Data:

    • After uploading, you will be redirected to the visualization page.
    • Use the filters to narrow down the data based on source IP, destination IP, port, and VLANs.
    • The data will be displayed in a table and as an interactive graph.
  3. Graph Interaction:

    • Click on a connection to get some information about the flow statistics.
  4. Filter and group Non-RFC1918 IPs:

    • Use the "Group Non-RFC1918" button to group non-RFC1918 IP addresses.
    • Table will be updated to simplify the search and filtering.
    • This enables to focus on Internet-bound traffic.
  5. Download Filtered Data:

    • Click the "Download CSV" button to download the filtered data as a CSV file.

Optional VLANs data

To help with the filtering, you can add optional VLANs data columns to the CSV file.

The columns should be named Source VLAN and Destination VLAN.

These columns are not part of the original CSV file exported from Azure Migrate Dependency analysis.

The application will use this data to help filter and grouping resources in the visualization.

Running the Application

From source

  1. Install the required Python packages:

    pip install .
    python az_migrate_dep_visu/app.py
    
  2. Open the application in a web browser: http://localhost:5000

Using Docker

  1. Build the Docker image:

    docker build -t az-migrate-dep-visu .
    
  2. Run the Docker container:

    docker run -p 5000:5000 az-migrate-dep-visu
    
  3. Open the application in a web browser: http://localhost:5000

From PyPi

  1. To install the package, use pip:

    pip install az-migrate-dep-visu
    
  2. To run the application:

    az-mdv
    # `az-mdv` is a script alias to az_migrate_dep_visu.app
    
  3. Open the application in a web browser: http://localhost:5000

From Terraform & Azure (Container App)

Please refer to the Terraform deployment guide for instructions on how to deploy the application on Azure using Terraform and Azure Container Apps.

Configuration

The application can be configured using environment variables:

  • FLASK_BIND_ALL (default: false): Set to true to bind the Flask application to all network interfaces (0.0.0.0).
  • FLASK_DEBUG (default: true): Set to true to enable debug mode in Flask.

Contributing

Contributions are welcome! If you have suggestions for improvements or find bugs, please open an issue or submit a pull request.

Running Tests

To run the tests, use the following command:

pytest

Example

Screenshot of the application with a filtered applied

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

az_migrate_dep_visu-0.1.3.tar.gz (109.3 kB view details)

Uploaded Source

Built Distribution

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

az_migrate_dep_visu-0.1.3-py3-none-any.whl (106.4 kB view details)

Uploaded Python 3

File details

Details for the file az_migrate_dep_visu-0.1.3.tar.gz.

File metadata

  • Download URL: az_migrate_dep_visu-0.1.3.tar.gz
  • Upload date:
  • Size: 109.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for az_migrate_dep_visu-0.1.3.tar.gz
Algorithm Hash digest
SHA256 8fa336695438d2a38be85effdf5fba54d0ceaf61ee2e48b3f9e7a9474404e18a
MD5 2de9c526861701b6faa60be12bedea90
BLAKE2b-256 e16dd40bc7336ba58b94f360595ce2d19e6a5345ab49f73ac476eb3aacf54b07

See more details on using hashes here.

File details

Details for the file az_migrate_dep_visu-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for az_migrate_dep_visu-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a57241156d726bd4b73f0455e40bc65802afab6ea89b3266c23164ba828de53f
MD5 7c15ccf71a7d042289af53e084756eaa
BLAKE2b-256 8c969312adf925fb297473887d6d0475d18ae30fa26b66c38daba21b1314f3c4

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