You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bu...@apache.org on 2013/08/13 15:31:49 UTC
svn commit: r874468 - in /websites/staging/sling/trunk/content: ./
documentation/bundles/sling-health-check-tool.html
Author: buildbot
Date: Tue Aug 13 13:31:49 2013
New Revision: 874468
Log:
Staging update by buildbot for sling
Modified:
websites/staging/sling/trunk/content/ (props changed)
websites/staging/sling/trunk/content/documentation/bundles/sling-health-check-tool.html
Propchange: websites/staging/sling/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Aug 13 13:31:49 2013
@@ -1 +1 @@
-1513475
+1513478
Modified: websites/staging/sling/trunk/content/documentation/bundles/sling-health-check-tool.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/sling-health-check-tool.html (original)
+++ websites/staging/sling/trunk/content/documentation/bundles/sling-health-check-tool.html Tue Aug 13 13:31:49 2013
@@ -90,8 +90,6 @@ check the health of live Sling systems,
information, Sling requests status, etc.</p>
<p>Health checks are easily extensible either by configuring the supplied default <code>HealthCheck</code> services, or
by implementing your own services. </p>
-<p>Default rules are provided to check JMX MBeans, OSGi bundle states, disabling of default Sling
-accounts, JUnit tests results and the output of scripts written in any language supported by Sling.</p>
<p>The source code of the hc modules is at <a href="http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/healthcheck">http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/healthcheck</a>.</p>
<h2 id="whats-a-healthcheck">What's a <code>HealthCheck</code> ?</h2>
<p>A <code>HealthCheck</code> is just an OSGi service that returns a <code>Result</code>.</p>
@@ -111,47 +109,50 @@ accounts, JUnit tests results and the ou
<p>The Result provides a <em>Status</em> (OK, WARN, CRITICAL etc.) and a human-readable log which provides additional info, including optional DEBUG messages
that help troubleshooting. The Result log is not stricly tied to a logging model, so <code>HealthCheck</code>s are free to invent their own types of logging messages
-if needed. See the <code>org.apache.sling.hc.api.Result</code> class in the for more details. </p>
-<p><code>HealthCheck</code> services can be selected for execution based on their <em>tags</em>. The <code>HealthCheckFilter</code> utility
-accepts positive and negative tag parameters, so that <code>-security,sling</code> for example selects all <code>HealthCheck</code>
-having the <em>sling</em> tag but not the <em>security</em> tag. </p>
-<h2 id="health-check-subsystem-bundles">Health Check subsystem bundles</h2>
-<p>The Health Check subsystem consists of the following bundles:</p>
+if needed. See the <code>org.apache.sling.hc.api.Result</code> class for more details. </p>
+<p><code>HealthCheck</code> services can be selected for execution based on their <code>hc.tags</code> multi-value service property. </p>
+<p>The <code>HealthCheckFilter</code> utility accepts positive and negative tag parameters, so that <code>-security,sling</code>
+selects all <code>HealthCheck</code> having the <code>sling</code> tag but not the <code>security</code> tag, for example.</p>
+<p>Besides executing them programatically, Health checks can be executed via a webconsole plugin or via JMX,
+as described below.</p>
+<h2 id="health-check-bundles">Health Check bundles</h2>
+<p>The Health Check subsystem consists of the following bundles, which are described below in more detail:</p>
<ul>
<li>The only required bundle is <code>org.apache.sling.hc.api</code> which provides the API and some utility classes.</li>
-<li><code>org.apache.sling.hc.healthchecks</code> provides default <code>HealthCheck</code> services, described below.</li>
-<li><code>org.apache.sling.hc.webconsole</code> provides the Webconsole plugin described below.</li>
+<li><code>org.apache.sling.hc.healthchecks</code> provides default <code>HealthCheck</code> services.</li>
+<li><code>org.apache.sling.hc.webconsole</code> provides the Webconsole plugin.</li>
<li><code>org.apache.sling.hc.jmx</code> provides JMX MBeans to execute <code>HealthCheck</code>s.</li>
<li><code>org.apache.sling.hc.samples</code> provides sample OSGi configurations that demonstrate the default <code>HealthCheck</code>s. These configurations are provided as Sling content, so the Sling Installer is required to activate them.</li>
</ul>
-<h2 id="executing-health-checks">Executing health checks</h2>
-<p>Besides executing them programatically, Health checks can be executed via a webconsole plugin or via JMX,
-see below for more details.</p>
-<h2 id="default-healthcheck-services-and-samples">Default <code>HealthCheck</code> services and samples</h2>
+<h2 id="out-of-the-box-healthcheck-services">Out-of-the-box <code>HealthCheck</code> services</h2>
<p>A useful set of default <code>HealthCheck</code>s is provided by the <code>org.apache.sling.hc.healthchecks</code> bundle. </p>
-<p>The <code>org.apache.sling.hc.samples</code> bundle provides OSGi configurations that demonstrate the following <code>HealthCheck</code> services:</p>
+<p>The <code>org.apache.sling.hc.samples</code> bundle provides OSGi configurations that demonstrate them.</p>
<ul>
<li><code>JmxAttributeHealthCheck</code> checks the value of a single JMX attribute and supports ranges like <em>between 12 and 42</em>. </li>
<li><code>SlingRequestStatusHealthCheck</code> checks the HTTP status of Sling requests. </li>
<li><code>ScriptableHealthCheck</code> evaluates an expression written in any scripting language that Sling supports, and provides bindings to access JMX attributes and OSGi bundles states. </li>
<li><code>DefaultLoginsHealthCheck</code> can be used to verify that the default Sling logins fail. </li>
-<li><code>CompositeHealthCheck</code> executes a set of <code>HealthCheck</code> selected by tags, useful to get higher-level management views.</li>
+<li><code>CompositeHealthCheck</code> executes a set of <code>HealthCheck</code> selected by tags, useful for creating higher-level checks.</li>
</ul>
<h2 id="configuring-health-checks">Configuring health checks</h2>
<p><code>HealthCheck</code> services are created via OSGi configurations.</p>
<p>Here's a <code>ScriptableHealthCheck</code> example configuration provided by the <code>org.apache.sling.hc.samples</code> bundle:</p>
-<p>PID = org.apache.sling.hc.ScriptableHealthCheck.1523a6db-12324
- Factory PID = org.apache.sling.hc.ScriptableHealthCheck
- hc.mbean.name = InactiveBundlesCheck
- hc.name = No inactive bundles
- hc.tags = [bundles, script]
- expression = osgi.inactiveBundlesCount() == 0
- language.extension = ecma</p>
-<p>Properties starting with the <code>hc.</code> prefix should be provided by all <code>HealthCheck</code> services.</p>
+<div class="codehilite"><pre><span class="n">Factory</span> <span class="n">PID</span> <span class="p">=</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">sling</span><span class="p">.</span><span class="n">hc</span><span class="p">.</span><span class="n">ScriptableHealthCheck</span>
+<span class="n">PID</span> <span class="p">=</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">sling</span><span class="p">.</span><span class="n">hc</span><span class="p">.</span><span class="n">ScriptableHealthCheck</span><span class="p">.</span>1523<span class="n">a6db</span><span class="o">-</span>12324
+<span class="n">hc</span><span class="p">.</span><span class="n">mbean</span><span class="p">.</span><span class="n">name</span> <span class="p">=</span> <span class="n">InactiveBundlesCheck</span>
+<span class="n">hc</span><span class="p">.</span><span class="n">name</span> <span class="p">=</span> <span class="n">No</span> <span class="n">inactive</span> <span class="n">bundles</span>
+<span class="n">hc</span><span class="p">.</span><span class="n">tags</span> <span class="p">=</span> <span class="p">[</span><span class="n">bundles</span><span class="p">,</span> <span class="n">script</span><span class="p">]</span>
+<span class="n">expression</span> <span class="p">=</span> <span class="n">osgi</span><span class="p">.</span><span class="n">inactiveBundlesCount</span><span class="p">()</span> <span class="o">==</span> 0
+<span class="n">language</span><span class="p">.</span><span class="n">extension</span> <span class="p">=</span> <span class="n">ecma</span>
+</pre></div>
+
+
+<p>The service properties starting with the <code>hc.</code> prefix in this example should be provided by all
+<code>HealthCheck</code> services.</p>
<h2 id="webconsole-plugin">Webconsole plugin</h2>
<p>If the <code>org.apache.sling.hc.webconsole</code> bundle is active, a webconsole plugin
-at <code>/system/console/healthcheck allows for executing health checks, optionally selected
-based on their tags (positive and negative selection, see</code>HealthCheckFilter` mention above).</p>
+at <code>/system/console/healthcheck</code> allows for executing health checks, optionally selected
+based on their tags (positive and negative selection, see <code>HealthCheckFilter</code> mention above).</p>
<p>The DEBUG logs of health checks can optionally be displayed, and an option allows for showing only health
checks that have a non-OK status.</p>
<p>The screenshot below shows an example, as of svn revision 1513462.</p>
@@ -161,11 +162,12 @@ checks that have a non-OK status.</p>
<p>The MBean gives access to the <code>Result</code> and the log, as shown on the screenshot below. </p>
<p>The MBean name defaults to the <code>hc.name</code> service property of the <em><code>HealthCheck</code></em>, but if an
<code>hc.mbean.name</code> property is provided it is used instead. That property can include a a slash
-(as in <code>composite/security</code>) to define the MBean service name, which by default is <em>HealthCheck</em>.</p>
-<p>The example configurations of the <code>org.apache.sling.hc.samples</code> bundle demonstrate the various features.</p>
+(like <code>CompositeHealthCheck/script</code> in the screenshot) to define the MBean service name,
+which by default is <em>HealthCheck</em>.</p>
+<p>See the example configurations of the <code>org.apache.sling.hc.samples</code> for more details.</p>
<p><img alt="" src="jconsole-hc.jpg" /></p>
<div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
- Rev. 1513475 by bdelacretaz on Tue, 13 Aug 2013 13:22:13 +0000
+ Rev. 1513478 by bdelacretaz on Tue, 13 Aug 2013 13:31:42 +0000
</div>
<div class="trademarkFooter">
Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project