Sophie

Sophie

distrib > Fedora > 17 > i386 > media > updates > by-pkgid > b50d8ee6d7871fcc13c0677a9364ed59 > files > 409

bcfg2-doc-1.3.0-1.fc17.noarch.rpm



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Bcfg2 Web Reporting System &mdash; Bcfg2 1.3.0 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.3.0',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="../_static/sidebar.js"></script>
    <link rel="shortcut icon" href="../_static/favicon.ico"/>
    <link rel="top" title="Bcfg2 1.3.0 documentation" href="../index.html" />
    <link rel="up" title="The Bcfg2 Reporting System" href="index.html" />
    <link rel="next" title="Bcfg2 Development" href="../development/index.html" />
    <link rel="prev" title="Bcfg2 Static Reporting System" href="static.html" />
 
<link rel="stylesheet" href="../_static/bcfg2.css" type=""/>

  </head>
  <body>

<div style="text-align: left; padding: 10px 10px 15px 15px">
<a href="../index.html"><img src="../_static/bcfg2_logo.png" border="0" alt="sampledoc"/></a>
</div>

    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="../development/index.html" title="Bcfg2 Development"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="static.html" title="Bcfg2 Static Reporting System"
             accesskey="P">previous</a> |</li>
	<li><a href="../index.html">home</a> |&nbsp;</li>
	<!--<li><a href="../search.html">search</a> |&nbsp;</li>-->
	<li><a href="../help/index.html">help</a> |&nbsp;</li>
	<li><a href="../contents.html">documentation </a> &raquo;</li>

          <li><a href="../contents.html" >Bcfg2 documentation 1.3.0</a> &raquo;</li>
          <li><a href="index.html" accesskey="U">The Bcfg2 Reporting System</a> &raquo;</li> 
      </ul>
    </div>
  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="bcfg2-web-reporting-system">
<span id="reports-dynamic"></span><h1>Bcfg2 Web Reporting System<a class="headerlink" href="#bcfg2-web-reporting-system" title="Permalink to this headline">¶</a></h1>
<div class="section" id="summary-and-features">
<h2>Summary and Features<a class="headerlink" href="#summary-and-features" title="Permalink to this headline">¶</a></h2>
<p>The new reporting system was implemented to address a number of
deficiencies in the previous system. By storing statistics data in a
relational database, we are now able to view and analyze more information
about the state of the configuration, including information about previous
configuration. Specific features in the new system include:</p>
<ul class="simple">
<li>The ability to look at a <a class="reference internal" href="#reports-calendar-summary"><em>Calendar Summary</em></a> with past
statistics information.</li>
<li>More recent data concerning hosts.</li>
<li>Additional information display in reports. Primarily, reasons for
<a class="reference internal" href="#reports-item-detail"><em>configuration item verification failure</em></a>
are now accessible.</li>
<li>Instead of static pages, pages are generated on the fly, allowing
users to drill down to find out about a <a class="reference internal" href="#reports-client-detail"><em>specific host</em></a>, rather than only having one huge page with
too much information.</li>
</ul>
</div>
<div class="section" id="installation">
<h2>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h2>
<div class="section" id="quickstart">
<h3>Quickstart<a class="headerlink" href="#quickstart" title="Permalink to this headline">¶</a></h3>
<p><a class="reference internal" href="../appendix/guides/web-reports-install.html#appendix-guides-web-reports-install"><em>Web Reporting Quickstart</em></a></p>
</div>
<div class="section" id="prerequisites">
<h3>Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
<li>sqlite3</li>
<li>pysqlite2 (if using python 2.4)</li>
<li><a class="reference external" href="http://www.djangoproject.com">Django</a> &gt;= 1.2</li>
<li>mod-wsgi</li>
</ul>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p class="last">There is a known issue when using an sqlite database on an ext4
filesystem. You will want to remount the filesystem without barriers
(-o barrier=0) in order to speed up the operations of the database.
For more information, please see
<a class="reference external" href="http://phoronix-test-suite.com/pipermail/trondheim-pts_phoronix-test-suite.com/2009-March/000095.html">http://phoronix-test-suite.com/pipermail/trondheim-pts_phoronix-test-suite.com/2009-March/000095.html</a>.</p>
</div>
</div>
<div class="section" id="install">
<h3>Install<a class="headerlink" href="#install" title="Permalink to this headline">¶</a></h3>
<p>Be sure to include the specified fields included in the example
<tt class="docutils literal"><span class="pre">bcfg2.conf</span></tt> file. These can be specified in either <tt class="docutils literal"><span class="pre">/etc/bcfg2.conf</span></tt>,
if it is readable by the webserver user, or <tt class="docutils literal"><span class="pre">/etc/bcfg2-web.conf</span></tt>. Any
database supported by <a class="reference external" href="http://www.djangoproject.com">Django</a> can be used.
As of version 1.3, <a class="reference external" href="http://south.aeracode.org">South</a> is used to control
schema changes.  If your database is not supported by South, any updates
will need to be applied manually.  Sqlite is configured by default.
Please see the <a class="reference internal" href="#reporting-databases"><em>database</em></a> section to configure alternative
databases.</p>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p class="last">If you are using an sqlite database, the directory containing the
database file will need to be writable by the web server. The reason
for this is that sqlite will create another file for its journal
when it tries to update the database file.</p>
</div>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">Distributed environments can share a single remote database for
reporting.</p>
</div>
<p>After configuring your database be sure to run <cite>bcfg2-admin reports init</cite>
to create the schema.</p>
<p>To enable statistics collection in the bcfg2-server, add
<a class="reference internal" href="../server/plugins/statistics/reporting.html#server-plugins-statistics-reporting"><em>Reporting</em></a> to the <strong>plugins</strong>
line in your <tt class="docutils literal"><span class="pre">bcfg2.conf</span></tt> and restart the bcfg2-server.  A report collecting
daemon should be run to import the collected statistics into the backend.
Please see the section <a class="reference internal" href="#report-collector"><em>Report Collector</em></a> for more
information.</p>
<p>Detailed installation instructions can be found <a class="reference internal" href="../appendix/guides/web-reports-install.html#appendix-guides-web-reports-install"><em>here</em></a>.</p>
</div>
<div class="section" id="apache-configuration-for-web-based-reports">
<span id="dynamic-http-install"></span><h3>Apache configuration for web-based reports<a class="headerlink" href="#apache-configuration-for-web-based-reports" title="Permalink to this headline">¶</a></h3>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p>Reports no longer needs to be installed at the root URL for a given
host. Therefore, reports no longer require their own virtual host.</p>
<p class="last">In order to make this work, you will need to specify your web prefix
by adding a <strong>web_prefix</strong> setting in the [statistics] section of
your <tt class="docutils literal"><span class="pre">bcfg2.conf</span></tt>.</p>
</div>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p>When running with SELINUX enabled, you can have potential problems
with the WSGISocketPrefix. One solution that works without too much
trouble is modifying your prefix so that it is located in a standard
location:</p>
<div class="last highlight-python"><div class="highlight"><pre><span class="n">WSGISocketPrefix</span> <span class="o">/</span><span class="n">var</span><span class="o">/</span><span class="n">run</span><span class="o">/</span><span class="n">httpd</span><span class="o">/</span><span class="n">wsgi</span>
</pre></div>
</div>
</div>
<p>An example site config is included below:</p>
<div class="highlight-python"><pre>&lt;IfModule mod_wsgi.c&gt;
  #
  # Read an alternate configuration file
  #
  # SetEnv BCFG2_CONFIG_FILE /etc/bcfg2_testing.conf

  #
  # If the root is changed update the static content alias as well
  #
  WSGIScriptAlias /bcfg2 "/usr/share/bcfg2/reports.wsgi"

  WSGISocketPrefix run
  WSGIDaemonProcess Bcfg2.Server.Reports processes=1 threads=10
  WSGIProcessGroup Bcfg2.Server.Reports

  #
  # Manually set this to override the static content
  #
  #SetEnv bcfg2.media_url /bcfg2/site_media/

  #
  # This should have the same prefix as WSGIScriptAlias
  #
  Alias "/bcfg2/site_media/" "/usr/share/bcfg2/site_media/"
  &lt;Directory "/usr/share/bcfg2/site_media/"&gt;
    Options None
    AllowOverride None
    order deny,allow
    deny from all
    allow from 127.0.0.1
  &lt;/Directory&gt;
&lt;/IfModule&gt;</pre>
</div>
<p>This configuration is suitable for use with the default installation
from an RPM or deb package.</p>
<p>At this point you should be able to point your web browser to
<a class="reference external" href="http://localhost/bcfg2">http://localhost/bcfg2</a> and see the new reports.</p>
</div>
</div>
<div class="section" id="upgrading">
<h2>Upgrading<a class="headerlink" href="#upgrading" title="Permalink to this headline">¶</a></h2>
<ol class="arabic">
<li><p class="first">Convert database config</p>
<blockquote>
<div><p>Run <cite>tools/upgrade/1.3/migrate_configs.py</cite></p>
<p>Beginning with 1.3 the database configuration moved from [statistics] to
[database] in <cite>bcfg2.conf</cite> and <cite>bcfg2-web.conf</cite>.  The old settings will
be accepted but a deprecation warning will be displayed.</p>
</div></blockquote>
</li>
<li><p class="first">Replace the DBStats plugin with the Reporting plugin.</p>
</li>
<li><dl class="first docutils">
<dt>Migrate historic data.</dt>
<dd><p class="first">Run <cite>tools/upgrade/1.3/migrate_dbstats.py</cite></p>
<p class="last">The reporting schema is now managed using <a class="reference external" href="http://south.aeracode.org">South</a>
instead of a set of custom scripts. This creates the new schema and imports
all of the historic data to the new format.</p>
</dd>
</dl>
</li>
</ol>
<ol class="arabic" start="4">
<li><dl class="first docutils">
<dt><cite>(Optional)</cite> Run the <a class="reference internal" href="#report-collector"><em>Report Collector</em></a></dt>
<dd><p class="first last">Add &#8220;transport = LocalFilesystem&#8221; under &#8220;[reporting]&#8221; in <cite>bcfg2.conf</cite>.
Restart the bcfg2-server and start the bcfg2-report-collector.</p>
</dd>
</dl>
</li>
</ol>
</div>
<div class="section" id="configuring">
<h2>Configuring<a class="headerlink" href="#configuring" title="Permalink to this headline">¶</a></h2>
<p>Most of the configuration is handled through the <tt class="docutils literal"><span class="pre">/etc/bcfg2.conf</span></tt> or alternatively
<tt class="docutils literal"><span class="pre">/etc/bcfg2-web.conf</span></tt>.</p>
<p>An example using the defaults is listed below:</p>
<div class="highlight-python"><pre>[database]
engine = sqlite3
name = '/var/lib/bcfg2/etc/bcfg2.sqlite'
user =
password =
host =
port =

[statistics]
config = /etc/bcfg2-web.conf
time_zone =
web_debug = False

[reporting]
transport = DirectStore
web_prefix =
file_limit = 1m</pre>
</div>
<div class="section" id="configuration-sections">
<h3>Configuration Sections<a class="headerlink" href="#configuration-sections" title="Permalink to this headline">¶</a></h3>
<div class="section" id="database">
<span id="reporting-databases"></span><h4>database<a class="headerlink" href="#database" title="Permalink to this headline">¶</a></h4>
<p>If you choose to use a different database, you&#8217;ll need to edit
<tt class="docutils literal"><span class="pre">/etc/bcfg2.conf</span></tt>. These fields should be updated in the [database]
section:</p>
<ul class="simple">
<li>engine<ul>
<li>ex: engine = mysql</li>
<li>ex: engine = postgresql_psycopg2</li>
</ul>
</li>
<li>name</li>
<li>user</li>
<li>password</li>
<li>host</li>
<li>port (optional)</li>
</ul>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p class="last">If mysql is used as a backend, it is recommended to use InnoDB for
the <a class="reference external" href="http://dev.mysql.com/doc/refman/5.1/en/storage-engine-setting.html">storage engine</a>.</p>
</div>
</div>
<div class="section" id="statistics">
<h4>statistics<a class="headerlink" href="#statistics" title="Permalink to this headline">¶</a></h4>
<ul class="simple">
<li>config: The config file to be read for additional reporting
data.  This is used to restrict what can be read by the web
server.</li>
<li>time_zone: The django TIME_ZONE settings parameter.</li>
<li>web_debug: Set Django&#8217;s DEBUG and TEMPLATE_DEBUG settings. This
is known to cause memory leaks.  Use with caution!</li>
</ul>
</div>
<div class="section" id="reporting">
<h4>reporting<a class="headerlink" href="#reporting" title="Permalink to this headline">¶</a></h4>
<ul class="simple">
<li>transport: See <a class="reference internal" href="#dynamic-transports"><em>Transports</em></a>.</li>
<li>web_prefix: Prefix to be added to Django&#8217;s MEDIA_URL</li>
<li>file_limit: The maximum size of a diff or binary data to
store in the database.</li>
</ul>
</div>
</div>
<div class="section" id="statistics-transports">
<span id="dynamic-transports"></span><h3>Statistics Transports<a class="headerlink" href="#statistics-transports" title="Permalink to this headline">¶</a></h3>
<p>A transport is required to pass the data collected from the bcfg2-server
to the bcfg2-report-collector.  At the time of this writing two transports
are available:</p>
<ul class="simple">
<li>LocalFilesystem: Statistics are written to the local file system and collected
on the local machine.</li>
<li>RedisTransport: Statistics are sent through a list in redis.</li>
<li>DirectStore: DBStats style threaded imports in the main server process.</li>
</ul>
<p>Future transports will allow multiple servers to pass data to a single or multiple
bcfg2-report-collector processes.  New installations default to and should use the
LocalFilesystem transport.  Upgrades will use DirectStore by default in the 1.3
release.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">If DirectStore is used, the bcfg2-report-collector process will refuse to run
since this method is not compatible with an external process.</p>
</div>
<div class="section" id="redistransport">
<h4>RedisTransport<a class="headerlink" href="#redistransport" title="Permalink to this headline">¶</a></h4>
<p>This transport uses a single redis instance for communication between bcfg2-server and
bcfg2-report-collector.  Multiple servers can write to a single redis instance and multiple
report collectors may be run as well.</p>
<p>An example configuration with the default values:</p>
<div class="highlight-python"><pre>[reporting]
transport = RedisTransport
redis_host = 127.0.0.1
redis_port = 6379
redis_db = 0</pre>
</div>
<p>bcfg2-admin commands operate slightly differently in this mode.  Instead of querying the
database directly, rpc commands are issued to the report collectors.  This only affects
the minestruct and pull commands.</p>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p class="last">At the time of this writing the version of python-redis in EPEL is too old to use with
this transport.  Current versions of the python-redis package require python &gt;= 2.5.</p>
</div>
</div>
</div>
</div>
<div class="section" id="usage">
<h2>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h2>
<div class="section" id="report-collector-daemon">
<span id="report-collector"></span><h3>Report Collector daemon<a class="headerlink" href="#report-collector-daemon" title="Permalink to this headline">¶</a></h3>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">This section does not apply when the DirectStore transport is used.</p>
</div>
<p>The bcfg2-report-collector gathers statistics from the bcfg2-server process
and records them in the backend database.</p>
<p>Options are similar to the bcfg2-server daemon:</p>
<div class="highlight-python"><pre>-D &lt;pidfile&gt;                 Daemonize process, storing pid
-o &lt;path&gt;                    Set path of file log
-h                           Print this usage message
-E &lt;encoding&gt;                Encoding of cfg files
-W &lt;conffile&gt;                Web interface configuration file
-Q &lt;repository path&gt;         Server repository path
-C &lt;conffile&gt;                Specify configuration file
--version                    Print the version and exit
-d                           Enable debugging output
-v                           Enable verbose output</pre>
</div>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">The bcfg2-report-collector is not set to start by default</p>
</div>
</div>
<div class="section" id="bcfg2-admin-reports-command-line-script">
<h3>bcfg2-admin reports (command line script)<a class="headerlink" href="#bcfg2-admin-reports-command-line-script" title="Permalink to this headline">¶</a></h3>
<p>The bcfg2-admin tool provides management and maintenance capabilities for
the reporting database.  A few useful <a class="reference external" href="http://www.djangoproject.com">Django</a>
commands are provided as well.</p>
<ul class="simple">
<li>init: Initialize a new database</li>
<li>update: Apply any updates to the reporting database. Unlike the syncdb
command, this will modify existing tables.</li>
<li>purge: Removes unwanted clients and data.<ul>
<li>-c &#8211;client [client name] - Remove interactions from a single client.</li>
<li>&#8211;expired - Remove all data for expired clients.  &#8211;days is used to exclude
clients expired within n days.</li>
<li>&#8211;days [n] - Remove interactions older then n days.  If not used with any
other modifiers, all data older then n days is removed.</li>
</ul>
</li>
<li>scrub: Scrub the database for any orphaned objects.</li>
</ul>
<div class="section" id="django-commands">
<h4>Django commands<a class="headerlink" href="#django-commands" title="Permalink to this headline">¶</a></h4>
<ul class="simple">
<li>dbshell:  Connects to the backend database.</li>
<li>shell:  Starts an interactive python shell with the Django environment setup.</li>
<li>sqlall:  Print the sql statements used to create the database.</li>
<li>validate:  Validate the database against the current models.</li>
</ul>
</div>
</div>
<div class="section" id="bcfg2-reports-command-line-script">
<h3>bcfg2-reports (command line script)<a class="headerlink" href="#bcfg2-reports-command-line-script" title="Permalink to this headline">¶</a></h3>
<p>bcfg2-reports allows you to retrieve data from the database about clients,
and the states of their current interactions. It also allows you to
change the expired/unexpired states.</p>
<p>The utility runs as a standalone application. It does, however, use the
models from <tt class="docutils literal"><span class="pre">/src/lib/Server/Reports/reports/models.py</span></tt>.</p>
<p>A number of different options can be used to change what bcfg2-reports
displays:</p>
<div class="highlight-python"><pre>Usage: python bcfg2-reports [option] ...

Options and arguments (and corresponding environment variables):
-a                        : shows all hosts, including expired hosts
-b NAME                   : single-host mode - shows bad entries from the
                            current interaction of NAME
-c                        : shows only clean hosts
-d                        : shows only dirty hosts
-e NAME                   : single-host mode - shows extra entries from the
                            current interaction of NAME
-h                        : shows help and usage info about bcfg2-reports
-m NAME                   : single-host mode - shows modified entries from the
                            current interaction of NAME
-s NAME                   : single-host mode - shows bad, modified, and extra
                            entries from the current interaction of NAME
-t NAME                   : single-host mode - shows total number of managed and
                            good entries from the current interaction of NAME
-x NAME                   : toggles expired/unexpired state of NAME
--badentry=KIND,NAME      : shows only hosts whose current interaction has bad
                            entries in of KIND kind and NAME name; if a single
                            argument ARG1 is given, then KIND,NAME pairs will be
                            read from a file of name ARG1
--modifiedentry=KIND,NAME : shows only hosts whose current interaction has
                            modified entries in of KIND kind and NAME name; if a
                            single argument ARG1 is given, then KIND,NAME pairs
                            will be read from a file of name ARG1
--extraentry=KIND,NAME    : shows only hosts whose current interaction has extra
                            entries in of KIND kind and NAME name; if a single
                            argument ARG1 is given, then KIND,NAME pairs will be
                            read from a file of name ARG1
--fields=ARG1,ARG2,...    : only displays the fields ARG1,ARG2,...
                            (name,time,state,total,good,bad)
--sort=ARG1,ARG2,...      : sorts output on ARG1,ARG2,...
                            (name,time,state,total,good,bad)
--stale                   : shows hosts which haven't run in the last 24 hours</pre>
</div>
</div>
</div>
<div class="section" id="screenshots">
<h2>Screenshots<a class="headerlink" href="#screenshots" title="Permalink to this headline">¶</a></h2>
<div class="section" id="grid-overview">
<h3>Grid Overview<a class="headerlink" href="#grid-overview" title="Permalink to this headline">¶</a></h3>
<img alt="Grid overview" src="../_images/GridView.png" style="width: 850px; height: 530px;" />
</div>
<div class="section" id="detailed-overview">
<h3>Detailed Overview<a class="headerlink" href="#detailed-overview" title="Permalink to this headline">¶</a></h3>
<img alt="Detailed overview" src="../_images/DetailedView.png" style="width: 850px; height: 530px;" />
</div>
<div class="section" id="calendar-summary">
<span id="reports-calendar-summary"></span><h3>Calendar Summary<a class="headerlink" href="#calendar-summary" title="Permalink to this headline">¶</a></h3>
<img alt="Calendar summary" src="../_images/CalView.png" style="width: 850px; height: 530px;" />
</div>
<div class="section" id="client-detail">
<span id="reports-item-detail"></span><h3>Client Detail<a class="headerlink" href="#client-detail" title="Permalink to this headline">¶</a></h3>
<img alt="Client detail" id="reports-client-detail" src="../_images/ClientDetail.png" style="width: 850px; height: 530px;" />
</div>
<div class="section" id="common-problems">
<h3>Common Problems<a class="headerlink" href="#common-problems" title="Permalink to this headline">¶</a></h3>
<img alt="Common configuration problems" src="../_images/CommonProblems.png" style="width: 850px; height: 530px;" />
</div>
<div class="section" id="item-listing">
<h3>Item Listing<a class="headerlink" href="#item-listing" title="Permalink to this headline">¶</a></h3>
<img alt="Item listing" src="../_images/BadListing.png" style="width: 850px; height: 530px;" />
</div>
<div class="section" id="item-detail">
<h3>Item Detail<a class="headerlink" href="#item-detail" title="Permalink to this headline">¶</a></h3>
<img alt="Item detail" src="../_images/ConfigItem.png" style="width: 850px; height: 530px;" />
</div>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
  <h3><a href="../index.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">Bcfg2 Web Reporting System</a><ul>
<li><a class="reference internal" href="#summary-and-features">Summary and Features</a></li>
<li><a class="reference internal" href="#installation">Installation</a><ul>
<li><a class="reference internal" href="#quickstart">Quickstart</a></li>
<li><a class="reference internal" href="#prerequisites">Prerequisites</a></li>
<li><a class="reference internal" href="#install">Install</a></li>
<li><a class="reference internal" href="#apache-configuration-for-web-based-reports">Apache configuration for web-based reports</a></li>
</ul>
</li>
<li><a class="reference internal" href="#upgrading">Upgrading</a></li>
<li><a class="reference internal" href="#configuring">Configuring</a><ul>
<li><a class="reference internal" href="#configuration-sections">Configuration Sections</a><ul>
<li><a class="reference internal" href="#database">database</a></li>
<li><a class="reference internal" href="#statistics">statistics</a></li>
<li><a class="reference internal" href="#reporting">reporting</a></li>
</ul>
</li>
<li><a class="reference internal" href="#statistics-transports">Statistics Transports</a><ul>
<li><a class="reference internal" href="#redistransport">RedisTransport</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#usage">Usage</a><ul>
<li><a class="reference internal" href="#report-collector-daemon">Report Collector daemon</a></li>
<li><a class="reference internal" href="#bcfg2-admin-reports-command-line-script">bcfg2-admin reports (command line script)</a><ul>
<li><a class="reference internal" href="#django-commands">Django commands</a></li>
</ul>
</li>
<li><a class="reference internal" href="#bcfg2-reports-command-line-script">bcfg2-reports (command line script)</a></li>
</ul>
</li>
<li><a class="reference internal" href="#screenshots">Screenshots</a><ul>
<li><a class="reference internal" href="#grid-overview">Grid Overview</a></li>
<li><a class="reference internal" href="#detailed-overview">Detailed Overview</a></li>
<li><a class="reference internal" href="#calendar-summary">Calendar Summary</a></li>
<li><a class="reference internal" href="#client-detail">Client Detail</a></li>
<li><a class="reference internal" href="#common-problems">Common Problems</a></li>
<li><a class="reference internal" href="#item-listing">Item Listing</a></li>
<li><a class="reference internal" href="#item-detail">Item Detail</a></li>
</ul>
</li>
</ul>
</li>
</ul>

  <h4>Previous topic</h4>
  <p class="topless"><a href="static.html"
                        title="previous chapter">Bcfg2 Static Reporting System</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="../development/index.html"
                        title="next chapter">Bcfg2 Development</a></p>
  <h3>This Page</h3>
  <ul class="this-page-menu">
    <li><a href="../_sources/reports/dynamic.txt"
           rel="nofollow">Show Source</a></li>
  </ul>
<div id="searchbox" style="display: none">
  <h3>Quick search</h3>
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="../development/index.html" title="Bcfg2 Development"
             >next</a> |</li>
        <li class="right" >
          <a href="static.html" title="Bcfg2 Static Reporting System"
             >previous</a> |</li>
	<li><a href="../index.html">home</a> |&nbsp;</li>
	<!--<li><a href="../search.html">search</a> |&nbsp;</li>-->
	<li><a href="../help/index.html">help</a> |&nbsp;</li>
	<li><a href="../contents.html">documentation </a> &raquo;</li>

          <li><a href="../contents.html" >Bcfg2 documentation 1.3.0</a> &raquo;</li>
          <li><a href="index.html" >The Bcfg2 Reporting System</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
        &copy; Copyright 2009-2013, Narayan Desai.
      Last updated on Mar 20, 2013.
      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
    </div>
  </body>
</html>