<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_bmx_vhost - Apache HTTP Server Version 2.4</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>

<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
<p class="apache">Apache HTTP Server Version 2.4</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Apache Module mod_bmx_vhost</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_bmx_vhost.html" title="English">&nbsp;en&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Basic Management Extension (BMX) virtual host summary</td></tr>
<tr><th><a href="module-dict.html#Status">Status:</a></th><td>External</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>bmx_vhost_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_bmx_vhost.c</td></tr>
<tr><th><a href="module-dict.html#Compatibility">Compatibility:</a></th><td>Apache 2.0 and higher</td></tr></table>
<h3>Summary</h3>

    <p>The <code class="module"><a href="../mod/mod_bmx_vhost.html">mod_bmx_vhost</a></code> module provides operational tallies
    of activity in each specific virutal host, and aggregates these tallies
    for the entire server.</p>
 
    <p>The <code class="module"><a href="../mod/mod_bmx.html">mod_bmx</a></code> module is the core BMX module and 
    must be loaded in order to support any BMX plugins. It provides the
    base functionality for satisfying BMX queries. For basic configuration
    and use of <code class="module"><a href="../mod/mod_bmx.html">mod_bmx</a></code> and the plugin modules, refer to
    that module's manual page.</p>
  </div>
<div id="quickview"><h3>Topics</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#output">mod_bmx_vhost output fields</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#bmxvhostdbmfilename">BMXVHostDBMFilename</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#bmxvhostlockfilename">BMXVHostLockFilename</a></li>
</ul>
<h3>See also</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_bmx.html">mod_bmx</a></code></li>
<li><code class="module"><a href="../mod/mod_bmx_status.html">mod_bmx_status</a></code></li>
</ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="output" id="output">mod_bmx_vhost output fields</a></h2>
    
    <p>The resulting fields in the mod_bmx_vhost output will appear as;</p>
    <pre class="prettyprint lang-json">Name: mod_bmx_vhost:Type=forever,Host=example.com,Port=80
InBytesGET: 0
InBytesHEAD: 0
InBytesPOST: 0
InBytesPUT: 0
InRequestsGET: 27
InRequestsHEAD: 0
InRequestsPOST: 0
InRequestsPUT: 0
OutBytes200: 82438
OutBytes301: 0
OutBytes302: 0
OutBytes401: 0
OutBytes403: 212
OutBytes404: 418
OutBytes500: 1052
OutResponses200: 21
OutResponses301: 0
OutResponses302: 0
OutResponses401: 0
OutResponses403: 1
OutResponses404: 2
OutResponses500: 2
InLowBytes: 0
OutLowBytes: 85547
InRequests: 36
OutResponses: 36
StartDate: Tuesday, 17-Nov-2015 10:54:29 CST
StartTime: 1447779269518665
StartElapsed: 17484569829</pre>

    <p>The available record types include the 'forever' (since the cache file
    was last manually purged), 'since-start' and 'since-restart' tallies.</p>

    <p>The available Host and Port will also include grand total summary
    <code>Host:_GLOBAL_,Port=_ANY_</code> records.  Be aware that the 
    specific Port number for individual virtual hosts will only display
    correctly if all <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> directives
    specify the port number (e.g. <code>ServerName example.com:80</code>),
    and will otherwise display a generic value, e.g. 
    <code>Host=example.com,Port=_ANY_</code>.</p>
  </div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="BMXVHostDBMFilename" id="BMXVHostDBMFilename">BMXVHostDBMFilename</a> <a name="bmxvhostdbmfilename" id="bmxvhostdbmfilename">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Name of the inter-process virtual host activity tally</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BMXVHostLockFilename <em>file</em></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>BMXVHostLockFilename logs/bmx_vhost1.db</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_bmx_vhost</td></tr>
</table>
      <p>This configures the storage file for the global/inter-process
      BMX virtual host activity summary table.  This is necessary because
      multiple threads across multiple processes are satisfying requests
      in parallel against all of the virtual hosts, and the purpose of
      <code class="module"><a href="../mod/mod_bmx_vhost.html">mod_bmx_vhost</a></code> is to summarize the activity across
      all of these individual worker threads.</p>

      <p>This makes use of a DBM hash file which must be stored on local disk
      to sum the activity of each specific virtual host on a since-restart,
      since-start and 'forever' state (until this DBM accumulator file is
      manually purged).</p>

      <div class="example"><h3>Example</h3><p><code>
        BMXVHostDBMFilename /var/cache/httpd/bmx_vhost_activity<br />
      </code></p></div>

      <p>The default filename includes the digit '1' to designate that the
      file structure has changed since prior releases of mod_bmx. In the
      future, the authors expect to update that default to reflect a further
      change in data collection format. If a custom file name is specified,
      users are cautioned to purge the collection file during an upgrade of
      mod_bmx_vhost, or the accumulated 'forever' results may be either
      meaningless or can potentially cause the server to segfault.</p>
    
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="BMXVHostLockFilename" id="BMXVHostLockFilename">BMXVHostLockFilename</a> <a name="bmxvhostlockfilename" id="bmxvhostlockfilename">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Semaphore for serializing access to the BMXVHostDBM file</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>BMXVHostLockFilename <em>filename</em></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>BMXVHostLockFilename logs/bmx_vhost1.db.lock</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>External</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_bmx_vhost</td></tr>
</table>
      <p>This configures the BMX vhost engine's file lock which is used for
      serializing access to the BMXVHostDBM file, and ensure that each record
      updated correctly tallies the work performed by all concurrent worker
      threads and processes. This directive can only be used in the global
      server context because it's only useful to have one global mutex.</p>

      <p>A portable physical (lock-)file and the <code>flock()</code> or
      <code>fcntl()</code> function are used as the Mutex, depending on the
      specific platform. Always use a local disk filesystem for
      <code>/path/to/mutex</code> and never a file residing on a NFS- or
      AFS-filesystem.</p>

      <div class="example"><h3>Example</h3><p><code>
          BMXVHostLockFilename /var/lock/httpd/bmx_vhost.lock
      </code></p></div>
    
</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_bmx_vhost.html" title="English">&nbsp;en&nbsp;</a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_bmx_vhost.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else { 
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2015 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>