Oracle Enterprise Manager console for Oracle database is a very nice tool when you have to view the database performance and take any action on querys, session or any other database activity, but some times you only need to show the performance graphs without login to the EM console.
I used the time series database Graphite to store the results of database performance, so we can see the past performance easily. Completing Graphite, I used grafana to facilitate the creation of dashboards. Graphite consists of three major components: Graphite-Web, Carbon metric daemons and Whisper time-series database library. If you are interested on Graphite you can view the project page on https://github.com/graphite-project/graphite-web
For collecting the database performance data I used collectd that have the wirte_graphite pluging and the pyorastats a python statistics database library with support for graphite and cacti output.
Nginx and uwsgi acts as webserver-appserver at the frontend.
All this is packaged in a container docker image for a fast deployment.
- webserver: nginx
- appserver: uwsgi
- frontend: grafana & graphite python frontend
- stats daemon: collectd
- oracle stats: pyorastats
It is ready to run with 2 commands:
docker pull vmalaga/oracledashboard
run the docker
docker run -d --name oracledashboard -p 24:22 -p 83:80 vmalaga/oracledashboard
now go to the dockersetup page to configure database and graphite setup
You can access with you browser to the dashboard
when you finish to configure all parameters go to the grafana dashboard