Searchs and aggregates Siebel component crashes information into a nice report.
Project description
siebel-crash-report
Python project that searchs and aggregates Siebel component crashes information into a nice report.
Features
Automates all required steps to retrieve information of a Siebel server component crash to send the report to Oracle support.
Information is searched and retrieve from the following sources:
- the memory dump (
core.dump
files) itself using GDB. - FDR files with sarmanalyzer.
- Siebel enterprise log files.
- correlate information from the FDR with the enterprise log file.
- a summary JSON report.
The CSV (from sarmanalyzer) and the GDB output as text are created as necessary
in the directory defined by the crash_dir
entry in the crash_reporter.ini
configuration file, together with the summary JSON report and a copy of the
crash.txt
.
All the information (but the CSV and GDB output) is printed to STDOUT
, so
it's to run it together in a cron job and pipe it to mail
program.
Here is an example of the JSON report (two crashes identified):
{
18192 : {
'core' : {
'last_mod' : '2016-09-08 17:46:08',
'executable' : 'siebprocmw',
'size' : 211382272,
'generated_by' : 'SIGABRT',
'filename' : 'core.18192'
},
'fdr' : {
'last_mod' : '2016-09-08 17:46:07',
'size' : 5000032,
'filename' : 'T201609081518_P018192.fdr'
},
'thread' : '-247841904'
},
28019 : {
'core' : {
'last_mod' : '2016-09-09 22:40:22',
'executable' : 'siebmtshmw',
'size' : 356610048,
'generated_by' : 'SIGABRT',
'filename' : 'core.28019'
},
'fdr' : {
'last_mod' : '2016-09-09 22:40:22',
'size' : 5000032,
'filename' : 'T201609092237_P028019.fdr'
},
'thread' : '-171263680'
}
}
The core and FDR files might be removed right after (see the configuration file) the analysis is complete.
This script will work on Linux only. It is expected that the gdb
program (to
extract the core dumps backtrace) and the iniparse
(available as RPM
package on RedHat, CentOS and Oracle Enterprise Linux) Python module are
installed.
The script crash_monitor has also an on-line documentation. You can check it with:
$ pydoc siebel.maintenance.crash
To generate HTML documentation for this module issue the command:
$ pydoc -w siebel.maintenance.crash
How to use
Requirements
- Python 2.X or 3.x.
- Siebel Server binaries and configuration in place.
- Linux (all setup is specific to Linux).
- GNU GDB.
Install
You should be able to install this program with pip
:
$ pip install siebel-crash-report
Then you will need to configure the crash_reporter program and finally run it against your Siebel Enterprise.
Configuration
You must have a INI configuration file located at your home directory as
$HOME/.crash.ini
.
Here is a sample INI configuration file:
[main]
;location of Siebel binaries
bin_dir = /server/81/siebsrvr/bin
; location of where the crashes information will be stored. A subdirectory will be created there with filename "crash_dir" appended with datetime.date.today string
crash_dir = /server/crash_dir
; location of the Siebel Enterprise log files
enterprise_log_dir = /server/foobar/siebel/81/siebsrvr/enterprises/foobar/myserver/log
; location of Siebel Enterprise log archives
log_archive = /server/foobar/siebel/81/siebsrvr/enterprises/foobar/myserver/logarchive
; the file name of the Siebel Enterprise log file (only the file name, not the complete path)
enterprise_log_file = foobar.myserver.log
clean_files = yes
Further information can be checked on the module documentation:
$ pydoc siebel.maintenance.crash.readConfig
Development
If you want to get involved with this project develoment, here are some very basic details to start.
Requirements
- Python 2.X and 3.x.
- Python modules (see
requirements.txt
andrequirements-3x.txt
). - Siebel Server binaries and configuration in place.
- Linux (all setup is specific to Linux).
- GNU GDB.
Running tests
In order to run tests with pytest
, setup the PYTHONPATH
environment
variable first:
$ export PYTHONPATH="$PWD/src"
$ pytest
Known issues
This script was created to run on Python 2.4 (I know, very old but that's what we got back in the day) but should work without problems with Python 2.7.
Python 3.X should be supported. Use requirements-3x.txt
file to install
modules through venv.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for siebel-crash-report-0.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f47fb16920a8a91213c2af46fea7a64d38f23c7f58393959e539c969c746cd4 |
|
MD5 | 5e2479eb052706e953ca968be5549267 |
|
BLAKE2b-256 | 481bcb797e9b8ed9af5003307224dd495075a3372c82db8b92a9828d2f315ea4 |
Hashes for siebel_crash_report-0.0.1-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bccc15596c39a4093604db137dd0d88a22b7210dbdd16b7de9f5541a05c5e918 |
|
MD5 | 9df7abb181502f2fe41f1967e1a9ada0 |
|
BLAKE2b-256 | 66c1bfa0177e0e1f6d7986ce59ea1787d4afa0eb4af66592c8a0b342916a7f2c |