/tailstat

A simple dashboard for basic system monitoring.

Primary LanguageJavaScriptMIT LicenseMIT

TailStat

A simple dashboard for basic system monitoring.

Demo

You can install it on a server or local machine that matches the supported Linux distributions that you want to monitor.

Dashboard

Tech Stack

  • Python - is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation via the off-side rule.

  • Nginx - is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.

  • psutil - is a cross-platform library for retrieving information on running processes and system utilization (CPU, memory, disks, network, sensors) in Python.

  • FastAPI - FastAPI framework, high performance, easy to learn, fast to code, ready for production.

  • uvicorn - An ASGI web server, for Python.

  • gunicorn - is a Python WSGI HTTP Server for UNIX. It's a pre-fork worker model. The Gunicorn server is broadly compatible with various web frameworks, simply implemented, light on server resources, and fairly speedy.

Requirements

  • Supported Linux distribution(s):

    • Debian

    • Other coming soon!

  • Below are the specific requirements for each Supported Linux distribution:

Debian

  • For debian, make sure to install or have the following packages:

    $ apt-get install gcc libc-dev linux-headers-generic nginx python3 python3-pip

Install & Usage

  • There are a few steps needed in order to start using TailStat.

    • Download the TailStat:

      $ cd /var/
      $ wget https://github.com/LordDashMe/tailstat/archive/refs/heads/main.zip -O tailstat.zip
      $ unzip tailstat.zip
    • Install the TailStat:

      $ /var/tailstat/scripts/install
    • Up the TailStat API service:

      $ /var/tailstat/scripts/up
    • Now you can use TailStat!

Contribution

To contribute, please check the following steps on different environments in order to get started.

With Docker Environment (Recommended)

  • If you are familiar with Docker you can start immediately by running the docker compose command in the root directory.

    $ docker-compose up -d

Work with the API

  • Navigate inside the docker container name tailstat.

    $ docker exec -it tailstat bash
  • Execute the TailStat installer script.

    $ /var/tailstat/scripts/install
  • Execute the TailStat installer dev script.

    $ /var/tailstat/scripts/install_dev
  • Enable development mode on /etc/tailstat.conf

    development = 1
    
  • Up the API service

    $ /var/tailstat/scripts/up
    
  • Access it via http://127.0.0.0:10000 or http://localhost:10000

Work with the Dashboard

  • Navigate inside the docker container name tailstat_dashboard_res.

    $ docker exec -it tailstat_dashboard_res sh
  • Install the essential packges for node alphine apk add g++ make py3-pip before running the npm install.

  • Go to the dasboard folder resource and execute npm install.

    $ cd /var/tailstat/dasboard/res
    $ npm install
  • To build watch on any file changes:

    $ npm run build:watch
  • You can check more commands in package.json

  • Access it via http://127.0.0.0:10001/ or http://localhost:10001/

With Other Environment

License

This package is open-sourced software licensed under the MIT license.