Oracle Dashboard with graphite, collectd and pyorastats

Posted on Wed 21 January 2015 in databases • 1 min read

Oracle Dashboard

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.

Components:

  • webserver: nginx
  • appserver: uwsgi
  • frontend: grafana & graphite python frontend
  • stats daemon: collectd
  • oracle stats: pyorastats

It is ready to run with 2 commands:

Image download

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

http://localhost:83/dockersetup

You can access with you browser to the dashboard

when you finish to configure all parameters go to the grafana dashboard

http://localhost:83/grafana/#/dashboard/file/default.json