Code Monkey home page Code Monkey logo

creditcardtransactionmonitor's Introduction

Telecom - CDR Monitoring Demo

This demo was created to show Streaming components usage in a Telecom company.

Author: Guilherme Braccialli

With special thanks to:


Purpose: Monitor Telecom Network equipments analyzing CDR (call detail record) records.

Check more details in this PDF presentation.

  • Ingest:
    • Listen for CDR records coming as text file in a directory
  • Processing:
    • Monitor dropped calls
    • Monitor networks type change
  • Persistence:
    • Hive Streaming ORC (for interactive query)
    • HBase (for granular events alerts)
    • Solr/Banana (for alerts and reports/dashboards)
  • Simulation:
    • Generate "fake" CDR files every minute
  • Demo setup:
    • Start HDP 2.5 sandbox and run provided scripts to setup demo

Contents

  1. Setup demo via scripts on vanilla HDP 2.5 sandbox
  2. Run demo to monitor Tweets about S&P 500 securities in realtime
  3. Observe results in HDFS, Hive, HBase/Phoenix, Solr/Banana

Setup demo via scripts on vanilla HDP 2.5 sandbox

These setup steps are only needed first time and may take upto 30min to execute (depending on your internet connection)

  • Download HDP 2.3.2 sandbox from Hortonworks website
  • Import the Sandbox into VMWare or VirtualBox and allocate at least 4cpus and 10GB RAM and start the VM
  • Connect to the VM via SSH (password hadoop). You can also SSH via browser by clicking: http://sandbox.hortonworks.com:4200
ssh -p 2222 root@localhost
  • Download code as root user
cd
git clone https://github.com/gbraccialli/telco-cdr-monitoring.git	
  • Setup demo:Run below to setup demo (one time): it will start HBase/Kafka/Storm, install solr, banana and create hive/phoenix tables.
chmod -R +x /root/telco-cdr-monitoring/
cd /root/telco-cdr-monitoring
mvn clean package
scripts/setup_demo.sh

Run demo

ssh -p 2222 root@localhost
  • Start all components:
cd /root/telco-cdr-monitoring
scripts/start_demo.sh

or

  • Start individual compoments:
    • Flume
    cd /root/telco-cdr-monitoring
    scripts/start_flume.sh
    
    • Storm
    cd /root/telco-cdr-monitoring
    scripts/start_storm.sh
    
    • CDR Producer
    cd /root/telco-cdr-monitoring
    scripts/start_cdr_producer.sh
    
  • To stop Demo, use:
cd /root/telco-cdr-monitoring
scripts/stop_demo.sh

Observe results

  • Dashboards

  • Storm Topology UI

    • Storm UI Image

      ![Image](https://github.com/gbraccialli/telco-cdr-monitoring/raw/master/screenshots/storm_ui_2.png)
      
  • Hive/Phoenix tables

    • telco_cdr_monitoring_raw
    • telco_cdr_monitoring_phoenix_dropped_call
    • telco_cdr_monitoring_phoenix_network_type_change
  • Log files

    • /root/telco-cdr-monitoring/logs/flume.log
    • /root/telco-cdr-monitoring/logs/producer.log
    • /root/telco-cdr-monitoring/logs/storm.log
  • CDR Files

    • /root/telco-cdr-monitoring/data

creditcardtransactionmonitor's People

Contributors

geetha-hortonworks avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.