Jumpserver Audit Dashboard for Grafana provides a ready-to-use Grafana dashboard and automation scripts for auditing Jumpserver environments. It supports both MySQL and PostgreSQL backends and offers comprehensive visualizations of user activity, session history, command risk, and more.
Repository: target="_blank"
github.com/monobilisim/jumpserver-grafana-dashboard
Table of Contents
-
Jumpserver References
-
Features
-
Dashboard Overview
-
Example Screenshots
-
Folder Structure
-
Prerequisites
-
Quick Start
-
Manual Control
-
Environment File Example
-
Notes
Jumpserver References
Features
- Automated Grafana setup via shell scripts
- Dashboard import for both MySQL and PostgreSQL
- Jumpserver database integration
- User/session/command analytics
- Risk classification and visualizations
- Example screenshots included
Dashboard Overview
The dashboard provides:
- General stats: Logins, operations, password changes, sessions, file transfers
- Session analytics: Active/historical sessions, durations by user/asset
- Command history: Risk classification, command breakdown
- Visualizations: Gantt charts, bar charts, pie charts, tables
Example Screenshots
Below are example screenshots from the dashboard (see repo img/):

Folder Structure
├── grafanactl.sh # Grafana container control script
├── quick_start.sh # One-shot setup and dashboard import
├── jumpserver-audit-dashboard-mysql.json # Dashboard (MySQL)
├── jumpserver-audit-dashboard-postgresql.json # Dashboard (PostgreSQL)
├── .example.env # Example environment config
├── img/ # Example screenshots
│ ├── jms_grafana_1.jpeg
│ ├── jms_grafana_3.jpeg
│ ├── jms_grafana_4.jpeg
│ ├── jms_grafana_5.jpeg
│ └── jsm_grafana_2.jpeg
Prerequisites
- Docker
- Jumpserver instance (with MySQL or PostgreSQL backend)
- Bash shell
- target="_blank"
(for JSON processing)jq
Quick Start
- Copy and configure environment:
cp .example.env .env
# Edit .env to match your environment (see below)
-
Edit
.envvariables:GRAFANA_VERSION(default: 10.2.3)GRAFANA_PORT(default: 3000)NETWORK_NAME(Docker network, e.g.jms_net)GRAFANA_CONTAINER_NAME(default:grafana)GRAFANA_ADMIN_USER/GRAFANA_ADMIN_PASSWORDJS_CONFIG_PATH(path to Jumpserver’sconfig.txt)
-
Run the quick start script:
./quick_start.sh
This will:
- Start Grafana in Docker
- Add the Jumpserver database as a data source
- Import the appropriate dashboard (MySQL or PostgreSQL)
- Access Grafana:
- Open target="_blank"
(or your configured port)http://localhost:3000
- Login with the credentials from
.env
Manual Control
Use grafanactl.sh for advanced container management:
./grafanactl.sh start # Start Grafana
./grafanactl.sh stop # Stop Grafana
./grafanactl.sh restart # Restart Grafana
./grafanactl.sh status # Show container status
./grafanactl.sh logs # Tail Grafana logs
./grafanactl.sh shell # Open shell in Grafana container
./grafanactl.sh delete_all # Full cleanup
Environment File Example
.env example:
GRAFANA_VERSION=10.2.3
GRAFANA_PORT=3000
NETWORK_NAME=jms_net
GRAFANA_CONTAINER_NAME=grafana
GRAFANA_ADMIN_USER=admin
GRAFANA_ADMIN_PASSWORD=admin
JS_CONFIG_PATH=/opt/jumpserver/config/config.txt
Notes
- The dashboard JSON files are tailored for Jumpserver’s schema.
- The scripts will auto-detect your DB type and import the correct dashboard.
- For troubleshooting, check container logs:
./grafanactl.sh logs
License: GPL-3.0 — target="_blank"
Repository