RittmanMead / obi-metrics-agent

Collect DMS metrics from OBIEE
13 stars 7 forks source link

obi-metrics-agent.py

===================================================================
Developed by @rmoff / Rittman Mead (http://www.rittmanmead.com)
Absolutely no warranty, use at your own risk
Please include this notice in any copy or reuse of the script you make
===================================================================

Introduction

obi-metrics-agent is a tool that extracts OBIEE's performance metrics from the Dynamic Monitoring Service (DMS) functionality.

It works with OBIEE 11g and 12c. It runs natively under WLST (which ships with OBIEE) and has no mandatory external dependencies.

Overview

This application is written in Jython, to run under WLST. It will pull out all the OBIEE DMS metrics, and output them. Currently supported outputs are to file (CSV) or sent to Carbon/Graphite, or native InfluxDB.

It's written to run under a scheduler such as crontab, and so will launch, collect metrics, and exit again.

Setup

  1. Optionally, provision your data store (InfluxDB or Carbon). Or, just dump to CSV and do what you will with it from there.

    • I would recommend InfluxDB. It is very easy to get setup.

      1. Download and install
      2. Create a database to hold the metrics

        curl -G GET 'http://localhost:8086/query' --data-urlencode "q=CREATE DATABASE obi"
    • You can also use any system that accepts carbon protocol (eg Graphite)

  2. Run obi-metrics-agent.py to check everything works:

    $FMW_HOME/oracle_common/common/bin/wlst.sh ~/obi-metrics-agent.py weblogic Admin123 t3://localhost:7001
  3. Add to crontab :

    0-59 * * * * /app/oracle/biee/oracle_common/common/bin/wlst.sh ~/obi-metrics-agent.py weblogic Admin123 t3://localhost:7001 2>/dev/null
  4. If you're storing the data in InfluxDB or similar, get Grafana and build cool dashboards.

TODO

BUGS