Tool for 3D Streams Monitoring
Monitor script
Python script which is running as a daemon (not Cron job). It collects statistics from each registered database using SQL and stores them in repository database tables.
Requirements
- Python 2.5 >=
- cx_Oracle.py library - needs oracle instant client libraries
Starting and stopping
To start monitor from the strmmon directory in the command line run:
strmmon start
Script will "daemonize" itself.
To stop the script run:
strmmon stop
Files
By default all files reside in the strmmon base directory.
Control
- strmmon - control script to start and stop monitor
Configuration
- cstring - connection string to the repository
- pid - keeps pid of the daemon - user should not touch this file
Script files
- strmmon.py - main body of the script, responsible for creating and controlling worker threads
- DB.py - body of the worker thread
- cache.py - data structures to keep collected data between intervals
- configParser.py - config utilities
- mail.py - provides mail sending functions
- stop.py - stops monitor - used by strmmon control file
- util.py - additional utility functions
- persistance.py - set of functions for persistence variables caching. Persistent data is stored in dump directory.
- emailAddr.py - provides interface to email addresses repository
Log files
- strmmonlog.log - monitor log
PHP web application
Graphical presentation of streams environment performance.
Requirements
- PHP 5 >=
- GD module - documentation
- GD lib - this library has more dependencies
- oci8 module - needs oracle instant client libraries
- GraphViz tool - generates topology graphs
Repository schema
Collected streams and instances data are stored in the repository database.
Database name: PDBR
Schema name: strmmon
Schema tables for Strmmon
- access_table - monitored database connection information (tns,schema name etc.)
- config - main parameters shared by monitor script, web application and others
- instance_info - information about last taken snapshot
- instance_stats - history of all metrics concerning instances status
- capture_processes - history of all metrics concerning capture processes status
- propagation_processes - history of all metrics concerning propagation processes status
- apply_processes - history of all metrics concerning apply processes status
- queues_status - history of all metrics concerning queues status
- email_addresses - list of mail addresses for alarms
- experiments_setup - describes experiments membership
- sites - information about sites
- dbs_sites - describes sites and database relationship
- worklog - logs starts and stops of scripts
- connections - describes static connections used in dashboard view
Schema tables for Intervention Register & Administration
- user - information about the users
- interventions - scheduled interventions
- comments - comments for 3D twiki page