English | 中文
A web-based operating system monitoring panel that provides functionality similar to uname -a, ps -ef, htop, iftop, and osquery,
enabling you to view and analyze Linux system status through a browser.
Go installation steps for installation.
-
System Overview: Displays operating system information, resource usage, and network details

-
Process Monitoring: htop-like process monitor to view and search system processes

-
Process View: Provides detailed process/resource information and visualizations

-
System Query: SQL-based query interface using osquery to retrieve system information
more information please refers to osquery docs
-
Network Traffic Monitoring: Real-time detailed network traffic visualization

-
SSH remote login: Login your server or other server in the web.

-
Python 3.8+
-
Linux OS (Ubuntu/Debian recommended)
-
Required:
osquery、htop、iftop
You must install htop, iftop. In Debian/Ubuntu, you can run command:
sudo apt install htop iftop Important
Then you should install osquery. Please refer to osquery
Clone or download this repository to your Linux server:
git clone https://github.com/lrisguan/moniOS.git
cd moniOS- traditional way
pip install -r requirements.txt
# Install system tools:
# Visit https://osquery.io/downloads for OS-specific packages and instructions- modern way
Using python modern package manager: uv
# download uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# create a viturl environments
uv sync
source .venv/bin/activateUsage Start the server:
sudo -E gunicorn app:app -b 127.0.0.1:6789Access via browser:
http://localhost:6789
Important
you must use sudo to elevate your privileges or you can't use Network Traffic Monitoring
Note
if you find you could not install the required python packages, you can install them without pip install -r requirements.txt
instead of using pip install packages.
Tip
Network usage data will be stored in history files for trend analysis as well as get network data successfully.
SQL query in the original code, you couldn't execute other SQL otherwise SELECT and special command of osquery like ".tables".
however you can modify the code to remove the restrictions in /utils/osquery-handler.py.
To extend functionality, modify these files:
-
Modules in utils/ implement various data collection functions
-
Module-specific CSS in utils/css/
-
Module-specific JavaScript in utils/js/
-
app.py contains the Flask backend API
-
static/js/api_client.js handles frontend-API communication
-
dashboard_os_info.html is the frontend interface
you can add new navbar here.
osquery (dual-licensed under Apache-2.0/GPL-2.0-only)
License: https://osquery.io/license
This project integrates using the Apache-2.0 license
-
The application listens on all network interfaces by default. For production deployments, implement authentication and firewall rules
-
SQL injection protection measures are implemented for osquery functions, but usage should still be restricted to secure environments
Warning
The hole project has no encrypted transmission! If you want to use it in your company or others, you'd better to have https or add other secure methods.

