GithubHelp home page GithubHelp logo

swifty94 / ftstats Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 42.33 MB

Application for collecting and representing various system-related information.

Python 2.46% Batchfile 0.04% Shell 0.21% CSS 10.38% SCSS 0.27% JavaScript 86.12% HTML 0.52%

ftstats's Introduction

FTStatsServer

  • Collecting various system-related information + FTL platform-related information
  • Easy to configure and to use
  • Multi-server environment support
  • Data visualization in graphs, tables, and CSV reports
  • Customizable
  • Scalable and Light

Usage demo:

  • Dashboard overview

  • Displaying data from several servers in the cluster

  • Building graph for single and several KPIs

  • Tables for each KPI

  • CSV reports creation

Stack:

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

Requirements:

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

Installation:

git clone [email protected]:swifty94/FTStats.git

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

Usage

  • Adjust settings.json file depending on your environment and needs 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 resolvable at least within same network)
                                      // e.g., ["127.0.0.1","demo.friendly-tech.com", "demodm.friendly-tech.com"]

    "isHazelcast": bool,         // Either collect 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 the 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 (a virtual environment where all the project dependencies are stored), 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.
      

ftstats's People

Contributors

swifty94 avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.