<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.8 from src/site/markdown/metron-platform/metron-indexing/index.md at 2019-05-14
 | Rendered using Apache Maven Fluido Skin 1.7
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20190514" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Metron &#x2013; Indexing</title>
    <link rel="stylesheet" href="../../css/apache-maven-fluido-1.7.min.css" />
    <link rel="stylesheet" href="../../css/site.css" />
    <link rel="stylesheet" href="../../css/print.css" media="print" />
    <script type="text/javascript" src="../../js/apache-maven-fluido-1.7.min.js"></script>
<script type="text/javascript">
              $( document ).ready( function() { $( '.carousel' ).carousel( { interval: 3500 } ) } );
            </script>
  </head>
  <body class="topBarDisabled">
    <div class="container-fluid">
      <div id="banner">
        <div class="pull-left"><a href="http://metron.apache.org/" id="bannerLeft"><img src="../../images/metron-logo.png"  alt="Apache Metron" width="148px" height="48px"/></a></div>
        <div class="pull-right"></div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
      <li class=""><a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li>
      <li class=""><a href="http://metron.apache.org/" class="externalLink" title="Metron">Metron</a><span class="divider">/</span></li>
      <li class=""><a href="../../index.html" title="Documentation">Documentation</a><span class="divider">/</span></li>
    <li class="active ">Indexing</li>
        <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2019-05-14</li>
          <li id="projectVersion" class="pull-right">Version: 0.7.1</li>
        </ul>
      </div>
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
    <ul class="nav nav-list">
      <li class="nav-header">User Documentation</li>
    <li><a href="../../index.html" title="Metron"><span class="icon-chevron-down"></span>Metron</a>
    <ul class="nav nav-list">
    <li><a href="../../CONTRIBUTING.html" title="CONTRIBUTING"><span class="none"></span>CONTRIBUTING</a></li>
    <li><a href="../../Upgrading.html" title="Upgrading"><span class="none"></span>Upgrading</a></li>
    <li><a href="../../metron-analytics/index.html" title="Analytics"><span class="icon-chevron-right"></span>Analytics</a></li>
    <li><a href="../../metron-contrib/metron-docker/index.html" title="Docker"><span class="none"></span>Docker</a></li>
    <li><a href="../../metron-contrib/metron-performance/index.html" title="Performance"><span class="none"></span>Performance</a></li>
    <li><a href="../../metron-deployment/index.html" title="Deployment"><span class="icon-chevron-right"></span>Deployment</a></li>
    <li><a href="../../metron-interface/index.html" title="Interface"><span class="icon-chevron-right"></span>Interface</a></li>
    <li><a href="../../metron-platform/index.html" title="Platform"><span class="icon-chevron-down"></span>Platform</a>
    <ul class="nav nav-list">
    <li><a href="../../metron-platform/Performance-tuning-guide.html" title="Performance-tuning-guide"><span class="none"></span>Performance-tuning-guide</a></li>
    <li><a href="../../metron-platform/metron-common/index.html" title="Common"><span class="none"></span>Common</a></li>
    <li><a href="../../metron-platform/metron-data-management/index.html" title="Data-management"><span class="none"></span>Data-management</a></li>
    <li><a href="../../metron-platform/metron-elasticsearch/index.html" title="Elasticsearch"><span class="none"></span>Elasticsearch</a></li>
    <li><a href="../../metron-platform/metron-enrichment/index.html" title="Enrichment"><span class="icon-chevron-right"></span>Enrichment</a></li>
    <li><a href="../../metron-platform/metron-hbase-server/index.html" title="Hbase-server"><span class="none"></span>Hbase-server</a></li>
    <li class="active"><a href="#"><span class="none"></span>Indexing</a></li>
    <li><a href="../../metron-platform/metron-job/index.html" title="Job"><span class="none"></span>Job</a></li>
    <li><a href="../../metron-platform/metron-management/index.html" title="Management"><span class="none"></span>Management</a></li>
    <li><a href="../../metron-platform/metron-parsing/index.html" title="Parsing"><span class="icon-chevron-right"></span>Parsing</a></li>
    <li><a href="../../metron-platform/metron-pcap-backend/index.html" title="Pcap-backend"><span class="none"></span>Pcap-backend</a></li>
    <li><a href="../../metron-platform/metron-solr/index.html" title="Solr"><span class="none"></span>Solr</a></li>
    <li><a href="../../metron-platform/metron-writer/index.html" title="Writer"><span class="none"></span>Writer</a></li>
    </ul>
</li>
    <li><a href="../../metron-sensors/index.html" title="Sensors"><span class="icon-chevron-right"></span>Sensors</a></li>
    <li><a href="../../metron-stellar/stellar-3rd-party-example/index.html" title="Stellar-3rd-party-example"><span class="none"></span>Stellar-3rd-party-example</a></li>
    <li><a href="../../metron-stellar/stellar-common/index.html" title="Stellar-common"><span class="icon-chevron-right"></span>Stellar-common</a></li>
    <li><a href="../../metron-stellar/stellar-zeppelin/index.html" title="Stellar-zeppelin"><span class="none"></span>Stellar-zeppelin</a></li>
    <li><a href="../../use-cases/index.html" title="Use-cases"><span class="icon-chevron-right"></span>Use-cases</a></li>
    </ul>
</li>
</ul>
          <hr />
          <div id="poweredBy">
            <div class="clear"></div>
            <div class="clear"></div>
            <div class="clear"></div>
            <div class="clear"></div>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="../../images/logos/maven-feather.png" /></a>
            </div>
          </div>
        </div>
        <div id="bodyColumn"  class="span10" >
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<h1>Indexing</h1>
<p><a name="Indexing"></a></p>
<div class="section">
<h2><a name="Introduction"></a>Introduction</h2>
<p>The <tt>indexing</tt> topology is a topology dedicated to taking the data from the enrichment topology that have been enriched and storing the data in one or more supported indices</p>
<ul>

<li>HDFS as rolled text files, one JSON blob per line</li>
<li>Elasticsearch</li>
<li>Solr</li>
</ul>
<p>By default, this topology writes out to both HDFS and one of Elasticsearch and Solr.</p>
<p>Indices are written in batch and the batch size and batch timeout are specified in the <a href="#Sensor_Indexing_Configuration">Sensor Indexing Configuration</a> via the <tt>batchSize</tt> and <tt>batchTimeout</tt> parameters. These configs are variable by sensor type.</p></div>
<div class="section">
<h2><a name="Minimal_Assumptions_for_Message_Structure"></a>Minimal Assumptions for Message Structure</h2>
<p>At minimum, a message should have a <tt>source.type</tt> field. Without this field, the message tuple will be failed and not written with an appropriate error indicated in the Storm UI and logs.</p></div>
<div class="section">
<h2><a name="Indexing_Architecture"></a>Indexing Architecture</h2>
<p><img src="../../images/indexing_arch.png" alt="Architecture" /></p>
<p>The indexing topology is extremely simple.  Data is ingested into kafka and sent to</p>
<ul>

<li>An indexing bolt configured to write to either elasticsearch or Solr</li>
<li>An indexing bolt configured to write to HDFS under <tt>/apps/metron/enrichment/indexed</tt></li>
</ul>
<p>By default, errors during indexing are sent back into the <tt>indexing</tt> kafka queue so that they can be indexed and archived.</p></div>
<div class="section">
<h2><a name="Sensor_Indexing_Configuration"></a>Sensor Indexing Configuration</h2>
<p>The sensor specific configuration is intended to configure the indexing used for a given sensor type (e.g. <tt>snort</tt>).</p>
<p>Just like the global config, the format is a JSON stored in zookeeper and on disk at <tt>$METRON_HOME/config/zookeeper/indexing</tt>.  Within the sensor-specific configuration, you can configure the individual writers.  The writers currently supported are:</p>
<ul>

<li><tt>elasticsearch</tt></li>
<li><tt>hdfs</tt></li>
<li><tt>solr</tt></li>
</ul>
<p>Depending on how you start the indexing topology, it will have either Elasticsearch or Solr and HDFS writers running.</p>
<table border="0" class="table table-striped">
<thead>

<tr class="a">
<th> Property             </th>
<th> Description                                                                           </th>
<th> Default Value                                                                                                                                       </th></tr>
</thead><tbody>

<tr class="b">
<td> <tt>index</tt>              </td>
<td> The name of the index to write to.                                                    </td>
<td> Defaults to the name of the sensor.                                                                                                                 </td></tr>
<tr class="a">
<td> <tt>batchSize</tt>          </td>
<td> The size of the batch that is written to the indices at once.                         </td>
<td> Defaults to <tt>1</tt>; no batching.                                                                                                                         </td></tr>
<tr class="b">
<td> <tt>batchTimeout</tt>       </td>
<td> The timeout after which a batch will be flushed even if <tt>batchSize</tt> has not been met. </td>
<td> Defaults to a duration which is a fraction of the Storm parameter <tt>topology.message.timeout.secs</tt>, if left undefined or set to 0.  Ignored if batchSize is <tt>1</tt>, since this disables batching.</td></tr>
<tr class="a">
<td> <tt>enabled</tt>            </td>
<td> A boolean indicating whether the writer is enabled.                                   </td>
<td> Defaults to <tt>true</tt>                                                                                                                                    </td></tr>
<tr class="b">
<td> <tt>fieldNameConverter</tt> </td>
<td> Defines how field names are transformed before being written to the index.  Only applicable to <tt>elasticsearch</tt>.          </td>
<td> Defaults to <tt>DEDOT</tt>.  Acceptable values are <tt>DEDOT</tt> that replaces all &#x2018;.&#x2019; with &#x2018;:&#x2019; or <tt>NOOP</tt> that does not change the field names . </td></tr>
</tbody>
</table>
<div class="section">
<h3><a name="Meta_Alerts"></a>Meta Alerts</h3>
<p>Alerts can be grouped, after appropriate searching, into a set of alerts called a meta alert.  A meta alert is useful for maintaining the context of searching and grouping during further investigations. Standard searches can return meta alerts, but grouping and other aggregation or sorting requests will not, because there&#x2019;s not a clear way to aggregate in many cases if there are multiple alerts contained in the meta alert. All meta alerts will have the source type of metaalert, regardless of the contained alert&#x2019;s origins.</p></div>
<div class="section">
<h3><a name="Elasticsearch"></a>Elasticsearch</h3>
<p>Metron comes with built-in templates for the default sensors for Elasticsearch. When adding a new sensor, it will be necessary to add a new template defining the output fields appropriately. In addition, there is a requirement for a field <tt>alert</tt> of type <tt>nested</tt> for Elasticsearch 2.x installs.  This is detailed at <a href="../metron-elasticsearch/index.html#Using_Metron_with_Elasticsearch_2.x">Using Metron with Elasticsearch 2.x</a></p></div>
<div class="section">
<h3><a name="Solr"></a>Solr</h3>
<p>Metron comes with built-in schemas for the default sensors for Solr.  When adding a new sensor, it will be necessary to add a new schema defining the output fields appropriately.  In addition, these fields are used internally by Metron and also required:</p>
<ul>

<li><tt>&lt;field name=&quot;guid&quot; type=&quot;string&quot; indexed=&quot;true&quot; stored=&quot;true&quot; required=&quot;true&quot; multiValued=&quot;false&quot; /&gt;</tt></li>
<li><tt>&lt;field name=&quot;source.type&quot; type=&quot;string&quot; indexed=&quot;true&quot; stored=&quot;true&quot; /&gt;</tt></li>
<li><tt>&lt;field name=&quot;timestamp&quot; type=&quot;timestamp&quot; indexed=&quot;true&quot; stored=&quot;true&quot; /&gt;</tt></li>
<li><tt>&lt;field name=&quot;comments&quot; type=&quot;string&quot; indexed=&quot;true&quot; stored=&quot;true&quot; multiValued=&quot;true&quot;/&gt;</tt></li>
<li><tt>&lt;field name=&quot;metaalerts&quot; type=&quot;string&quot; multiValued=&quot;true&quot; indexed=&quot;true&quot; stored=&quot;true&quot;/&gt;</tt></li>
</ul>
<p>The unique key should be set to <tt>guid</tt> by including <tt>&lt;uniqueKey&gt;guid&lt;/uniqueKey&gt;</tt> in the schema.</p>
<p>It is strongly suggested the <tt>fieldTypes</tt> match those in the built-in schemas.</p></div>
<div class="section">
<h3><a name="Indexing_Configuration_Examples"></a>Indexing Configuration Examples</h3>
<p>For a given  sensor, the following scenarios would be indicated by the following cases:</p>
<div class="section">
<h4><a name="Base_Case"></a>Base Case</h4>

<div>
<div>
<pre class="source">{
}
</pre></div></div>

<p>or no file at all.</p>
<ul>

<li>elasticsearch writer
<ul>

<li>enabled</li>
<li>batch size of 1</li>
<li>batch timeout system default</li>
<li>index name the same as the sensor</li>
</ul>
</li>
<li>hdfs writer
<ul>

<li>enabled</li>
<li>batch size of 1</li>
<li>batch timeout system default</li>
<li>index name the same as the sensor</li>
</ul>
</li>
</ul>
<p>If a writer config is unspecified, then a warning is indicated in the Storm console.  e.g.: <tt>WARNING: Default and (likely) unoptimized writer config used for hdfs writer and sensor squid</tt></p></div>
<div class="section">
<h4><a name="Fully_specified"></a>Fully specified</h4>

<div>
<div>
<pre class="source">{
   &quot;elasticsearch&quot;: {
      &quot;index&quot;: &quot;foo&quot;,
      &quot;batchSize&quot; : 100,
      &quot;batchTimeout&quot; : 0,
      &quot;enabled&quot; : true 
    },
   &quot;hdfs&quot;: {
      &quot;index&quot;: &quot;foo&quot;,
      &quot;batchSize&quot;: 1,
      &quot;batchTimeout&quot; : 0,
      &quot;enabled&quot; : true
    }
}
</pre></div></div>

<ul>

<li>elasticsearch writer
<ul>

<li>enabled</li>
<li>batch size of 100</li>
<li>batch timeout system default</li>
<li>index name of &#x201c;foo&#x201d;</li>
</ul>
</li>
<li>hdfs writer
<ul>

<li>enabled</li>
<li>batch size of 1</li>
<li>batch timeout system default</li>
<li>index name of &#x201c;foo&#x201d;</li>
</ul>
</li>
</ul></div>
<div class="section">
<h4><a name="HDFS_Writer_turned_off"></a>HDFS Writer turned off</h4>

<div>
<div>
<pre class="source">{
   &quot;elasticsearch&quot;: {
      &quot;index&quot;: &quot;foo&quot;,
      &quot;enabled&quot; : true 
    },
   &quot;hdfs&quot;: {
      &quot;index&quot;: &quot;foo&quot;,
      &quot;batchSize&quot;: 100,
      &quot;batchTimeout&quot; : 0,
      &quot;enabled&quot; : false
    }
}
</pre></div></div>

<ul>

<li>elasticsearch writer
<ul>

<li>enabled</li>
<li>batch size of 1</li>
<li>batch timeout system default</li>
<li>index name of &#x201c;foo&#x201d;</li>
</ul>
</li>
<li>hdfs writer
<ul>

<li>disabled</li>
</ul>
</li>
</ul>
<p><a name="Updates_to_Indexed_Data"></a></p>
<h1>Updates to Indexed Data</h1>
<p>There are clear usecases where we would want to incorporate the capability to update indexed data. Thus far, we have limited capabilities provided to support this use-case:</p>
<ul>

<li>Updates to the random access index (e.g. Elasticsearch and Solr) should be supported</li>
<li>Updates to the cold storage index (e.g. HDFS) is not supported currently, however to support the batch use-case updated documents will be provided in a NoSQL write-ahead log (e.g. a HBase table) and an Java API will be provided to retrieve those updates scalably (i.e. a scan-free architecture).</li>
</ul>
<p>Put simply, the random access index will be always up-to-date, but the HDFS index will need to be joined to the NoSQL write-ahead log to get current updates.</p></div></div></div>
<div class="section">
<h2><a name="The_IndexDao_Abstraction"></a>The <tt>IndexDao</tt> Abstraction</h2>
<p>The indices mentioned above as part of Update should be pluggable by the developer so that new write-ahead logs or real-time indices can be supported by providing an implementation supporting the data access patterns.</p>
<p>To support a new index, one would need to implement the <tt>org.apache.metron.indexing.dao.IndexDao</tt> abstraction and provide update and search capabilities.  IndexDaos may be composed and updates will be performed in parallel.  This enables a flexible strategy for specifying your backing store for updates at runtime. For instance, currently the REST API supports the update functionality and may be configured with a list of IndexDao implementations to use to support the updates.</p>
<p>Updates with the IndexDao.update method replace the current object with the new object.  For partial updates, use IndexDao.patch instead.</p>
<div class="section">
<h3><a name="The_HBaseDao"></a>The <tt>HBaseDao</tt></h3>
<p>Updates will be written to HBase. The key structure includes the GUID and sensor type and for each new version, a new column is created with value as the message.</p>
<p>The HBase table and column family are configured via fields in the global configuration.</p>
<div class="section">
<h4><a name="update.hbase.table"></a><tt>update.hbase.table</tt></h4>
<p>The HBase table to use for message updates.</p></div>
<div class="section">
<h4><a name="update.hbase.cf"></a><tt>update.hbase.cf</tt></h4>
<p>The HBase column family to use for message updates.</p></div></div>
<div class="section">
<h3><a name="The_MetaAlertDao"></a>The <tt>MetaAlertDao</tt></h3>
<p>The goal of meta alerts is to be able to group together a set of alerts while being able to transparently perform actions like searches, as if meta alerts were normal alerts.  <tt>org.apache.metron.indexing.dao.metaalert.MetaAlertDao</tt> extends <tt>IndexDao</tt> and enables several features:</p>
<ul>

<li>the ability to get all meta alerts associated with an alert</li>
<li>creation of a meta alert</li>
<li>adding alerts to a meta alert</li>
<li>removing alerts from a meta alert</li>
<li>changing a meta alert&#x2019;s status</li>
</ul>
<p>The implementation of this is to denormalize the relationship between alerts and meta alerts, and store alerts as a nested field within a meta alert. The use of nested fields is to avoid the limitations of parent-child relationships (one-to-many) and merely linking by IDs (which causes issues with pagination as a result of being unable to join indices).  A list of containing meta alerts is stored on an alert for the purpose of keeping source alerts and alerts contained in meta alerts in sync.</p>
<p>The search functionality of <tt>IndexDao</tt> is wrapped by the <tt>MetaAlertDao</tt> in order to provide both regular and meta alerts side-by-side with sorting. The updating capabilities are similarly wrapped, in order to ensure updates are carried through both the alerts and associated meta alerts. Both of these functions are handled under the hood.</p>
<p>In addition, API endpoints have been added to expose the features listed above. The denormalization handles the case of going from meta alert to alert automatically.</p>
<p><a name="Notes_on_Performance_Tuning"></a></p>
<h1>Notes on Performance Tuning</h1>
<p>Default installed Metron is untuned for production deployment.  By far and wide, the most likely piece to require TLC from a performance perspective is the indexing layer.  An index that does not keep up will back up and you will see errors in the kafka bolt.  There are a few knobs to tune to get the most out of your system.</p></div></div>
<div class="section">
<h2><a name="Kafka_Queue"></a>Kafka Queue</h2>
<p>The <tt>indexing</tt> kafka queue is a collection point from the enrichment topology.  As such, make sure that the number of partitions in the kafka topic is sufficient to handle the throughput that you expect.</p></div>
<div class="section">
<h2><a name="Indexing_Topology"></a>Indexing Topology</h2>
<p>The <tt>indexing</tt> topology as started by the <tt>$METRON_HOME/bin/start_elasticsearch_topology.sh</tt> or <tt>$METRON_HOME/bin/start_solr_topology.sh</tt> script uses a default of one executor per bolt.  In a real production system, this should be customized by modifying the flux file in <tt>$METRON_HOME/flux/indexing/remote.yaml</tt>.</p>
<ul>

<li>Add a <tt>parallelism</tt> field to the bolts to give Storm a parallelism hint for the various components.  Give bolts which appear to be bottlenecks (e.g. the indexing bolt) a larger hint.</li>
<li>Add a <tt>parallelism</tt> field to the kafka spout which matches the number of partitions for the enrichment kafka queue.</li>
<li>Adjust the number of workers for the topology by adjusting the <tt>topology.workers</tt> field for the topology.</li>
</ul>
<p>Finally, if workers and executors are new to you or you don&#x2019;t know where to modify the flux file, the following might be of use to you:</p>
<ul>

<li><a class="externalLink" href="http://www.michael-noll.com/blog/2012/10/16/understanding-the-parallelism-of-a-storm-topology/">Understanding the Parallelism of a Storm Topology</a></li>
<li><a class="externalLink" href="http://storm.apache.org/releases/current/flux.html">Flux Docs</a></li>
</ul>
<div class="section">
<h3><a name="Rest_endpoints"></a>Rest endpoints</h3>
<p>There are rest endpoints available to perform operations like start, stop, activate, deactivate on the <tt>indexing</tt> topologies.</p>
<table border="0" class="table table-striped">
<thead>

<tr class="a">
<th>            </th></tr>
</thead><tbody>

<tr class="b">
<td> <a href="../../metron-interface/metron-rest/index.html#GET_apiv1stormindexingbatch"> <tt>GET /api/v1/storm/indexing/batch</tt></a></td></tr>
<tr class="a">
<td> <a href="../../metron-interface/metron-rest/index.html#GET_apiv1stormindexingbatchactivate"> <tt>GET /api/v1/storm/indexing/batch/activate</tt></a></td></tr>
<tr class="b">
<td> <a href="../../metron-interface/metron-rest/index.html#GET_apiv1stormindexingbatchdeactivate"> <tt>GET /api/v1/storm/indexing/batch/deactivate</tt></a></td></tr>
<tr class="a">
<td> <a href="../../metron-interface/metron-rest/index.html#GET_apiv1stormindexingbatchstart"> <tt>GET /api/v1/storm/indexing/batch/start</tt></a></td></tr>
<tr class="b">
<td> <a href="../../metron-interface/metron-rest/index.html#GET_apiv1stormindexingbatchstop"> <tt>GET /api/v1/storm/indexing/batch/stop</tt></a></td></tr>
<tr class="a">
<td> <a href="../../metron-interface/metron-rest/index.html#GET_apiv1stormindexingrandomaccess"> <tt>GET /api/v1/storm/indexing/randomaccess</tt></a></td></tr>
<tr class="b">
<td> <a href="../../metron-interface/metron-rest/index.html#GET_apiv1stormindexingrandomaccessactivate"> <tt>GET /api/v1/storm/indexing/randomaccess/activate</tt></a></td></tr>
<tr class="a">
<td> <a href="../../metron-interface/metron-rest/index.html#GET_apiv1stormindexingrandomaccessdeactivate"> <tt>GET /api/v1/storm/indexing/randomaccess/deactivate</tt></a></td></tr>
<tr class="b">
<td> <a href="../../metron-interface/metron-rest/index.html#GET_apiv1stormindexingrandomaccessstart"> <tt>GET /api/v1/storm/indexing/randomaccess/start</tt></a></td></tr>
<tr class="a">
<td> <a href="../../metron-interface/metron-rest/index.html#GET_apiv1stormindexingrandomaccessstop"> <tt>GET /api/v1/storm/indexing/randomaccess/stop</tt></a></td></tr>
</tbody>
</table></div></div>
<div class="section">
<h2><a name="Zeppelin_Notebooks"></a>Zeppelin Notebooks</h2>
<p>Zeppelin notebooks can be added to <tt>/src/main/config/zeppelin/</tt> (and subdirectories can be created for organization).  The placed files must be .json files and be named appropriately. These files must be added to the metron.spec file and the RPMs rebuilt to be available to be loaded into Ambari.</p>
<p>The notebook files will be found on the server in <tt>$METRON_HOME/config/zeppelin</tt></p>
<p>The Ambari Management Pack has a custom action to load these templates, ZEPPELIN_DASHBOARD_INSTALL, that will import them into Zeppelin.</p></div>
        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
Â© 2015-2016 The Apache Software Foundation. Apache Metron, Metron, Apache, the Apache feather logo,
            and the Apache Metron project logo are trademarks of The Apache Software Foundation.
        </div>
      </div>
    </footer>
  </body>
</html>
