Skip to content

jessecascio/querypro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QueryPro

QueryPro is a multi tiered system for gathering and analyzing various database metrics to aid in monitoring of complex software system. QueryPro provides monitoring at the database level via performance and usages stats, as well as the application level by providing query collection and analysis.

Installation

It's important to run QueryPro on a new server instance, whether in an existing network or a new one. This can be done with any cloud service i.e. DigitalOcean, AWS, etc. QueryPro sets up custom firewall rules and requires specific ports, which may interfere with existing services and have broad security implications for an existing server setup.

DISCLAIMER: QueryPro is still in the experimental phase. Using the public source code, somebody could reverse engineer the code and gain access to data. It is very IMPORTANT to only run / install QueryPro on a restricted server that is not open to the world until a more stable release.

First check if an existing bash install script exists for your distribution i.e. install/ubuntu/14.04/install.sh.

WARNING: The install scripts are still experimental, they may not work as expected yet.

If an install script exists, simply SSH into the server instance, pull the repo, set credentials (see below), and install with sudo

cd /opt && git clone https://github.com/jessecascio/querypro.git
vi /opt/querypro/cred-config.env
sudo /opt/querypro/install/ubuntu/14.04/install.sh

Once installation is complete all the Docker containers will be up and running and can be verified with

sudo docker ps
To install manually simply:
  1. Update the OS i.e. sudo apt-get update

  2. Install the latest version of Docker

  3. Install the latest version of Docker Compose

  4. Install git

  5. Clone the QueryPro repo

    cd /opt && git clone https://github.com/jessecascio/querypro.git
    
  6. Set desired default configurations in cred-config.env

    Set credentials for UI

    USER=querypro
    PASSWORD=querypro
    

    Set credentials for database

    DATA_USER=querypro
    DATA_PASS=querypro
    

    Set timezone for time series grouping

    TIMEZONE=PST
    
  7. Start the QueryPro containers as daemons

    sudo docker-compose up -d
    
  8. Verify UI via browser with server IP

    XXX.XXX.XXX.XXX
    
  9. Finally, as a security measure, update firewall settings to only allow access to ports: 80, 8080, 4444. Port 4444 should only be accessible from the IP addresses of application servers.

Usage

Once the QueryPro has been installed it can be accessed via the IP address of the server is was installed on. All data should be sent to QueryPro via the server IP address using UDP port 4444. The UI can be accessed in the browser using the server's IP.

Communication with QueryPro should be done via one of the supported libraries as they follow the required data structure.

If a library is not available for your language, and you feel like contributing, please reach out and we will send over the expected data structure for QueryPro submissions so that a new library can be created or you can write custom code.

About

Database Query Analytics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published