Package: siebel-crash-report
siebel-crash-reportPython project that searchs and aggregates Siebel component crashes information
into a nice report.FeaturesAutomates 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.dumpfiles) itself using GDB.FDR files withsarmanalyzer.Siebel enterprise log files.correlate information from the FDR with the enterprise log file.a summary JSON report.The CSV (fromsarmanalyzer) and the GDB output as text are created as
necessary in the directory defined by thecrash_direntry in thecrash_reporter.iniconfiguration file, together with the summary JSON report
and a copy of thecrash.txt.All the information (but the CSV andgdboutput) is printed toSTDOUT, so
it's to run it together in a cron job and pipe it tomailprogram.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 (see the configuration file) right after
the analysis is complete.This script will work on Linux only. It is expected that thegdbprogram (to
extract the core dumps backtrace) and theiniparse(available as RPM package
on RedHat, CentOS and Oracle Enterprise Linux) Python module are installed.The scriptcrash_monitorhas also an on-line documentation. You can check it
with:$ pydoc siebel.maintenance.crashTo generate HTML documentation for this module issue the command:$ pydoc -w siebel.maintenance.crashHow to useRequirementsPython 3.x: checkoutTravis CIfor
up to date information about the support Python versions.Siebel Server binaries and configuration in place.Linux (all setup is specific to Linux).GNU GDB.InstallYou should be able to install this program withpip:$ pip install siebel-crash-reportThen you will need to configure thecrash_reporterprogram and finally run it
against your Siebel Enterprise.ConfigurationYou must have a YAML configuration file located at your home directory as$HOME/.crash_reporter.yaml.You can see a sample configuration file at the website project.Further information can be checked on the module documentation:pydoc siebel.maintenance.crash.readConfigDevelopmentIf you want to get involved with this project development, first install the
Python development requirements with:pip install -r requirements-dev.txtYou will also need to install the GNU Make in order to be able to use this
projectMakefilefor serveral tasks, like running the unit tests for example:siebel-crash-report$ make test
pytest -v
==================================================================================== test session starts =====================================================================================
platform linux -- Python 3.6.13, pytest-6.2.2, py-1.10.0, pluggy-0.13.1 -- /home/alceu/.pyenv/versions/3.6.13/envs/siebel-crash-report/bin/python3.6
cachedir: .pytest_cache
rootdir: siebel-crash-report
collected 3 items

tests/siebel/maintenance/test_thread.py::test_fix_thread_id PASSED                                                                                                                     [ 33%]
tests/siebel/maintenance/test_thread.py::test_dec2bin PASSED                                                                                                                           [ 66%]
tests/siebel/maintenance/test_thread.py::test_dec2bin_backport PASSED                                                                                                                  [100%]

===================================================================================== 3 passed in 0.06s ======================================================================================