Skip to content

Application for collecting and representing various system-related information.

Notifications You must be signed in to change notification settings

swifty94/FTStats

Repository files navigation

FTStatsServer

  • Collecting various system related information + FTL platform related information
  • Easy to use
  • Multi-server environment support
  • Customizable
  • Scalable
  • Light

Usage demo:

  • Dashboard

  • Browsing servers from cluster

  • Graph view

  • Table view

  • CSV reports

Stack:

  • Back-end: Python/Flask / SQLite
  • Front-end: JavaScript / Jinga / HTML / CSS

Requirements:

  • Python 3.X
  • gcc version > 7.4.X

Installation:

git clone git@github.com:swifty94/FTStats.git

No Git installed? Just download the zip directly from here and upload on the server.

Usage

  • Adjust settings.json file respectively
{
    "AcsPorts": array(str x N), // ports that your Jboss app is listening on
                                // e.g., ["8080","8181", "8443"]

    "DbPorts": array(str x N),  // ports for DB connectivity (MySQL, Oracle and/or ClickHouse)
                                // e.g., ["3306","8123"]

    "mountpoint": str,          // path on disk to track its size/usage 
                                // e,g, "/" 

    "collectQoe": bool,          // Either collent QoE data or not
                                 // Default - true                      

    "AcsStatsUrl": str,          // FT ACS stats URL
                                // e.g., "http://127.0.0.1:8080/acsstats"

    "QoeDbConnectionString": str  // ClickHouse connection string
                                  // e.g., "clickhouse://demo.friendly-tech.com"

    "isCluster": bool,           // If there are more than 1 server in environment
                                 // default true

    "instancesArray": array(str x N)  // Array of server ip/domains 
                                        !!! (must be resolvanle at least within same network)
                                      // e.g., ["127.0.0.1","demo.friendly-tech.com", "demodm.friendly-tech.com"]

    "isHazelcast": bool,         // Either collent Hazelcast data or not
                                 // Default - true

    "isLiveStats": bool,        // Either display live statistics or not
                                 // Default - true

    "hazelcastPort": str,       // Hazelcast port
                                 // Default - "5701"
                                   
    "IpAddr": str,               // IP address for FTStats app to bind on
                                // Default 0.0.0.0 (any available interface)
    
    "TcpPort": str,              // TCP port for FTStats app to listen on
                                // Default 5050
    
    "DbUpdateIntervalSec": str   // Frequency of system data collection and storing to DB
                                // Default "120" seconds = each 2 minutes

    "DbTruncateIntervalSec": str  // Frequency of cleaning old data from db (drop and recreate)
                                  // Default "2592000" = each month                                
    
    "AppName": str,              // Application name, can be changed to whatever you want                               
    
    "Version": int              // Application version
}
  • Start the application:

    • Linux
      $ ./bin/app.sh 
      Usage: app { start | stop | restart | status | rebuild }
      

    NOTE: 'rebuild' is useful when you need to re-init whole app. E,g., you need completely change monitoring parameters like ports, paths, even servers, etc. So if there were existing DB you'll need to drop it and re-create + it would be good to clean Python cache, etc. Basically, this call re-creates the venv, re-install the dependencies and re-creates the schema so you'll have a fresh app.

    • Windows
      - Adjust APP_HOME variable in bin/app.bat
    
      - Run the bin/app.bat file as administrator.
      

About

Application for collecting and representing various system-related information.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published