Project Introduction: GoInsight
GoInsight is an enterprise-level, web-based platform designed with a separation between frontend and backend, utilizing the Gin framework for the backend and Vue.js for the frontend. This application provides robust support for MySQL, TiDB, and ClickHouse databases, focusing on two main functionalities: Work Order Management and Data Query.
Documentation and Resources
To get started with GoInsight, users can explore detailed documentation and a feature preview through its GitHub Wiki. These resources provide insights into its capabilities and instructions on usage.
Key Features
Work Order Management
This feature handles the entire lifecycle of work orders. It allows users to:
- Submit DDL (Data Definition Language), DML (Data Manipulation Language), and data export work orders in CSV/XLSX formats.
- Approve, execute, roll back, and set up HOOKs for work orders.
- Receive notifications about work orders via DingTalk, WeChat Work, and email.
SQL Audit
Integrated with the gAudit syntax checker, GoInsight supports over 70 syntax audit rules. Users can reach out to developers to create customized audit rules. Moreover, it offers flexibility by allowing users to customize audit parameters at the DB instance level, overriding global settings.
Data Query
GoInsight boasts a powerful data retrieval engine capable of executing up to 65 types of read-only queries, including SELECT, CTE, EXPLAIN, and SHOW queries. The platform supports:
- User-level table access permissions.
- Data dictionaries.
- Query record auditing.
Organization Management
Facilitating organizational needs, the platform supports:
- User and role management within organizations.
- Binding database instances to organizations to control user access.
Custom Work Order Environments
Users can define multiple work order environments such as development, pre-release, testing, and production. Each environment can link to different database instances, allowing the same work order to hook across environments, preventing duplicate submissions.
Additional Features
GoInsight supports:
- Centralized database instance management by administrators.
- Two-factor authentication for secure login.
- Comprehensive logging and auditing capabilities.
Supported Databases
- MySQL (including forks and cloud solutions like AWS Aurora): Fully supports DML, ONLINEDDL, and encrypted exports, with instance-level permission control.
- TiDB: Supports ONLINEDDL with TiDB's native features, encrypted exports, but lacks DML rollback capabilities.
- ClickHouse: Primarily supports data queries and permission management at the instance and table levels.
Quick Deployment Guide
To quickly deploy GoInsight, users can follow these instructions:
-
Download the Binary Package
Update the version number to the latest release before downloading:
wget https://github.com/lazzyfu/goInsight/releases/download/v1.3.5/goinsight-linux-amd64-v1.3.5.tar.gz
-
Configure the YAML File
Use the configuration guide here to set up your
config.yaml
. -
Start the Service
Execute the following command to start the service:
./goInsight -config config.yaml
-
Access the Service
After starting, access the platform via
http://ip:port
. Upon first login, it is crucial to change the default admin password from1234.Com!
. For production, placing an HTTPS proxy in front of the service is highly recommended.- Default Admin Username:
admin
- Default Admin Password:
1234.Com!
- Default Admin Username:
Contact the Developer
For any questions or support, contact via the following channels:
- Email: [email protected]
- WeChat: Lazzyfu
GoInsight is a robust tool tailored for efficient database management and streamlined workflow processes in enterprise environments, supported by a vibrant community and comprehensive documentation.