README | 470 +++++++++++++++++++++++++++++++++++++++++++++----
cas.conf | 2
doc/_sources/index.txt | 31 +++
doc/genindex.html | 10 -
doc/index.html | 39 +++-
doc/objects.inv | 2
doc/search.html | 10 -
doc/searchindex.js | 2
8 files changed, 515 insertions(+), 51 deletions(-)
New commits:
commit 9a512da1dd23bcb5e5b66e7be68e45a2c8a7eb44
Author: adam stokes <astokes(a)fedoraproject.org>
Date: Thu May 27 10:06:54 2010 -0400
doc updates
diff --git a/README b/README
index dc8ed76..c1fe7fa 100644
--- a/README
+++ b/README
@@ -1,49 +1,459 @@
-CAS.README
+.. CAS documentation master file, created by
+ sphinx-quickstart on Wed May 6 22:44:40 2009.
+ You can adapt this file completely to your liking, but it should at least
+ contain the root `toctree` directive.
-* Other documentation check the wiki
http://fedorahosted.org/cas
+Core Analysis System
+====================
-Requirements
+:Author: Adam Stokes
+:Release: |release|
+:Date: |today|
-/etc/cas.conf - This needs to be modified with your directory specifics.
-Comments in the conf file are pretty straight forward.
+.. image:: cas_logo.png
-A cas database needs to be prepared which houses all the build timestamps
-of the debug kernels you wish to use.
+Overview
+--------
+CAS provides a user the ability to configure an environment for core analysis
+quickly. All the hassles of matching kernel versions and machine architecture
+types to core dumps are automatically detected and processed.
-As root run:
+Prerequisites
+^^^^^^^^^^^^^
-# cas-admin -b
+CAS needs at least **Python 2.6** to run. If running RHEL 6 it may require
+the EPEL repo to be installed. Visit `EPEL <
https://fedoraproject.org/wiki/EPEL>`_
+to enable this repository.
-Build your server database:
+``Note``: It is assumed (and untested) to run in python 2.4/2.5 as long as the
+backported multiprocessing library is installed. Please
+see `Multiprocessing backport <
http://pypi.python.org/pypi/multiprocessing>`_
-# cas-admin -s
+Other package requirements:
-Running CAS
+- python-urlgrabber
+- python-sqlalchemy
+- python-cherrypy
+- python-simplejson
+- python-mako
-Once completed take a generated kernel dump and send it through cas:
+The amount of storage needed can be determined base on the following
+information:
-# cas -i <ID> -f vmcore -m username(a)example.com
+- The number of kernel debug packages needed
+- How many core dumps will be processed.
-The vmcore may be in the form of http/ftp (e.g.
http://myhost.com/files/vmcore.tar.gz).
+Typically it is recommended to have at least 1TB for cores and another 500GB for
+the debuginfo packages.
-The compression scheme for a vmcore should be in the form of one of the following:
+Since analyzing cores requires the same architecture specific systems the core
+was generated on there will need to be systems available of those same types
+in order for analyzation to work properly.
-# tar cvzf vmcore.tar.gz vmcore
-# tar cvjf vmcore.tar.bz2 vmcore
-# gzip vmcore
-# bzip2 vmcore
+.. _config-cas-conf:
-or you may pass it an uncompressed vmcore.
+Configuration - cas.conf
+^^^^^^^^^^^^^^^^^^^^^^^^
-Please do not _double compress_! For example, do not do a gzip vmcore,
-then a tar cvzf vmcore.tar.gz vmcore.gz as you will not gain anything
-from this. CAS will also fail to detect the decompression type.
+CAS comes with one main configuration file which is located at ``/etc/cas.conf``.
+The overall contents of this file is shown below, further down we will break up
+each section and describe its meaning::
-Once complete results should be emailed to the address specified or if
-processed locally should be prepared for you to do further analyzation
-within crash.
+ [settings]
+ casuser=root
+ sshkey=dss
+ kernels=/mnt/kernels
+ regexExcludeDir=*data*,*src*
+ # regexExcludeFile=*tmp*
+ regexType=posix-extended
+ rpmFilter=.*kerne.+-debuginfo-[0-9].*\.rpm
+ debugLevel=DEBUG
+ workDirectory=/cores/processed
+
smtphost=mail.example.com
+ database=/var/db/cas/cas.db
+ [maintenance]
+ purgeLimit=90
+ autoPurge=Yes
+ [advanced]
+ # crash_32=/usr/local/i386/crash
+ # buffersize=None
-If any problem occurs please check the log within
-/your/core/processed_dir/identifier/identifier.log
+``casuser``: (**Required**) User to run cas, recommended to run as someone other than
root.
+
+``sshkey``: (**Required**) Used for ssh negotiation, these are generated with
``ssh-keygen``.
+
+``kernels``: (**Required**) Describes the location of where kernel-debuginfo packages are
to be
+stored. This can range anywhere from an nfs mount, samba share, local disk or
+any other type of media the cas server can access.
+
+``regexExcludeDir``: Directories that may be within the search path that doesn't need
to be
+included. This is a shell format so globs like ``*/*/data`` are accepted.
+
+``regexExcludeFile``: Any files that need to be excluded from the search path. This is
also
+a shell format ``*/*/badfile.txt``.
+
+``regexType``: (**Required**) Defines the regex syntax to use within ``find``. Doing a
+``man find`` and searching for regextype will give you the allowable syntaxes.
+
+``rpmFilter``: (**Required**) This is a emacs based regular expression which is
essentially
+passed to a find command to locate the various kernel-debuginfo packages defined
+in ``kernels`` directive.
+
+``debugLevel``: As the name suggest it will set the debug level for CAS output.
+Currently the only accepted values are ``DEBUG|INFO``.
+
+``workDirectory``: (**Required**) Defines where all processed cores will be placed. This
mount
+point will need to have the most storage assigned to it. Depending on how many
+cores are processed in a given timeframe this area will fill up quickly.
+
+``smtphost``: If wanting output of CAS processing email to a certain address
+this directive needs to be set. ``Note`` that the mail server should not
+require smtp authentication.
+
+``database``: (**Required**) Define where the sqlite database will reside. ``Note`` the
``casuser``
+will need to have read/write access to this database.
+
+``purgeLimit``: Define amount of day(s) back wish to keep physical data on
+system.
+
+``autoPurge``: Yes/No setting if wanting cas-admin to auto purge stale data on
+each run.
+
+``crash_32``: Primarily used on x86_64 systems to process x86 cores. If x86
+version of crash is installed this directive can be set to the crash binary
+and CAS will automatically process x86 cores on a x86_64 machine. ``Note`` this
+is only available if the CAS server is a x86_64 machine.
+
+``buffersize``: Extend the read buffer when analyzing a core for a timestamp.
+``Note`` this is normally needed for itanium cores, otherwise, the default is
+fine.
+
+CAS - Overseer
+----------
+
+Description
+^^^^^^^^^^^
+``Package name``: `cas-server`
+
+Web user interface to the core analysis system that allows a user to process cores
+via http, ftp, or file protocols. Other features include ability to view a job's
progress
+and if needed re-schedule that job.
+
+Configure & Execution
+^^^^^^^^^^^^^^^^^^^^^^^
+
+This should run `out of the box` by typing::
+
+ # service cas-server start
+
+It will load a self contained http server located at **http://localhost:8112**. If the
port
+needs to be changed the `site.conf` is located ``/usr/share/cas/overseer/site.conf``.
Under
+the [global] section change `server.socket_port` to an appropriate port.
+
+CAS - Administration
+--------------------
+
+Description
+^^^^^^^^^^^
+``Package``: `cas-admin`
+
+The administration application will build the necessary debug database in order
+to match coredumps with the proper debugging kernel. In addition, this application
+builds a list of accessible servers and their architecture for CAS to use in cases
+where the host system is not suitable to process the core.
+
+Configure & Execution
+^^^^^^^^^^^^^^^^^^^^^
+
+The following options need to be set appropriately in ``/etc/cas.conf``, see
:ref:`config-cas-conf`.
+
+- kernels
+- rpmFilter
+
+Optionally:
+
+- regexExcludeFile
+- regexExcludeDir
+- regexType
+
+To populate the database run::
+
+ # cas-admin
+
+Once complete CAS will be able to match coredumps with kernel debugs.
+
+In order to query accessible CAS servers simply run::
+
+ # cas-admin --server
+
+If several systems are deployed for CAS to use, ssh keys must be setup between the host
(CAS) and
+the clients::
+
+ (cas-server) $ ssh-keygen -t dsa
+ Cas supports passwordless entries at this time.
+ (cas-server) $ ssh-copy-id -i ~/.ssh/id_dsa casuser(a)cas-client-system.com
+
+Please note that in order for cas to function properly it is required that only the cas
+user on the system has only those entries in its ssh hostkey file that are accessible
+with cas. Cas will error with ``Authentication Failed`` and exit cleanly if it runs
+into any system that it can not communicate with.
+
+There are options to autopurge old/stale data, see :ref:`maintenance`
+
+CAS - Command Interface
+-----------------------
+
+Description
+^^^^^^^^^^^
+``Package``: `cas`
+
+The command line interface gives more flexibility to the administrator or user
+when analyzing a core. The interface is what is used by all CAS components when
+accessing anything core related.
+
+Execution
+^^^^^^^^^
+
+CAS prepares its directory hierarchy based on the ``identifier`` this option is
+therefore required. ``filename`` is also required as it tells CAS exactly which
+core to process and associate with ``identifier``. If wanting email results from
+CAS simply pass it the email parameter.
+
+An example, of a user wanting to process a corefile named ``vmcore.12345``::
+
+ $ cas -i 12345 -f vmcore.12345 -e user(a)cas-server.com --job 1
+
+In the above example an assumption is made that ``12345`` is associated to some
+form of ticketing system so to keep things organized an identifier was set of
+that number along with the ``job`` to be processed.
+
+The directory hierarchy for the current job should look like ``/cores/1/datetime``.
+In addition to the processing of core files there is also a ``job.log`` contained
+within this directory for each job processed. If multiple jobs for the same identifier
+are issued they are placed within a sub directory marked by the current timestamp
+and the relevant data associated with it.
+
+The last option worth mentioning is for core analyst who are needing to work
+within the core that requires one of the kernel modules loaded during the crash.
+This can be extracted by passing the ``modules`` parameter in the CAS execution
+statement. ``Note`` the ``modules`` parameter is not heavily used but can be
+useful when analyzing filesystem issues and the like.
+
+From this point on CAS will download, process, and email the results of its
+initial analysis to the specified email address. From there further instructions
+are provided in either the email or the ``job.log`` on how to access and analyze
+the core.
+
+.. _maintenance:
+
+Maintenance
+===========
+
+Purging data
+------------
+It is possible to purge old data to help with keeping storage capacity under control. The
default
+purge days is 90, however, this can be altered with the command::
+
+ # cas-admin -p -d 180
+
+The above will then only purge data older than 180 days.
+
+Another possibility is to set the ``purgeLimit`` within the configuration file.
+
+Additional Tips
+===============
+
+Compressing Cores
+-----------------
+
+To compress a file using ``xz`` run::
+
+ $ cas -f vmcore --compress
+
+Proxying cas-server through Apache
+----------------------------------
+
+Proxy **cas-server** through apache a vhost needs to be setup::
+
+ NameVirtualHost *:80
+
+ <VirtualHost *:80>
+ ServerAdmin casadmin(a)mydomain.com
+ DocumentRoot /var/www/cas
+ ServerName
cas.mydomain.com
+ ErrorLog logs/cas-error_log
+ CustomLog logs/cas-access_log common
+
+ <IfModule mod_proxy.c>
+ ProxyRequests On
+ ProxyPass /
http://127.0.0.1:8112/
+ ProxyPassReverse /
http://127.0.0.1:8112/
+ </IfModule>
+ </VirtualHost>
+
+``Note``: If running with SELinux enabled a problem may arise with permission
+denied when accessing localhost through the proxy. To fix this issue run::
+
+ $ setsebool httpd_can_network_connect 1
+
+
+Analyzing
+---------
+
+Continuing with the previous example the results of CAS processing should be emailed
+and look something similar to::
+
+ Subject: CAS results for 1
+ Date: Tue, 06 May 2009 08:41:20 -0500
+
+ Location: Location: /cores/1/2009.05.06.08.41.20
+ Server:
x86_64.cas-server.com
+ Output data:
+ PID: 0 TASK: ffffffff803e9b80 CPU: 0 COMMAND: "swapper"
+ #0 [ffffffff8047a0a0] smp_call_function_interrupt at ffffffff8011d191
+ #1 [ffffffff8047a0b0] call_function_interrupt at ffffffff80110bf5
+ --- <IRQ stack> ---
+ #2 [ffffffff80529f08] call_function_interrupt at ffffffff80110bf5
+ [exception RIP: default_idle+32]
+ RIP: ffffffff8010e7a9 RSP: ffffffff80529fb8 RFLAGS: 00000246
+ RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000018
+ RDX: ffffffff8010e789 RSI: ffffffff803e9b80 RDI: 0000010008001780
+ RBP: 0000000000000000 R8: ffffffff80528000 R9: 0000000000000080
+ R10: 0000000000000100 R11: 0000000000000004 R12: 0000000000000000
+ R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
+ ORIG_RAX: fffffffffffffffa CS: 0010 SS: 0018
+ #3 [ffffffff80529fb8] cpu_idle at ffffffff8010e81c
+
+ PID: 0 TASK: 100f57cb030 CPU: 1 COMMAND: "swapper"
+ #0 [1000107bfa0] smp_call_function_interrupt at ffffffff8011d191
+ #1 [1000107bfb0] call_function_interrupt at ffffffff80110bf5
+ --- <IRQ stack> ---
+ #2 [10001073e98] call_function_interrupt at ffffffff80110bf5
+ [exception RIP: default_idle+32]
+ RIP: ffffffff8010e7a9 RSP: 0000010001073f48 RFLAGS: 00000246
+ RAX: 0000000000000000 RBX: 0000000000000e86 RCX: 0000000000000018
+ RDX: ffffffff8010e789 RSI: 00000100f57cb030 RDI: 00000102000a4780
+ RBP: 0000000000000001 R8: 0000010001072000 R9: 0000000000000040
+ R10: 0000000000000000 R11: 0000000000000008 R12: 0000000000000000
+ R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
+ ORIG_RAX: fffffffffffffffa CS: 0010 SS: 0018
+ #3 [10001073f48] cpu_idle at ffffffff8010e81c
+
+ PID: 6122 TASK: 101f3658030 CPU: 2 COMMAND: "gfs_quotad"
+ #0 [101f21efb20] start_disk_dump at ffffffffa03183ff
+ #1 [101f21efb50] try_crashdump at ffffffff8014cc1d
+ #2 [101f21efb60] die at ffffffff80111c90
+ #3 [101f21efb80] do_invalid_op at ffffffff80112058
+ #4 [101f21efc40] error_exit at ffffffff80110e1d
+ [exception RIP: do_dlm_lock+366]
+
+ ... snip ...
+
+From this email a ``location`` is provided ``Location: /cores/1/2009.05.06.08.41.20``
+and the server in which further analyzation can be continued ``x86_64.cas-server.com``.
+
+Normally from a support perspective this email should contain enough information
+for a kernel engineer to begin debugging the problem. Assuming more is needed
+the information provided previously will prove beneficial for anyone wishing
+to access this data.
+
+Logging into the stated server and changing into the directory defined several
+files are presented::
+
+ $ pwd
+ Location: /cores/1/2009.05.06.08.41.20
+ $ ls
+ 1.log crash crash.in crash.out usr vmcore.12345 log memory modules sys
traceback
+
+``1.log``: contains any informational messages presented during the processing
+of the core. Everything from informational to debug statements are provided here.
+
+``crash``: a script autogenerated to provide an automated way of gathering intial
+data from the coredump. ``Note`` if wanting to use this crash wrapper in a more
+manual approach some alterations to the script need to occur.
+
+crash wrapper in its original form::
+
+ #!/bin/sh
+ /usr/bin/crash \
+ /cores/1/2009.05.06.08.41.20/vmcore.12345 \
+ usr/*/*/*/*/2.6.9*largesmp/vmlinux $*
+
+``Note`` Running the crash wrapper manually will result in an interactive instance.
+
+**Alternative to using the crash wrapper**
+
+It is possible to specify the vmlinux and corefile with crash on the command line::
+
+ $ crash /cores/1/2009.05.06.08.41.20/usr/*/*/*/*/2.6.9*largesmp/vmlinux \
+ /cores/1/2009.05.06.08.41.20/vmcore.12345
+
+``crash.in``: a list of commands to be read into crash during the automated
+analysis::
+
+ bt >> traceback
+ bt -a >> traceback
+ sys >> sys
+ sys -c >> sys
+ log >> log
+ mod >> modules
+ kmem >> memory
+ kmem -f >> memory
+ exit
+
+This can be extended by adding more snippets into ``/var/lib/cas/snippets``. Please see
+that directory for examples.
+
+``crash.out``: output of initial crash analysis and the same data which
+is sent in an email if defined.
+
+``usr``: directory structure from the extraction of the vmlinux file
+from the associated kernel-debuginfo rpm for use within crash::
+
+ /cores/1/2009.05.06.08.41.20/
+ usr/lib/debug/lib/modules/2.6.9-78.18.ELlargesmp/vmlinux
+
+``vmcore.12345``: corefile from which was either defined or extracted from
+a compressed archive during CAS initialization.
+
+Troubleshooting
+---------------
+
+Some of the major problems that arise when using CAS usually boils down to some
+improper usage of the compression and archiving tools.
+
+When compressing a core which may need to be sent over the network to a CAS server
+one of the proper ways to do so is::
+
+ $ tar cvjf vmcore.12345.tar.bz2 vmcore.12345
+
+Other various ways of compressing archive are as follows::
+
+ $ tar cvzf vmcore.tar.gz vmcore
+ $ gzip vmcore
+ $ bzip2 vmcore
+ $ xz vmcore
+
+``Note``: please do not double compress or CAS will fail.
+
+Another issue, which isn't primarily a fault of CAS, are
+incomplete or corrupted cores. If either of these occur
+there is a chance that CAS will not be able to process
+the data needed to associate a debug kernel or do any
+sort of automated analysis. Unfortunately, there is not
+much that can be done to resolve these sort of issues
+other than verifying that the process which happens when
+a system coredump and when that dump reaches the
+system specified for retrieval is solid and are seeing
+no errors.
+
+
+Resources
+=========
+
+* `CAS Wiki <
http://fedorahosted.org/cas>`_
+* `CAS FAQ <
https://fedorahosted.org/cas/wiki/CasFAQ>`_
+* `Mailing list <
https://fedorahosted.org/mailman/listinfo/cas>`_
+* `Upstream releases <
https://fedorahosted.org/releases/c/a/cas/>`_
+* Checkout latest from Git, ``git clone
git://git.fedorahosted.org/cas.git``
-Other documentation check the wiki
http://fedorahosted.org/cas
diff --git a/cas.conf b/cas.conf
index b692b71..18df098 100644
--- a/cas.conf
+++ b/cas.conf
@@ -48,7 +48,7 @@ workDirectory=/cores
smtphost=mail.example.com
# database connection info
-database=/var/tmp/cas.db
+database=/var/db/cas.db
# send notifications automatically
notify=True
diff --git a/doc/_sources/index.txt b/doc/_sources/index.txt
index 5e72f86..dd33e7d 100644
--- a/doc/_sources/index.txt
+++ b/doc/_sources/index.txt
@@ -264,11 +264,39 @@ Additional Tips
===============
Compressing Cores
-----------------
+-----------------
+
To compress a file using ``xz`` run::
$ cas -f vmcore --compress
+Proxying cas-server through Apache
+----------------------------------
+
+Proxy **cas-server** through apache a vhost needs to be setup::
+
+ NameVirtualHost *:80
+
+ <VirtualHost *:80>
+ ServerAdmin casadmin(a)mydomain.com
+ DocumentRoot /var/www/cas
+ ServerName
cas.mydomain.com
+ ErrorLog logs/cas-error_log
+ CustomLog logs/cas-access_log common
+
+ <IfModule mod_proxy.c>
+ ProxyRequests On
+ ProxyPass /
http://127.0.0.1:8112/
+ ProxyPassReverse /
http://127.0.0.1:8112/
+ </IfModule>
+ </VirtualHost>
+
+``Note``: If running with SELinux enabled a problem may arise with permission
+denied when accessing localhost through the proxy. To fix this issue run::
+
+ $ setsebool httpd_can_network_connect 1
+
+
Analyzing
---------
@@ -419,6 +447,7 @@ a system coredump and when that dump reaches the
system specified for retrieval is solid and are seeing
no errors.
+
Resources
=========
diff --git a/doc/genindex.html b/doc/genindex.html
index e5987d5..a5fa227 100644
--- a/doc/genindex.html
+++ b/doc/genindex.html
@@ -5,13 +5,13 @@
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
- <title>Index — CAS v1.0 documentation</title>
+ <title>Index — CAS v1.1 documentation</title>
<link rel="stylesheet" href="_static/default.css"
type="text/css" />
<link rel="stylesheet" href="_static/pygments.css"
type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '#',
- VERSION: '1.0',
+ VERSION: '1.1',
COLLAPSE_MODINDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -19,7 +19,7 @@
</script>
<script type="text/javascript"
src="_static/jquery.js"></script>
<script type="text/javascript"
src="_static/doctools.js"></script>
- <link rel="top" title="CAS v1.0 documentation"
href="index.html" />
+ <link rel="top" title="CAS v1.1 documentation"
href="index.html" />
</head>
<body>
<div class="related">
@@ -28,7 +28,7 @@
<li class="right" style="margin-right: 10px">
<a href="#" title="General Index"
accesskey="I">index</a></li>
- <li><a href="index.html">CAS v1.0 documentation</a>
»</li>
+ <li><a href="index.html">CAS v1.1 documentation</a>
»</li>
</ul>
</div>
@@ -78,7 +78,7 @@
<li class="right" style="margin-right: 10px">
<a href="#" title="General Index"
index</a></li>
- <li><a
href="index.html">CAS v1.0 documentation</a> »</li>
+ <li><a href="index.html">CAS v1.1 documentation</a>
»</li>
</ul>
</div>
<div class="footer">
diff --git a/doc/index.html b/doc/index.html
index 2e8ee32..fbb25aa 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -5,13 +5,13 @@
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
- <title>Core Analysis System — CAS v1.0 documentation</title>
+ <title>Core Analysis System — CAS v1.1 documentation</title>
<link rel="stylesheet" href="_static/default.css"
type="text/css" />
<link rel="stylesheet" href="_static/pygments.css"
type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '#',
- VERSION: '1.0',
+ VERSION: '1.1',
COLLAPSE_MODINDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -19,7 +19,7 @@
</script>
<script type="text/javascript"
src="_static/jquery.js"></script>
<script type="text/javascript"
src="_static/doctools.js"></script>
- <link rel="top" title="CAS v1.0 documentation"
href="#" />
+ <link rel="top" title="CAS v1.1 documentation"
href="#" />
</head>
<body>
<div class="related">
@@ -28,7 +28,7 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
- <li><a href="#">CAS v1.0 documentation</a>
»</li>
+ <li><a href="#">CAS v1.1 documentation</a>
»</li>
</ul>
</div>
@@ -45,9 +45,9 @@
<tbody valign="top">
<tr class="field"><th
class="field-name">Author:</th><td
class="field-body">Adam Stokes</td>
</tr>
-<tr class="field"><th
class="field-name">Release:</th><td
class="field-body">1.0</td>
+<tr class="field"><th
class="field-name">Release:</th><td
class="field-body">1.1</td>
</tr>
-<tr class="field"><th
class="field-name">Date:</th><td class="field-body">May
21, 2010</td>
+<tr class="field"><th
class="field-name">Date:</th><td class="field-body">May
27, 2010</td>
</tr>
</tbody>
</table>
@@ -270,6 +270,30 @@ purge days is 90, however, this can be altered with the
command:</p>
<div class="highlight-python"><pre>$ cas -f vmcore
--compress</pre>
</div>
</div>
+<div class="section" id="proxying-cas-server-through-apache">
+<h2>Proxying cas-server through Apache<a class="headerlink"
href="#proxying-cas-server-through-apache" title="Permalink to this
headline">¶</a></h2>
+<p>Proxy <strong>cas-server</strong> through apache a vhost needs to be
setup:</p>
+<div class="highlight-python"><pre>NameVirtualHost *:80
+
+<VirtualHost *:80>
+ ServerAdmin casadmin(a)mydomain.com
+ DocumentRoot /var/www/cas
+ ServerName
cas.mydomain.com
+ ErrorLog logs/cas-error_log
+ CustomLog logs/cas-access_log common
+
+ <IfModule mod_proxy.c>
+ ProxyRequests On
+ ProxyPass /
http://127.0.0.1:8112/
+ ProxyPassReverse /
http://127.0.0.1:8112/
+ </IfModule>
+</VirtualHost></pre>
+</div>
+<p><tt class="docutils literal"><span
class="pre">Note</span></tt>: If running with SELinux enabled a
problem may arise with permission
+denied when accessing localhost through the proxy. To fix this issue run:</p>
+<div class="highlight-python"><pre>$ setsebool
httpd_can_network_connect 1</pre>
+</div>
+</div>
<div class="section" id="analyzing">
<h2>Analyzing<a class="headerlink" href="#analyzing"
title="Permalink to this headline">¶</a></h2>
<p>Continuing with the previous example the results of CAS processing should be
emailed
@@ -450,6 +474,7 @@ no errors.</p>
</li>
<li><a class="reference external"
href="#additional-tips">Additional Tips</a><ul>
<li><a class="reference external"
href="#compressing-cores">Compressing Cores</a></li>
+<li><a class="reference external"
href="#proxying-cas-server-through-apache">Proxying cas-server through
Apache</a></li>
<li><a class="reference external"
href="#analyzing">Analyzing</a></li>
<li><a class="reference external"
href="#troubleshooting">Troubleshooting</a></li>
</ul>
@@ -485,7 +510,7 @@ no errors.</p>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
index</a></li>
- <li><a
href="#">CAS v1.0 documentation</a> »</li>
+ <li><a href="#">CAS v1.1 documentation</a>
»</li>
</ul>
</div>
<div class="footer">
diff --git a/doc/objects.inv b/doc/objects.inv
index 0540417..1aedcb9 100644
--- a/doc/objects.inv
+++ b/doc/objects.inv
@@ -1,3 +1,3 @@
# Sphinx inventory version 1
# Project: CAS
-# Version: 1.0
+# Version: 1.1
diff --git a/doc/search.html b/doc/search.html
index 228ae2b..d7e3692 100644
--- a/doc/search.html
+++ b/doc/search.html
@@ -5,13 +5,13 @@
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
- <title>Search — CAS v1.0 documentation</title>
+ <title>Search — CAS v1.1 documentation</title>
<link rel="stylesheet" href="_static/default.css"
type="text/css" />
<link rel="stylesheet" href="_static/pygments.css"
type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '#',
- VERSION: '1.0',
+ VERSION: '1.1',
COLLAPSE_MODINDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@@ -20,7 +20,7 @@
<script type="text/javascript"
src="_static/jquery.js"></script>
<script type="text/javascript"
src="_static/doctools.js"></script>
<script type="text/javascript"
src="_static/searchtools.js"></script>
- <link rel="top" title="CAS v1.0 documentation"
href="index.html" />
+ <link rel="top" title="CAS v1.1 documentation"
href="index.html" />
</head>
<body>
<div class="related">
@@ -29,7 +29,7 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
- <li><a href="index.html">CAS v1.0 documentation</a>
»</li>
+ <li><a href="index.html">CAS v1.1 documentation</a>
»</li>
</ul>
</div>
@@ -77,7 +77,7 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
index</a></li>
- <li><a
href="index.html">CAS v1.0 documentation</a> »</li>
+ <li><a href="index.html">CAS v1.1 documentation</a>
»</li>
</ul>
</div>
diff --git a/doc/searchindex.js b/doc/searchindex.js
index e9fe264..a363f87 100644
--- a/doc/searchindex.js
+++ b/doc/searchindex.js
@@ -1 +1 @@
-Search.setIndex({desctypes:{},terms:{all:0,queri:0,global:0,mnt:0,ffffffff8011d191:0,snip:0,abil:0,regexexcludedir:0,disk:0,depend:0,wish:0,do_dlm_lock:0,those:0,under:0,aris:0,worth:0,sent:0,r14:0,r15:0,r12:0,r13:0,r10:0,r11:0,faq:0,ffffffff8010e789:0,vmcore:0,upstream:0,ticket:0,relev:0,administr:0,level:0,die:0,list:0,form:0,prepar:0,pleas:0,x86_64:0,core:0,direct:0,follow:0,download:0,further:0,keygen:0,port:0,what:0,sub:0,section:0,abl:0,access:0,version:0,hostkei:0,autogener:0,gener:0,here:0,address:0,path:0,along:0,sinc:0,valu:0,ffffffff80110bf5:0,box:0,search:0,rdx:0,later:[],datetim:0,amount:0,typic:0,rdi:0,smp_call_function_interrupt:0,chanc:0,"0000010001073f48":0,via:0,repositori:0,modul:0,prefer:[],crash_32:0,filenam:0,id_dsa:0,instal:0,txt:0,regex:0,from:0,describ:0,would:[],memori:0,doubl:0,visit:0,two:[],next:[],few:[],usr:0,recommend:0,type:0,tell:0,more:0,sort:0,wrapper:0,share:0,relat:0,ffffffff803e9b80:0,"1tb":0,must:0,syntaxess:[],none:0,retriev:0,hous:[],setup:0,work:0,uniqu:[],can:0,root:0,control:0,regexexcludefil:0,sqlite:0,conf:0,tar:0,give:0,process:0,smtp:0,accept:0,want:0,unfortun:0,occur:0,multipl:0,anoth:0,write:0,how:0,error_exit:0,purg:0,opt:[],verifi:0,negoti:0,perspect:0,ffffffff80528000:0,resourc:0,passwordless:0,"00000102000a4780":0,clone:0,reflect:[],date:0,data:0,physic:0,man:0,essenti:0,exclud:0,issu:0,inform:0,environ:0,allow:0,suggest:0,untest:0,order:0,help:0,over:0,major:0,i386:0,through:[],hierarchi:0,flexibl:0,paramet:0,snippet:0,"100f57cb030":0,requir:0,mail:0,main:0,alter:0,crash:0,thei:0,python:0,auto:0,overal:0,dai:0,initi:0,"break":0,mention:0,itanium:0,now:[],introduct:[],multiprocess:0,name:0,anyth:0,edit:[],troubleshoot:0,authent:0,kern:0,each:0,debug:0,mean:0,mai:0,continu:0,backport:0,happen:0,extract:0,buffers:0,out:0,ftp:0,shown:0,network:0,ffffffff8014cc1d:0,dss:0,content:0,suitabl:0,fffffffffffffffa:0,dsa:0,advanc:0,orig_rax:0,given:0,base:0,releas:0,org:0,ffffffff80110e1d:0,traceback:0,keep:0,vmlinux:0,thing:0,yum:[],isn:0,assign:0,first:[],origin:0,rang:0,onc:0,number:0,capac:0,swapper:0,instruct:0,done:0,least:0,rflag:0,differ:[],script:0,associ:0,interact:0,system:0,messag:0,attach:[],ffffffff80112058:0,statement:0,ffffffff8047a0a0:0,"final":[],boil:0,editor:[],shell:0,option:0,debuginfo:0,tool:0,copi:0,specifi:0,hassl:0,appropri:0,exactli:0,rsp:0,than:0,provid:0,urlgrabb:0,"10001073e98":0,emac:0,structur:0,posix:0,store:0,stale:0,"function":0,badfil:0,pass:0,ani:0,fail:0,have:0,need:0,"101f3658030":0,rax:0,rsi:0,packag:0,engin:0,bz2:0,lib:0,self:0,note:0,also:0,client:0,build:0,which:0,begin:0,normal:0,buffer:0,glob:0,previou:0,compress:0,most:0,regular:0,deploi:0,"101f21efb80":0,gather:0,place:0,determin:0,irq:0,usual:0,show:[],text:[],syntax:0,identifi:0,fine:0,find:0,current:0,onli:0,locat:0,configur:0,solut:[],state:0,should:0,analyz:0,local:0,variou:0,cvjf:0,express:0,autom:0,repo:0,mainten:0,ssh:0,ellargesmp:0,enabl:0,organ:0,cleanli:0,contain:0,where:0,view:0,wiki:0,kernel:0,set:0,dump:0,"10001073f48":0,see:0,result:0,arg:[],corrupt:0,subject:0,ffffffffa03183ff:0,detect:0,purgelimit:0,kei:0,databas:0,someth:0,enough:0,between:0,progress:0,approach:0,email:0,altern:0,assumpt:0,extend:0,cpu_idl:0,default_idl:0,job:0,come:0,tue:0,addit:0,last:0,admin:0,fault:0,howev:0,etc:0,instanc:0,mani:0,com:0,improp:0,load:0,simpli:0,point:0,overview:0,framework:[],"1000107bfb0":0,rpm:0,casus:0,coredump:0,been:[],mark:0,compon:0,much:0,sshkei:0,popul:0,quickli:0,largesmp:0,anywher:0,try_crashdump:0,"0000000000000e86":0,socket_port:0,present:0,"case":0,therefor:0,look:0,rbx:0,solid:0,mount:0,rbp:0,defin:0,abov:0,error:0,"101f21efb20":0,ffffffff8047a0b0:0,timefram:0,site:0,rip:0,destin:[],call_function_interrupt:0,archiv:0,uncom:[],cherrypi:0,fedorahost:0,sever:0,mako:0,fedora:[],author:0,media:0,same:0,binari:0,timestamp:0,complet:0,http:0,x86:0,someon:0,temporari:[],user:0,"500gb":0,overs:0,stack:0,task:0,older:0,entri:0,do_invalid_op:0,exampl:0,command:0,thi:0,filesystem:0,gzip:0,everyth:0,latest:0,regextyp:0,protocol:0,execut:0,tip:0,workdirectori:0,heavili:0,previous:0,web:0,samba:0,except:0,valid:[],schedul:0,match:0,bin:0,applic:0,format:0,read:0,kmem:0,debuglevel:0,smtphost:0,mod:0,"1000107bfa0":0,resid:0,like:0,specif:0,anyon:0,manual:0,resolv:0,server:0,collect:[],necessari:0,either:0,"101f21efb60":0,"101f21efc40":0,output:0,page:[],old:0,some:0,back:0,gfs_quotad:0,proper:0,librari:0,tmp:0,assum:0,ffffffff80529f08:0,exit:0,localhost:0,machin:0,intial:0,who:0,run:0,reach:0,usag:0,host:0,prerequisit:0,src:0,prove:0,unnecessari:[],primarili:0,within:0,automat:0,down:0,"101f21efb50":0,strip:[],chang:0,start_disk_dump:0,storag:0,git:0,rcx:0,log:0,wai:0,area:0,transfer:[],support:0,question:[],"long":0,avail:0,interfac:0,includ:0,suit:[],"var":0,rhel:0,analysi:0,properli:0,simplejson:0,pwd:0,sqlalchemi:0,link:[],line:0,analyst:0,info:0,commun:0,made:0,possibl:0,"default":0,checkout:0,below:0,ffffffff80111c90:0,otherwis:0,problem:0,similar:0,epel:0,featur:0,certain:0,dure:0,pid:0,doesn:0,incomplet:0,exist:[],file:0,cvzf:0,fill:0,bzip2:0,"00000100f57cb030":0,when:0,workhors:[],other:0,ffffffff8010e7a9:0,you:0,architectur:0,corefil:0,benefici:0,autopurg:0,ffffffff80529fb8:0,stoke:0,directori:0,descript:0,adam:0,time:0,ffffffff8010e81c:0,rpmfilter:0,cpu:0},titles:["Core
Analysis System"],modules:{},descrefs:{},filenames:["index"]})
\ No newline at end of file
+Search.setIndex({desctypes:{},terms:{all:0,queri:0,global:0,mnt:0,mydomain:0,ffffffff8011d191:0,snip:0,abil:0,follow:0,disk:0,depend:0,do_dlm_lock:0,descript:0,present:0,under:0,aris:0,worth:0,sent:0,namevirtualhost:0,r14:0,r15:0,r12:0,r13:0,r10:0,r11:0,faq:0,ffffffff8010e789:0,vmcore:0,upstream:0,ticket:0,relev:0,administr:0,level:0,die:0,list:0,prepar:0,pleas:0,x86_64:0,intial:0,direct:0,regexexcludedir:0,download:0,further:0,rbp:0,port:0,what:0,sub:0,section:0,abl:0,access:0,version:0,hostkei:0,autogener:0,gener:0,here:0,httpd_can_network_connect:0,serveradmin:0,address:0,path:0,along:0,sinc:0,valu:0,ffffffff80110bf5:0,box:0,search:0,errorlog:0,rdx:0,datetim:0,amount:0,typic:0,rdi:0,smp_call_function_interrupt:0,chanc:0,"0000010001073f48":0,via:0,prerequisit:0,solut:[],modul:0,prefer:[],crash_32:0,filenam:0,id_dsa:0,instal:0,txt:0,regex:0,from:0,describ:0,would:[],memori:0,doubl:0,visit:0,two:[],next:[],few:[],usr:0,recommend:0,type:0,tell:0,more:0,sort:0,wrapper:0,share:0,proxypass:0,relat:0,ffffffff803e9b80:0,"1tb":0,must:0,syntaxess:[],none:0,retriev:0,hous:[],setup:0,work:0,uniqu:[],can:0,root:0,control:0,regexexcludefil:0,sqlite:0,cherrypi:0,tar:0,give:0,process:0,smtp:0,accept:0,customlog:0,want:0,occur:0,multipl:0,anoth:0,snippet:0,how:0,error_exit:0,purg:0,verifi:0,negoti:0,perspect:0,ffffffff80528000:0,resourc:0,passwordless:0,"00000102000a4780":0,clone:0,reflect:[],access_log:0,mai:0,associ:0,physic:0,man:0,essenti:0,exclud:0,issu:0,inform:0,environ:0,allow:0,media:0,untest:0,order:0,help:0,over:0,rang:0,i386:0,through:0,hierarchi:0,flexibl:0,paramet:0,write:0,"100f57cb030":0,fix:0,ellargesmp:0,bin:0,mail:0,main:0,alter:0,crash:0,thei:0,python:0,auto:0,overal:0,dai:0,initi:0,"break":0,mention:0,itanium:0,now:[],introduct:[],multiprocess:0,name:0,anyth:0,edit:[],troubleshoot:0,authent:0,kern:0,each:0,debug:0,mean:0,continu:0,backport:0,happen:0,extract:0,buffers:0,out:0,ftp:0,shown:0,network:0,ffffffff8014cc1d:0,dss:0,content:0,suitabl:0,fffffffffffffffa:0,dsa:0,proxi:0,advanc:0,orig_rax:0,given:0,base:0,releas:0,org:0,ffffffff80110e1d:0,traceback:0,keep:0,vmlinux:0,thing:0,yum:[],isn:0,assign:0,first:[],origin:0,major:0,onc:0,number:0,capac:0,swapper:0,instruct:0,done:0,least:0,rflag:0,differ:[],script:0,data:0,interact:0,ifmodul:0,system:0,messag:0,attach:[],ffffffff80112058:0,statement:0,ffffffff8047a0a0:0,"final":[],store:0,includ:0,shell:0,option:0,debuginfo:0,tool:0,copi:0,specifi:0,"var":0,task:0,mod_proxi:0,checkout:0,exactli:0,rsp:0,than:0,provid:0,urlgrabb:0,older:0,see:0,structur:0,posix:0,boil:0,stale:0,analysi:0,badfil:0,pass:0,ani:0,packag:0,have:0,documentroot:0,need:0,"101f3658030":0,rax:0,rsi:0,date:0,bz2:0,lib:0,self:0,note:0,also:0,exampl:0,build:0,which:0,begin:0,normal:0,buffer:0,glob:0,previou:0,compress:0,most:0,regular:0,deploi:0,"101f21efb80":0,gather:0,deni:0,place:0,determin:0,databas:0,latest:0,show:[],text:[],syntax:0,permiss:0,protocol:0,fine:0,find:0,current:0,onli:0,locat:0,configur:0,apach:0,enough:0,should:0,analyz:0,casadmin:0,local:0,variou:0,cvjf:0,express:0,autom:0,repo:0,mainten:0,ssh:0,requir:0,enabl:0,organ:0,error_log:0,cleanli:0,common:0,contain:0,where:0,view:0,wiki:0,kernel:0,set:0,dump:0,"10001073f48":0,emac:0,result:0,arg:[],fail:0,setsebool:0,subject:0,ffffffffa03183ff:0,detect:0,purgelimit:0,extend:0,irq:0,someth:0,state:0,between:0,progress:0,approach:0,email:0,altern:0,assumpt:0,kei:0,cpu_idl:0,default_idl:0,job:0,come:0,tue:0,addit:0,last:0,admin:0,fault:0,howev:0,etc:0,instanc:0,mani:0,corrupt:0,com:0,improp:0,load:0,simpli:0,point:0,overview:0,featur:0,framework:[],"1000107bfb0":0,rpm:0,casus:0,coredump:0,been:[],mark:0,compon:0,much:0,sshkei:0,popul:0,quickli:0,largesmp:0,anywher:0,try_crashdump:0,"0000000000000e86":0,socket_port:0,those:0,"case":0,therefor:0,look:0,rbx:0,solid:0,mount:0,keygen:0,defin:0,abov:0,error:0,exist:[],"101f21efb20":0,ffffffff8047a0b0:0,timefram:0,site:0,rip:0,destin:[],call_function_interrupt:0,archiv:0,uncom:[],conf:0,fedorahost:0,sever:0,mako:0,fedora:[],author:0,suggest:0,same:0,binari:0,timestamp:0,complet:0,http:0,x86:0,someon:0,temporari:[],user:0,"500gb":0,engin:0,overs:0,stack:0,appropri:0,"10001073e98":0,entri:0,do_invalid_op:0,page:[],client:0,command:0,thi:0,filesystem:0,gzip:0,everyth:0,usual:0,regextyp:0,identifi:0,execut:0,when:0,workdirectori:0,heavili:0,previous:0,web:0,samba:0,except:0,other:0,simplejson:0,schedul:0,match:0,opt:[],applic:0,format:0,read:0,kmem:0,debuglevel:0,smtphost:0,mod:0,"1000107bfa0":0,resid:0,like:0,specif:0,anyon:0,manual:0,resolv:0,server:0,collect:[],necessari:0,either:0,"101f21efb60":0,"101f21efc40":0,output:0,unnecessari:[],www:0,old:0,some:0,back:0,gfs_quotad:0,proper:0,librari:0,tmp:0,assum:0,ffffffff80529f08:0,exit:0,localhost:0,proxypassrevers:0,machin:0,core:0,who:0,run:0,reach:0,proxyrequest:0,usag:0,vhost:0,host:0,repositori:0,src:0,prove:0,unfortun:0,primarili:0,within:0,automat:0,down:0,"101f21efb50":0,strip:[],chang:0,start_disk_dump:0,storag:0,git:0,rcx:0,log:0,wai:0,area:0,transfer:[],support:0,question:[],"long":0,avail:0,interfac:0,editor:[],suit:[],hassl:0,rhel:0,"function":0,properli:0,form:0,pwd:0,sqlalchemi:0,link:[],line:0,analyst:0,info:0,commun:0,made:0,possibl:0,"default":0,wish:0,below:0,ffffffff80111c90:0,otherwis:0,problem:0,similar:0,epel:0,later:[],certain:0,dure:0,pid:0,doesn:0,incomplet:0,selinux:0,file:0,cvzf:0,fill:0,bzip2:0,"00000100f57cb030":0,tip:0,workhors:[],valid:[],ffffffff8010e7a9:0,you:0,servernam:0,architectur:0,corefil:0,benefici:0,autopurg:0,ffffffff80529fb8:0,stoke:0,directori:0,virtualhost:0,adam:0,time:0,ffffffff8010e81c:0,rpmfilter:0,cpu:0},titles:["Core
Analysis System"],modules:{},descrefs:{},filenames:["index"]})
\ No newline at end of file