http://git-wip-us.apache.org/repos/asf/metron/blob/53295c5a/current-book/metron-deployment/vagrant/quick-dev-platform/index.html ---------------------------------------------------------------------- diff --git a/current-book/metron-deployment/vagrant/quick-dev-platform/index.html b/current-book/metron-deployment/vagrant/quick-dev-platform/index.html index 227ccd4..136b790 100644 --- a/current-book/metron-deployment/vagrant/quick-dev-platform/index.html +++ b/current-book/metron-deployment/vagrant/quick-dev-platform/index.html @@ -1,13 +1,13 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at 2017-06-27 + | Generated by Apache Maven Doxia at 2017-09-15 | Rendered using Apache Maven Fluido Skin 1.3.0 --> <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="20170627" /> + <meta name="Date-Revision-yyyymmdd" content="20170915" /> <meta http-equiv="Content-Language" content="en" /> <title>Metron – Quick Development Platform</title> <link rel="stylesheet" href="../../../css/apache-maven-fluido-1.3.0.min.css" /> @@ -61,8 +61,8 @@ - <li id="publishDate" class="pull-right">Last Published: 2017-06-27</li> <li class="divider pull-right">|</li> - <li id="projectVersion" class="pull-right">Version: 0.4.0</li> + <li id="publishDate" class="pull-right">Last Published: 2017-09-15</li> <li class="divider pull-right">|</li> + <li id="projectVersion" class="pull-right">Version: 0.4.1</li> </ul> </div> @@ -75,7 +75,7 @@ <ul class="nav nav-list"> <li class="nav-header">User Documentation</li> - + <li> <a href="../../../index.html" title="Metron"> @@ -96,7 +96,14 @@ <i class="icon-chevron-right"></i> Analytics</a> </li> - + + <li> + + <a href="../../../metron-contrib/metron-docker/index.html" title="Docker"> + <i class="none"></i> + Docker</a> + </li> + <li> <a href="../../../metron-deployment/index.html" title="Deployment"> @@ -124,6 +131,20 @@ <i class="none"></i> Amazon-ec2</a> </li> + + <li> + + <a href="../../../metron-deployment/other-examples/index.html" title="Other-examples"> + <i class="icon-chevron-right"></i> + Other-examples</a> + </li> + + <li> + + <a href="../../../metron-deployment/packaging/ambari/index.html" title="Ambari"> + <i class="none"></i> + Ambari</a> + </li> <li> @@ -192,9 +213,9 @@ <li> - <a href="../../../metron-docker/index.html" title="Docker"> + <a href="../../../metron-interface/metron-alerts/index.html" title="Alerts"> <i class="none"></i> - Docker</a> + Alerts</a> </li> <li> @@ -210,7 +231,7 @@ <i class="none"></i> Rest</a> </li> - + <li> <a href="../../../metron-platform/index.html" title="Platform"> @@ -224,6 +245,20 @@ <i class="icon-chevron-right"></i> Sensors</a> </li> + + <li> + + <a href="../../../metron-stellar/stellar-common/index.html" title="Stellar-common"> + <i class="icon-chevron-right"></i> + Stellar-common</a> + </li> + + <li> + + <a href="../../../use-cases/index.html" title="Use-cases"> + <i class="icon-chevron-right"></i> + Use-cases</a> + </li> </ul> </li> </ul>
http://git-wip-us.apache.org/repos/asf/metron/blob/53295c5a/current-book/metron-docker/index.html ---------------------------------------------------------------------- diff --git a/current-book/metron-docker/index.html b/current-book/metron-docker/index.html deleted file mode 100644 index 5591c9a..0000000 --- a/current-book/metron-docker/index.html +++ /dev/null @@ -1,486 +0,0 @@ -<!DOCTYPE html> -<!-- - | Generated by Apache Maven Doxia at 2017-06-27 - | Rendered using Apache Maven Fluido Skin 1.3.0 ---> -<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="20170627" /> - <meta http-equiv="Content-Language" content="en" /> - <title>Metron – Metron Docker</title> - <link rel="stylesheet" href="../css/apache-maven-fluido-1.3.0.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.3.0.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> - </li> - <li class="divider ">/</li> - <li class=""> - <a href="http://metron.apache.org/" class="externalLink" title="Metron"> - Metron</a> - </li> - <li class="divider ">/</li> - <li class=""> - <a href="../index.html" title="Documentation"> - Documentation</a> - </li> - <li class="divider ">/</li> - <li class="">Metron Docker</li> - - - - <li id="publishDate" class="pull-right">Last Published: 2017-06-27</li> <li class="divider pull-right">|</li> - <li id="projectVersion" class="pull-right">Version: 0.4.0</li> - - </ul> - </div> - - - <div class="row-fluid"> - <div id="leftColumn" class="span3"> - <div class="well sidebar-nav"> - - - <ul class="nav nav-list"> - <li class="nav-header">User Documentation</li> - - <li> - - <a href="../index.html" title="Metron"> - <i class="icon-chevron-down"></i> - Metron</a> - <ul class="nav nav-list"> - - <li> - - <a href="../Upgrading.html" title="Upgrading"> - <i class="none"></i> - Upgrading</a> - </li> - - <li> - - <a href="../metron-analytics/index.html" title="Analytics"> - <i class="icon-chevron-right"></i> - Analytics</a> - </li> - - <li> - - <a href="../metron-deployment/index.html" title="Deployment"> - <i class="icon-chevron-right"></i> - Deployment</a> - </li> - - <li class="active"> - - <a href="#"><i class="none"></i>Docker</a> - </li> - - <li> - - <a href="../metron-interface/metron-config/index.html" title="Config"> - <i class="none"></i> - Config</a> - </li> - - <li> - - <a href="../metron-interface/metron-rest/index.html" title="Rest"> - <i class="none"></i> - Rest</a> - </li> - - <li> - - <a href="../metron-platform/index.html" title="Platform"> - <i class="icon-chevron-right"></i> - Platform</a> - </li> - - <li> - - <a href="../metron-sensors/index.html" title="Sensors"> - <i class="icon-chevron-right"></i> - Sensors</a> - </li> - </ul> - </li> - </ul> - - - - <hr class="divider" /> - - <div id="poweredBy"> - <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="span9" > - - <h1>Metron Docker</h1> -<p><a name="Metron_Docker"></a></p> -<p>Metron Docker is a <a class="externalLink" href="https://docs.docker.com/compose/overview/">Docker Compose</a> application that is intended for development and integration testing of Metron. Use this instead of Vagrant when:</p> - -<ul> - -<li>You want an environment that can be built and spun up quickly</li> - -<li>You need to frequently rebuild and restart services</li> - -<li>You only need to test, troubleshoot or develop against a subset of services</li> -</ul> -<p>Metron Docker includes these images that have been customized for Metron:</p> - -<ul> - -<li>Kafka (with Zookeeper)</li> - -<li>HBase</li> - -<li>Storm (with all topologies deployed)</li> - -<li>Elasticsearch</li> - -<li>Kibana</li> - -<li>HDFS</li> -</ul> -<div class="section"> -<h2><a name="Setup"></a>Setup</h2> -<p>Install <a class="externalLink" href="https://docs.docker.com/docker-for-mac/">Docker for Mac</a> or <a class="externalLink" href="https://docs.docker.com/docker-for-windows/">Docker for Windows</a>. The following versions have been tested:</p> - -<ul> - -<li>Docker version 1.12.0</li> - -<li>docker-machine version 0.8.0</li> - -<li>docker-compose version 1.8.0</li> -</ul> -<p>Build Metron from the top level directory with:</p> - -<div class="source"> -<div class="source"> -<pre>$ cd $METRON_HOME -$ mvn clean install -DskipTests -</pre></div></div> -<p>You are welcome to use an existing Docker host but we prefer one with more resources. You can create one of those with this script:</p> - -<div class="source"> -<div class="source"> -<pre>$ export METRON_DOCKER_HOME=$METRON_HOME/metron-docker -$ cd $METRON_DOCKER_HOME && ./scripts/create-docker-machine.sh -</pre></div></div> -<p>This will create a host called “metron-machine”. Anytime you want to run Docker commands against this host, make sure you run this first to set the Docker environment variables:</p> - -<div class="source"> -<div class="source"> -<pre>$ eval "$(docker-machine env metron-machine)" -</pre></div></div> -<p>If you wish to use a local docker-engine install, please set an environment variable BROKER_IP_ADDR to the IP address of your host machine. This cannot be the loopback address.</p></div> -<div class="section"> -<h2><a name="Usage"></a>Usage</h2> -<p>Navigate to the compose application root:</p> - -<div class="source"> -<div class="source"> -<pre>$ cd $METRON_DOCKER_HOME/compose/ -</pre></div></div> -<p>The Metron Docker environment lifecycle is controlled by the <a class="externalLink" href="https://docs.docker.com/compose/reference/overview/">docker-compose</a> command. The service names can be found in the docker-compose.yml file. For example, to build and start the environment run this command:</p> - -<div class="source"> -<div class="source"> -<pre>$ eval "$(docker-machine env metron-machine)" -$ docker-compose up -d -</pre></div></div> -<p>After all services have started list the containers and ensure their status is ‘Up’:</p> - -<div class="source"> -<div class="source"> -<pre>$ docker ps --format 'table {{.Names}}\t{{.Status}}' -NAMES STATUS -metron_storm_1 Up 5 minutes -metron_hbase_1 Up 5 minutes -metron_kibana_1 Up 5 minutes -metron_kafkazk_1 Up 5 minutes -metron_elasticsearch_1 Up 5 minutes -</pre></div></div> -<p>Various services are exposed through http on the Docker host. Get the host ip from the URL property:</p> - -<div class="source"> -<div class="source"> -<pre>$ docker-machine ls -NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS -metron-machine * virtualbox Running tcp://192.168.99.100:2376 v1.12.5 -</pre></div></div> -<p>Then, assuming a host ip of <tt>192.168.99.100</tt>, the UIs and APIs are available at:</p> - -<ul> - -<li>Storm - <a class="externalLink" href="http://192.168.99.100:8080/">http://192.168.99.100:8080/</a></li> - -<li>HBase - <a class="externalLink" href="http://192.168.99.100:16010/">http://192.168.99.100:16010/</a></li> - -<li>Elasticsearch - <a class="externalLink" href="http://192.168.99.100:9200/_plugin/head/">http://192.168.99.100:9200/_plugin/head/</a></li> - -<li>Kibana - <a class="externalLink" href="http://192.168.99.100:5601/">http://192.168.99.100:5601/</a></li> - -<li>HDFS (Namenode) - <a class="externalLink" href="http://192.168.99.100:50070/">http://192.168.99.100:50070/</a></li> -</ul> -<p>The Storm logs can be useful when troubleshooting topologies. They can be found on the Storm container in <tt>/usr/share/apache-storm/logs</tt>.</p> -<p>When done using the machine, shut it down with:</p> - -<div class="source"> -<div class="source"> -<pre>$ docker-compose down -</pre></div></div></div> -<div class="section"> -<h2><a name="Examples"></a>Examples</h2> - -<ul> - -<li><a href="#Deploy_a_new_parser_class">Deploy a new parser class</a></li> - -<li><a href="#Connect_to_a_container">Connect to a container</a></li> - -<li><a href="create-a-sensor-from-sample-data/index.html">Create a sensor from sample data</a></li> - -<li><a href="upload-configs-to-zookeeper/index.html">Upload configs to Zookeeper</a></li> - -<li><a href="manage-a-topology/index.html">Manage a topology</a></li> - -<li><a href="run-sensor-data-end-to-end/index.html">Run sensor data end to end</a></li> -</ul> -<div class="section"> -<h3><a name="Deploy_a_new_parser_class"></a>Deploy a new parser class</h3> -<p>After adding a new parser to metron-parsers, build Metron from the top level directory:</p> - -<div class="source"> -<div class="source"> -<pre>$ cd $METRON_HOME -$ mvn clean install -DskipTests -</pre></div></div> -<p>Then run these commands to redeploy the parsers to the Storm image:</p> - -<div class="source"> -<div class="source"> -<pre>$ cd $METRON_DOCKER_HOME/compose -$ docker-compose down -$ docker-compose build storm -$ docker-compose up -d -</pre></div></div></div> -<div class="section"> -<h3><a name="Connect_to_a_container"></a>Connect to a container</h3> -<p>Suppose there is a problem with Kafka and the logs are needed for further investigation. Run this command to connect and explore the running Kafka container:</p> - -<div class="source"> -<div class="source"> -<pre>$ cd $METRON_DOCKER_HOME/compose -$ docker-compose exec kafkazk bash -</pre></div></div></div> -<div class="section"> -<h3><a name="Create_a_sensor_from_sample_data"></a>Create a sensor from sample data</h3> -<p>A tool for producing test data in Kafka is included with the Kafka/Zookeeper image. It loops through lines in a test data file and outputs them to Kafka at the desired frequency. Create a test data file in <tt>./kafkazk/data/</tt> and rebuild the Kafka/Zookeeper image:</p> - -<div class="source"> -<div class="source"> -<pre>$ cd $METRON_DOCKER_HOME/compose -$ printf 'first test data\nsecond test data\nthird test data\n' > ./kafkazk/data/TestData.txt -$ docker-compose down -$ docker-compose build kafkazk -$ docker-compose up -d -</pre></div></div> -<p>This will deploy the test data file to the Kafka/Zookeeper container. Now that data can be streamed to a Kafka topic:</p> - -<div class="source"> -<div class="source"> -<pre>$ docker-compose exec kafkazk ./bin/produce-data.sh -Usage: produce-data.sh data_path topic [message_delay_in_seconds] - -# Stream data in TestData.txt to the 'test' Kafka topic at a frequency of 5 seconds (default is 1 second) -$ docker-compose exec kafkazk ./bin/produce-data.sh /data/TestData.txt test 5 -</pre></div></div> -<p>The Kafka/Zookeeper image comes with sample Bro and Squid data:</p> - -<div class="source"> -<div class="source"> -<pre># Stream Bro test data every 1 second -$ docker-compose exec kafkazk ./bin/produce-data.sh /data/BroExampleOutput.txt bro - -# Stream Squid test data every 0.1 seconds -$ docker-compose exec kafkazk ./bin/produce-data.sh /data/SquidExampleOutput.txt squid 0.1 -</pre></div></div></div> -<div class="section"> -<h3><a name="Upload_configs_to_Zookeeper"></a>Upload configs to Zookeeper</h3> -<p>Parser configs and a global config configured for this Docker environment are included with the Kafka/Zookeeper image. Load them with:</p> - -<div class="source"> -<div class="source"> -<pre>$ docker-compose exec kafkazk bash -# $METRON_HOME/bin/zk_load_configs.sh -z localhost:2181 -m PUSH -i $METRON_HOME/config/zookeeper -# exit -</pre></div></div> -<p>Dump out the configs with:</p> - -<div class="source"> -<div class="source"> -<pre>$ docker-compose exec kafkazk bash -# $METRON_HOME/bin/zk_load_configs.sh -z localhost:2181 -m DUMP -# exit -</pre></div></div></div> -<div class="section"> -<h3><a name="Manage_a_topology"></a>Manage a topology</h3> -<p>The Storm image comes with a script to easily start parser topologies:</p> - -<div class="source"> -<div class="source"> -<pre>docker-compose exec storm ./bin/start_docker_parser_topology.sh sensor_name -</pre></div></div> -<p>The enrichment topology can be started with:</p> - -<div class="source"> -<div class="source"> -<pre>docker-compose exec storm ./bin/start_enrichment_topology.sh -</pre></div></div> -<p>The indexing topology can be started with:</p> - -<div class="source"> -<div class="source"> -<pre>docker-compose exec storm ./bin/start_elasticsearch_topology.sh -</pre></div></div> -<p>Topologies can be stopped using the Storm CLI. For example, stop the enrichment topology with:</p> - -<div class="source"> -<div class="source"> -<pre>docker-compose exec storm storm kill enrichments -w 0 -</pre></div></div></div> -<div class="section"> -<h3><a name="Run_sensor_data_end_to_end"></a>Run sensor data end to end</h3> -<p>First ensure configs were uploaded as described in the previous example. Then start a sensor and leave it running:</p> - -<div class="source"> -<div class="source"> -<pre>$ cd $METRON_DOCKER_HOME/compose -$ docker-compose exec kafkazk ./bin/produce-data.sh /data/BroExampleOutput.txt bro -</pre></div></div> -<p>Open a separate console session and verify the sensor is running by consuming a message from Kafka:</p> - -<div class="source"> -<div class="source"> -<pre>$ export METRON_DOCKER_HOME=$METRON_HOME/metron-docker -$ cd $METRON_DOCKER_HOME/compose -$ docker-compose exec kafkazk ./bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic bro -</pre></div></div> -<p>A new message should be printed every second. Now kill the consumer and start the Bro parser topology:</p> - -<div class="source"> -<div class="source"> -<pre>$ docker-compose exec storm ./bin/start_docker_parser_topology.sh bro -</pre></div></div> -<p>Bro data should be flowing through the bro parser topology and into the Kafka enrichments topic. The enrichments topic should be created automatically:</p> - -<div class="source"> -<div class="source"> -<pre>$ docker-compose exec kafkazk ./bin/kafka-topics.sh --zookeeper localhost:2181 --list -bro -enrichments -indexing -</pre></div></div> -<p>Verify parsed Bro data is in the Kafka enrichments topic:</p> - -<div class="source"> -<div class="source"> -<pre>docker-compose exec kafkazk ./bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic enrichments -</pre></div></div> -<p>Now start the enrichment topology:</p> - -<div class="source"> -<div class="source"> -<pre>docker-compose exec storm ./bin/start_enrichment_topology.sh -</pre></div></div> -<p>Parsed Bro data should be flowing through the enrichment topology and into the Kafka indexing topic. Verify enriched Bro data is in the Kafka indexing topic:</p> - -<div class="source"> -<div class="source"> -<pre>docker-compose exec kafkazk ./bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic indexing -</pre></div></div> -<p>Now start the indexing topology:</p> - -<div class="source"> -<div class="source"> -<pre>docker-compose exec storm ./bin/start_elasticsearch_topology.sh -</pre></div></div> -<p>Enriched Bro data should now be present in the Elasticsearch container:</p> - -<div class="source"> -<div class="source"> -<pre>$ docker-machine ls -NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS -metron-machine * virtualbox Running tcp://192.168.99.100:2376 v1.12.5 - -$ curl -XGET http://192.168.99.100:9200/_cat/indices?v -health status index pri rep docs.count docs.deleted store.size pri.store.size -yellow open .kibana 1 1 1 0 3.1kb 3.1kb -yellow open bro_index_2016.12.19.18 5 1 180 0 475kb 475kb -</pre></div></div></div></div> - </div> - </div> - </div> - - <hr/> - - <footer> - <div class="container-fluid"> - <div class="row span12">Copyright © 2017 - <a href="https://www.apache.org">The Apache Software Foundation</a>. - All Rights Reserved. - - </div> - - - - </div> - </footer> - </body> -</html> http://git-wip-us.apache.org/repos/asf/metron/blob/53295c5a/current-book/metron-interface/metron-alerts/index.html ---------------------------------------------------------------------- diff --git a/current-book/metron-interface/metron-alerts/index.html b/current-book/metron-interface/metron-alerts/index.html new file mode 100644 index 0000000..cbfbe36 --- /dev/null +++ b/current-book/metron-interface/metron-alerts/index.html @@ -0,0 +1,338 @@ +<!DOCTYPE html> +<!-- + | Generated by Apache Maven Doxia at 2017-09-15 + | Rendered using Apache Maven Fluido Skin 1.3.0 +--> +<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="20170915" /> + <meta http-equiv="Content-Language" content="en" /> + <title>Metron – </title> + <link rel="stylesheet" href="../../css/apache-maven-fluido-1.3.0.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.3.0.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> + </li> + <li class="divider ">/</li> + <li class=""> + <a href="http://metron.apache.org/" class="externalLink" title="Metron"> + Metron</a> + </li> + <li class="divider ">/</li> + <li class=""> + <a href="../../index.html" title="Documentation"> + Documentation</a> + </li> + <li class="divider ">/</li> + <li class=""></li> + + + + <li id="publishDate" class="pull-right">Last Published: 2017-09-15</li> <li class="divider pull-right">|</li> + <li id="projectVersion" class="pull-right">Version: 0.4.1</li> + + </ul> + </div> + + + <div class="row-fluid"> + <div id="leftColumn" class="span3"> + <div class="well sidebar-nav"> + + + <ul class="nav nav-list"> + <li class="nav-header">User Documentation</li> + + <li> + + <a href="../../index.html" title="Metron"> + <i class="icon-chevron-down"></i> + Metron</a> + <ul class="nav nav-list"> + + <li> + + <a href="../../Upgrading.html" title="Upgrading"> + <i class="none"></i> + Upgrading</a> + </li> + + <li> + + <a href="../../metron-analytics/index.html" title="Analytics"> + <i class="icon-chevron-right"></i> + Analytics</a> + </li> + + <li> + + <a href="../../metron-contrib/metron-docker/index.html" title="Docker"> + <i class="none"></i> + Docker</a> + </li> + + <li> + + <a href="../../metron-deployment/index.html" title="Deployment"> + <i class="icon-chevron-right"></i> + Deployment</a> + </li> + + <li class="active"> + + <a href="#"><i class="none"></i>Alerts</a> + </li> + + <li> + + <a href="../../metron-interface/metron-config/index.html" title="Config"> + <i class="none"></i> + Config</a> + </li> + + <li> + + <a href="../../metron-interface/metron-rest/index.html" title="Rest"> + <i class="none"></i> + Rest</a> + </li> + + <li> + + <a href="../../metron-platform/index.html" title="Platform"> + <i class="icon-chevron-right"></i> + Platform</a> + </li> + + <li> + + <a href="../../metron-sensors/index.html" title="Sensors"> + <i class="icon-chevron-right"></i> + Sensors</a> + </li> + + <li> + + <a href="../../metron-stellar/stellar-common/index.html" title="Stellar-common"> + <i class="icon-chevron-right"></i> + Stellar-common</a> + </li> + + <li> + + <a href="../../use-cases/index.html" title="Use-cases"> + <i class="icon-chevron-right"></i> + Use-cases</a> + </li> + </ul> + </li> + </ul> + + + + <hr class="divider" /> + + <div id="poweredBy"> + <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="span9" > + + <ul> + +<li><a href="#Caveats">Caveats</a></li> + +<li><a href="#Prerequisites">Prerequisites</a></li> + +<li><a href="#Development_Setup">Development Setup</a></li> + +<li><a href="#E2E_Tests">E2E Tests</a></li> + +<li><a href="#Mpack_Integration">Mpack Integration</a></li> + +<li><a href="#Installing_on_an_existing_Cluster">Installing on an existing Cluster</a></li> +</ul> +<div class="section"> +<h2><a name="Caveats"></a>Caveats</h2> + +<ul> + +<li>UI doesn’t have an authentication module yet</li> + +<li>UI uses local storage to save all the data. A middleware needs to be designed and developed for persisting the data</li> +</ul></div> +<div class="section"> +<h2><a name="Prerequisites"></a>Prerequisites</h2> + +<ul> + +<li>Elastic search should be up and running and should have some alerts populated by metron topologies</li> + +<li>The alerts can be populated using Quick Dev, Full Dev or any other setup</li> + +<li>UI is developed using angular4 and uses angular-cli</li> + +<li>node.JS >= 7.8.0</li> +</ul></div> +<div class="section"> +<h2><a name="Development_Setup"></a>Development Setup</h2> + +<ol style="list-style-type: decimal"> + +<li> +<p>Install all the dependent node_modules using the following command</p> + +<div class="source"> +<div class="source"> +<pre>cd metron/metron-interface/metron-alerts +npm install +</pre></div></div></li> + +<li> +<p>UI can be run by using the following command</p> + +<div class="source"> +<div class="source"> +<pre>./scripts/start-dev.sh +</pre></div></div></li> + +<li>You can view the GUI @http://localhost:4200 . The default credentials for login are admin/password</li> +</ol> +<p><b>NOTE</b>: <i>In the development mode ui by default connects to ES at <a class="externalLink" href="http://node1:9200">http://node1:9200</a> for fetching data. If you wish to change it you can change the ES url at metron/metron-interface/metron-alerts/proxy.conf.json</i></p></div> +<div class="section"> +<h2><a name="E2E_Tests"></a>E2E Tests</h2> +<p>An expressjs server is available for mocking the elastic search api.</p> + +<ol style="list-style-type: decimal"> + +<li> +<p>Run e2e webserver :</p> + +<div class="source"> +<div class="source"> +<pre>cd metron/metron-interface/metron-alerts +sh ./scripts/start-server-for-e2e.sh +</pre></div></div></li> + +<li> +<p>run e2e test using the following command</p> + +<div class="source"> +<div class="source"> +<pre>cd metron/metron-interface/metron-alerts +npm run e2e +</pre></div></div></li> + +<li> +<p>E2E tests uses data from full-dev wherever applicable. The tests assume rest-api’s are available @http://node1:8082</p></li> +</ol> +<p><b>NOTE</b>: <i>e2e tests covers all the general workflows and we will extend them as we need</i></p></div> +<div class="section"> +<h2><a name="Mpack_Integration"></a>Mpack Integration</h2> +<p>Yet to come</p></div> +<div class="section"> +<h2><a name="Installing_on_an_existing_Cluster"></a>Installing on an existing Cluster</h2> + +<ol style="list-style-type: decimal"> + +<li> +<p>Build Metron:</p> + +<div class="source"> +<div class="source"> +<pre>mvn clean package -DskipTests +</pre></div></div></li> + +<li> +<p>Copy <tt>metron/metron-interface/metron-alerts/target/metron-alerts-METRON_VERSION-archive.tar.gz</tt> to the desired host.</p></li> + +<li> +<p>Untar the archive in the target directory. The directory structure will look like:</p> + +<div class="source"> +<div class="source"> +<pre>bin + start_alerts_ui.sh +web + alerts-ui + package.json + server.js + web assets (html, css, js, ...) +</pre></div></div></li> + +<li> +<p><a class="externalLink" href="https://github.com/expressjs/express">Expressjs</a> webserver script is included in the build that will serve the application. (The script has few rewrite rules and we can replace expressjs with any other webserver)</p></li> + +<li> +<p>Then start the application with the script:</p> + +<div class="source"> +<div class="source"> +<pre>./bin/start_alerts_ui.sh +Usage: server.js -p [port] -r [restUrl] +Options: + -p Port to run metron alerts ui [required] + -r, --resturl Url where elastic search rest api is available [required] +</pre></div></div></li> +</ol></div> + </div> + </div> + </div> + + <hr/> + + <footer> + <div class="container-fluid"> + <div class="row span12">Copyright © 2017 + <a href="https://www.apache.org">The Apache Software Foundation</a>. + All Rights Reserved. + + </div> + + + + </div> + </footer> + </body> +</html> http://git-wip-us.apache.org/repos/asf/metron/blob/53295c5a/current-book/metron-interface/metron-config/index.html ---------------------------------------------------------------------- diff --git a/current-book/metron-interface/metron-config/index.html b/current-book/metron-interface/metron-config/index.html index ad4b320..e3bf4b6 100644 --- a/current-book/metron-interface/metron-config/index.html +++ b/current-book/metron-interface/metron-config/index.html @@ -1,13 +1,13 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at 2017-06-27 + | Generated by Apache Maven Doxia at 2017-09-15 | Rendered using Apache Maven Fluido Skin 1.3.0 --> <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="20170627" /> + <meta name="Date-Revision-yyyymmdd" content="20170915" /> <meta http-equiv="Content-Language" content="en" /> <title>Metron – Metron Management UI</title> <link rel="stylesheet" href="../../css/apache-maven-fluido-1.3.0.min.css" /> @@ -61,8 +61,8 @@ - <li id="publishDate" class="pull-right">Last Published: 2017-06-27</li> <li class="divider pull-right">|</li> - <li id="projectVersion" class="pull-right">Version: 0.4.0</li> + <li id="publishDate" class="pull-right">Last Published: 2017-09-15</li> <li class="divider pull-right">|</li> + <li id="projectVersion" class="pull-right">Version: 0.4.1</li> </ul> </div> @@ -75,7 +75,7 @@ <ul class="nav nav-list"> <li class="nav-header">User Documentation</li> - + <li> <a href="../../index.html" title="Metron"> @@ -96,7 +96,14 @@ <i class="icon-chevron-right"></i> Analytics</a> </li> - + + <li> + + <a href="../../metron-contrib/metron-docker/index.html" title="Docker"> + <i class="none"></i> + Docker</a> + </li> + <li> <a href="../../metron-deployment/index.html" title="Deployment"> @@ -106,9 +113,9 @@ <li> - <a href="../../metron-docker/index.html" title="Docker"> + <a href="../../metron-interface/metron-alerts/index.html" title="Alerts"> <i class="none"></i> - Docker</a> + Alerts</a> </li> <li class="active"> @@ -122,7 +129,7 @@ <i class="none"></i> Rest</a> </li> - + <li> <a href="../../metron-platform/index.html" title="Platform"> @@ -136,6 +143,20 @@ <i class="icon-chevron-right"></i> Sensors</a> </li> + + <li> + + <a href="../../metron-stellar/stellar-common/index.html" title="Stellar-common"> + <i class="icon-chevron-right"></i> + Stellar-common</a> + </li> + + <li> + + <a href="../../use-cases/index.html" title="Use-cases"> + <i class="icon-chevron-right"></i> + Use-cases</a> + </li> </ul> </li> </ul> @@ -227,14 +248,6 @@ web <div class="source"> <pre>rpm -ih metron-config-$METRON_VERSION-*.noarch.rpm </pre></div></div></li> - -<li> -<p>Install the <a class="externalLink" href="https://expressjs.com/">Express</a> web framework from the <tt>package.json</tt> file in <tt>$METRON_HOME/web/expressjs</tt>:</p> - -<div class="source"> -<div class="source"> -<pre>npm --prefix $METRON_HOME/web/expressjs/ install -</pre></div></div></li> </ol></div></div> <div class="section"> <h2><a name="Configuration"></a>Configuration</h2> http://git-wip-us.apache.org/repos/asf/metron/blob/53295c5a/current-book/metron-interface/metron-rest/index.html ---------------------------------------------------------------------- diff --git a/current-book/metron-interface/metron-rest/index.html b/current-book/metron-interface/metron-rest/index.html index 5955c5f..8f549d5 100644 --- a/current-book/metron-interface/metron-rest/index.html +++ b/current-book/metron-interface/metron-rest/index.html @@ -1,13 +1,13 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at 2017-06-27 + | Generated by Apache Maven Doxia at 2017-09-15 | Rendered using Apache Maven Fluido Skin 1.3.0 --> <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="20170627" /> + <meta name="Date-Revision-yyyymmdd" content="20170915" /> <meta http-equiv="Content-Language" content="en" /> <title>Metron – Metron REST</title> <link rel="stylesheet" href="../../css/apache-maven-fluido-1.3.0.min.css" /> @@ -61,8 +61,8 @@ - <li id="publishDate" class="pull-right">Last Published: 2017-06-27</li> <li class="divider pull-right">|</li> - <li id="projectVersion" class="pull-right">Version: 0.4.0</li> + <li id="publishDate" class="pull-right">Last Published: 2017-09-15</li> <li class="divider pull-right">|</li> + <li id="projectVersion" class="pull-right">Version: 0.4.1</li> </ul> </div> @@ -75,7 +75,7 @@ <ul class="nav nav-list"> <li class="nav-header">User Documentation</li> - + <li> <a href="../../index.html" title="Metron"> @@ -96,7 +96,14 @@ <i class="icon-chevron-right"></i> Analytics</a> </li> - + + <li> + + <a href="../../metron-contrib/metron-docker/index.html" title="Docker"> + <i class="none"></i> + Docker</a> + </li> + <li> <a href="../../metron-deployment/index.html" title="Deployment"> @@ -106,9 +113,9 @@ <li> - <a href="../../metron-docker/index.html" title="Docker"> + <a href="../../metron-interface/metron-alerts/index.html" title="Alerts"> <i class="none"></i> - Docker</a> + Alerts</a> </li> <li> @@ -122,7 +129,7 @@ <a href="#"><i class="none"></i>Rest</a> </li> - + <li> <a href="../../metron-platform/index.html" title="Platform"> @@ -136,6 +143,20 @@ <i class="icon-chevron-right"></i> Sensors</a> </li> + + <li> + + <a href="../../metron-stellar/stellar-common/index.html" title="Stellar-common"> + <i class="icon-chevron-right"></i> + Stellar-common</a> + </li> + + <li> + + <a href="../../use-cases/index.html" title="Use-cases"> + <i class="icon-chevron-right"></i> + Use-cases</a> + </li> </ul> </li> </ul> @@ -599,7 +620,7 @@ METRON_SERVICE_KEYTAB="/etc/security/keytabs/metron.keytab" <td>docker </td> -<td>sets configuration variables to match the Metron dcoker environment </td> +<td>sets configuration variables to match the Metron docker environment </td> </tr> </tbody> </table> @@ -625,274 +646,314 @@ METRON_SERVICE_KEYTAB="/etc/security/keytabs/metron.keytab" <tr class="b"> -<td><a href="#GET_apiv1globalconfig"> <tt>GET /api/v1/global/config</tt></a></td> +<td><a href="#get-apiv1alertescalate"> <tt>POST /api/v1/alert/escalate</tt></a></td> </tr> <tr class="a"> -<td><a href="#DELETE_apiv1globalconfig"> <tt>DELETE /api/v1/global/config</tt></a></td> +<td><a href="#GET_apiv1globalconfig"> <tt>GET /api/v1/global/config</tt></a></td> </tr> <tr class="b"> -<td><a href="#POST_apiv1globalconfig"> <tt>POST /api/v1/global/config</tt></a></td> +<td><a href="#DELETE_apiv1globalconfig"> <tt>DELETE /api/v1/global/config</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1grokgetstatement"> <tt>GET /api/v1/grok/get/statement</tt></a></td> +<td><a href="#POST_apiv1globalconfig"> <tt>POST /api/v1/global/config</tt></a></td> </tr> <tr class="b"> -<td><a href="#GET_apiv1groklist"> <tt>GET /api/v1/grok/list</tt></a></td> +<td><a href="#GET_apiv1grokgetstatement"> <tt>GET /api/v1/grok/get/statement</tt></a></td> </tr> <tr class="a"> -<td><a href="#POST_apiv1grokvalidate"> <tt>POST /api/v1/grok/validate</tt></a></td> +<td><a href="#GET_apiv1groklist"> <tt>GET /api/v1/grok/list</tt></a></td> </tr> <tr class="b"> -<td><a href="#POST_apiv1hdfs"> <tt>POST /api/v1/hdfs</tt></a></td> +<td><a href="#POST_apiv1grokvalidate"> <tt>POST /api/v1/grok/validate</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1hdfs"> <tt>GET /api/v1/hdfs</tt></a></td> +<td><a href="#POST_apiv1hdfs"> <tt>POST /api/v1/hdfs</tt></a></td> </tr> <tr class="b"> -<td><a href="#DELETE_apiv1hdfs"> <tt>DELETE /api/v1/hdfs</tt></a></td> +<td><a href="#GET_apiv1hdfs"> <tt>GET /api/v1/hdfs</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1hdfslist"> <tt>GET /api/v1/hdfs/list</tt></a></td> +<td><a href="#DELETE_apiv1hdfs"> <tt>DELETE /api/v1/hdfs</tt></a></td> </tr> <tr class="b"> -<td><a href="#GET_apiv1kafkatopic"> <tt>GET /api/v1/kafka/topic</tt></a></td> +<td><a href="#GET_apiv1hdfslist"> <tt>GET /api/v1/hdfs/list</tt></a></td> </tr> <tr class="a"> -<td><a href="#POST_apiv1kafkatopic"> <tt>POST /api/v1/kafka/topic</tt></a></td> +<td><a href="#GET_apiv1kafkatopic"> <tt>GET /api/v1/kafka/topic</tt></a></td> </tr> <tr class="b"> -<td><a href="#GET_apiv1kafkatopicname"> <tt>GET /api/v1/kafka/topic/{name}</tt></a></td> +<td><a href="#POST_apiv1kafkatopic"> <tt>POST /api/v1/kafka/topic</tt></a></td> </tr> <tr class="a"> -<td><a href="#DELETE_apiv1kafkatopicname"> <tt>DELETE /api/v1/kafka/topic/{name}</tt></a></td> +<td><a href="#GET_apiv1kafkatopicname"> <tt>GET /api/v1/kafka/topic/{name}</tt></a></td> </tr> <tr class="b"> +<td><a href="#DELETE_apiv1kafkatopicname"> <tt>DELETE /api/v1/kafka/topic/{name}</tt></a></td> + </tr> + +<tr class="a"> + <td><a href="#GET_apiv1kafkatopicnamesample"> <tt>GET /api/v1/kafka/topic/{name}/sample</tt></a></td> </tr> +<tr class="b"> + +<td><a href="#GET_apiv1searchsearch"> <tt>GET /api/v1/search/search</tt></a></td> + </tr> + <tr class="a"> -<td><a href="#GET_apiv1sensorenrichmentconfig"> <tt>GET /api/v1/sensor/enrichment/config</tt></a></td> +<td><a href="#GET_apiv1searchfindOne"> <tt>GET /api/v1/search/findOne</tt></a></td> </tr> <tr class="b"> -<td><a href="#GET_apiv1sensorenrichmentconfiglistavailableenrichments"> <tt>GET /api/v1/sensor/enrichment/config/list/available/enrichments</tt></a></td> +<td><a href="#get-apiv1searchcolumnmetadata"> <tt>GET /api/v1/search/search</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1sensorenrichmentconfiglistavailablethreattriageaggregators"> <tt>GET /api/v1/sensor/enrichment/config/list/available/threat/triage/aggregators</tt></a></td> +<td><a href="#get-apiv1searchcolumnmetadatacommon"> <tt>GET /api/v1/search/search</tt></a></td> </tr> <tr class="b"> -<td><a href="#DELETE_apiv1sensorenrichmentconfigname"> <tt>DELETE /api/v1/sensor/enrichment/config/{name}</tt></a></td> +<td><a href="#GET_apiv1sensorenrichmentconfig"> <tt>GET /api/v1/sensor/enrichment/config</tt></a></td> </tr> <tr class="a"> -<td><a href="#POST_apiv1sensorenrichmentconfigname"> <tt>POST /api/v1/sensor/enrichment/config/{name}</tt></a></td> +<td><a href="#GET_apiv1sensorenrichmentconfiglistavailableenrichments"> <tt>GET /api/v1/sensor/enrichment/config/list/available/enrichments</tt></a></td> </tr> <tr class="b"> -<td><a href="#GET_apiv1sensorenrichmentconfigname"> <tt>GET /api/v1/sensor/enrichment/config/{name}</tt></a></td> +<td><a href="#GET_apiv1sensorenrichmentconfiglistavailablethreattriageaggregators"> <tt>GET /api/v1/sensor/enrichment/config/list/available/threat/triage/aggregators</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1sensorindexingconfig"> <tt>GET /api/v1/sensor/indexing/config</tt></a></td> +<td><a href="#DELETE_apiv1sensorenrichmentconfigname"> <tt>DELETE /api/v1/sensor/enrichment/config/{name}</tt></a></td> </tr> <tr class="b"> -<td><a href="#DELETE_apiv1sensorindexingconfigname"> <tt>DELETE /api/v1/sensor/indexing/config/{name}</tt></a></td> +<td><a href="#POST_apiv1sensorenrichmentconfigname"> <tt>POST /api/v1/sensor/enrichment/config/{name}</tt></a></td> </tr> <tr class="a"> -<td><a href="#POST_apiv1sensorindexingconfigname"> <tt>POST /api/v1/sensor/indexing/config/{name}</tt></a></td> +<td><a href="#GET_apiv1sensorenrichmentconfigname"> <tt>GET /api/v1/sensor/enrichment/config/{name}</tt></a></td> </tr> <tr class="b"> -<td><a href="#GET_apiv1sensorindexingconfigname"> <tt>GET /api/v1/sensor/indexing/config/{name}</tt></a></td> +<td><a href="#GET_apiv1sensorindexingconfig"> <tt>GET /api/v1/sensor/indexing/config</tt></a></td> </tr> <tr class="a"> -<td><a href="#POST_apiv1sensorparserconfig"> <tt>POST /api/v1/sensor/parser/config</tt></a></td> +<td><a href="#DELETE_apiv1sensorindexingconfigname"> <tt>DELETE /api/v1/sensor/indexing/config/{name}</tt></a></td> </tr> <tr class="b"> -<td><a href="#GET_apiv1sensorparserconfig"> <tt>GET /api/v1/sensor/parser/config</tt></a></td> +<td><a href="#POST_apiv1sensorindexingconfigname"> <tt>POST /api/v1/sensor/indexing/config/{name}</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1sensorparserconfiglistavailable"> <tt>GET /api/v1/sensor/parser/config/list/available</tt></a></td> +<td><a href="#GET_apiv1sensorindexingconfigname"> <tt>GET /api/v1/sensor/indexing/config/{name}</tt></a></td> </tr> <tr class="b"> -<td><a href="#POST_apiv1sensorparserconfigparseMessage"> <tt>POST /api/v1/sensor/parser/config/parseMessage</tt></a></td> +<td><a href="#POST_apiv1sensorparserconfig"> <tt>POST /api/v1/sensor/parser/config</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1sensorparserconfigreloadavailable"> <tt>GET /api/v1/sensor/parser/config/reload/available</tt></a></td> +<td><a href="#GET_apiv1sensorparserconfig"> <tt>GET /api/v1/sensor/parser/config</tt></a></td> </tr> <tr class="b"> -<td><a href="#DELETE_apiv1sensorparserconfigname"> <tt>DELETE /api/v1/sensor/parser/config/{name}</tt></a></td> +<td><a href="#GET_apiv1sensorparserconfiglistavailable"> <tt>GET /api/v1/sensor/parser/config/list/available</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1sensorparserconfigname"> <tt>GET /api/v1/sensor/parser/config/{name}</tt></a></td> +<td><a href="#POST_apiv1sensorparserconfigparseMessage"> <tt>POST /api/v1/sensor/parser/config/parseMessage</tt></a></td> </tr> <tr class="b"> -<td><a href="#POST_apiv1stellarapplytransformations"> <tt>POST /api/v1/stellar/apply/transformations</tt></a></td> +<td><a href="#GET_apiv1sensorparserconfigreloadavailable"> <tt>GET /api/v1/sensor/parser/config/reload/available</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1stellarlist"> <tt>GET /api/v1/stellar/list</tt></a></td> +<td><a href="#DELETE_apiv1sensorparserconfigname"> <tt>DELETE /api/v1/sensor/parser/config/{name}</tt></a></td> </tr> <tr class="b"> -<td><a href="#GET_apiv1stellarlistfunctions"> <tt>GET /api/v1/stellar/list/functions</tt></a></td> +<td><a href="#GET_apiv1sensorparserconfigname"> <tt>GET /api/v1/sensor/parser/config/{name}</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1stellarlistsimplefunctions"> <tt>GET /api/v1/stellar/list/simple/functions</tt></a></td> +<td><a href="#POST_apiv1stellarapplytransformations"> <tt>POST /api/v1/stellar/apply/transformations</tt></a></td> </tr> <tr class="b"> -<td><a href="#POST_apiv1stellarvalidaterules"> <tt>POST /api/v1/stellar/validate/rules</tt></a></td> +<td><a href="#GET_apiv1stellarlist"> <tt>GET /api/v1/stellar/list</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1storm"> <tt>GET /api/v1/storm</tt></a></td> +<td><a href="#GET_apiv1stellarlistfunctions"> <tt>GET /api/v1/stellar/list/functions</tt></a></td> </tr> <tr class="b"> -<td><a href="#GET_apiv1stormclientstatus"> <tt>GET /api/v1/storm/client/status</tt></a></td> +<td><a href="#GET_apiv1stellarlistsimplefunctions"> <tt>GET /api/v1/stellar/list/simple/functions</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1stormenrichment"> <tt>GET /api/v1/storm/enrichment</tt></a></td> +<td><a href="#POST_apiv1stellarvalidaterules"> <tt>POST /api/v1/stellar/validate/rules</tt></a></td> </tr> <tr class="b"> -<td><a href="#GET_apiv1stormenrichmentactivate"> <tt>GET /api/v1/storm/enrichment/activate</tt></a></td> +<td><a href="#GET_apiv1storm"> <tt>GET /api/v1/storm</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1stormenrichmentdeactivate"> <tt>GET /api/v1/storm/enrichment/deactivate</tt></a></td> +<td><a href="#GET_apiv1stormclientstatus"> <tt>GET /api/v1/storm/client/status</tt></a></td> </tr> <tr class="b"> -<td><a href="#GET_apiv1stormenrichmentstart"> <tt>GET /api/v1/storm/enrichment/start</tt></a></td> +<td><a href="#GET_apiv1stormenrichment"> <tt>GET /api/v1/storm/enrichment</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1stormenrichmentstop"> <tt>GET /api/v1/storm/enrichment/stop</tt></a></td> +<td><a href="#GET_apiv1stormenrichmentactivate"> <tt>GET /api/v1/storm/enrichment/activate</tt></a></td> </tr> <tr class="b"> -<td><a href="#GET_apiv1stormindexing"> <tt>GET /api/v1/storm/indexing</tt></a></td> +<td><a href="#GET_apiv1stormenrichmentdeactivate"> <tt>GET /api/v1/storm/enrichment/deactivate</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1stormindexingactivate"> <tt>GET /api/v1/storm/indexing/activate</tt></a></td> +<td><a href="#GET_apiv1stormenrichmentstart"> <tt>GET /api/v1/storm/enrichment/start</tt></a></td> </tr> <tr class="b"> -<td><a href="#GET_apiv1stormindexingdeactivate"> <tt>GET /api/v1/storm/indexing/deactivate</tt></a></td> +<td><a href="#GET_apiv1stormenrichmentstop"> <tt>GET /api/v1/storm/enrichment/stop</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1stormindexingstart"> <tt>GET /api/v1/storm/indexing/start</tt></a></td> +<td><a href="#GET_apiv1stormindexing"> <tt>GET /api/v1/storm/indexing</tt></a></td> </tr> <tr class="b"> -<td><a href="#GET_apiv1stormindexingstop"> <tt>GET /api/v1/storm/indexing/stop</tt></a></td> +<td><a href="#GET_apiv1stormindexingactivate"> <tt>GET /api/v1/storm/indexing/activate</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1stormparseractivatename"> <tt>GET /api/v1/storm/parser/activate/{name}</tt></a></td> +<td><a href="#GET_apiv1stormindexingdeactivate"> <tt>GET /api/v1/storm/indexing/deactivate</tt></a></td> </tr> <tr class="b"> -<td><a href="#GET_apiv1stormparserdeactivatename"> <tt>GET /api/v1/storm/parser/deactivate/{name}</tt></a></td> +<td><a href="#GET_apiv1stormindexingstart"> <tt>GET /api/v1/storm/indexing/start</tt></a></td> </tr> <tr class="a"> -<td><a href="#GET_apiv1stormparserstartname"> <tt>GET /api/v1/storm/parser/start/{name}</tt></a></td> +<td><a href="#GET_apiv1stormindexingstop"> <tt>GET /api/v1/storm/indexing/stop</tt></a></td> </tr> <tr class="b"> -<td><a href="#GET_apiv1stormparserstopname"> <tt>GET /api/v1/storm/parser/stop/{name}</tt></a></td> +<td><a href="#GET_apiv1stormparseractivatename"> <tt>GET /api/v1/storm/parser/activate/{name}</tt></a></td> + </tr> + +<tr class="a"> + +<td><a href="#GET_apiv1stormparserdeactivatename"> <tt>GET /api/v1/storm/parser/deactivate/{name}</tt></a></td> + </tr> + +<tr class="b"> + +<td><a href="#GET_apiv1stormparserstartname"> <tt>GET /api/v1/storm/parser/start/{name}</tt></a></td> </tr> <tr class="a"> +<td><a href="#GET_apiv1stormparserstopname"> <tt>GET /api/v1/storm/parser/stop/{name}</tt></a></td> + </tr> + +<tr class="b"> + <td><a href="#GET_apiv1stormname"> <tt>GET /api/v1/storm/{name}</tt></a></td> </tr> +<tr class="a"> + +<td><a href="#GET_apiv1stormsupervisors"> <tt>GET /api/v1/storm/supervisors</tt></a></td> + </tr> + +<tr class="b"> + +<td><a href="#PATCH_apiv1updatepatch"> <tt>PATCH /api/v1/update/patch</tt></a></td> + </tr> + +<tr class="a"> + +<td><a href="#patch-apiv1updatereplace"> <tt>PUT /api/v1/update/replace</tt></a></td> + </tr> + <tr class="b"> <td><a href="#GET_apiv1user"> <tt>GET /api/v1/user</tt></a></td> @@ -900,6 +961,27 @@ METRON_SERVICE_KEYTAB="/etc/security/keytabs/metron.keytab" </tbody> </table> <div class="section"> +<h3><a name="POST_apiv1alertescalate"></a><tt>POST /api/v1/alert/escalate</tt></h3> + +<ul> + +<li>Description: Escalates a list of alerts by producing it to the Kafka escalate topic</li> + +<li>Input: + +<ul> + +<li>alerts - The alerts to be escalated</li> + </ul></li> + +<li>Returns: + +<ul> + +<li>200 - Alerts were escalated</li> + </ul></li> +</ul></div> +<div class="section"> <h3><a name="GET_apiv1globalconfig"></a><tt>GET /api/v1/global/config</tt></h3> <ul> @@ -1205,6 +1287,112 @@ METRON_SERVICE_KEYTAB="/etc/security/keytabs/metron.keytab" </ul></li> </ul></div> <div class="section"> +<h3><a name="GET_apiv1searchfindOne"></a><tt>GET /api/v1/search/findOne</tt></h3> + +<ul> + +<li>Description: Returns latest document for a guid and sensor</li> + +<li>Input: + +<ul> + +<li>getRequest - Get request + +<ul> + +<li>guid - message UUID</li> + +<li>sensorType - Sensor Type</li> + </ul></li> + +<li>Example: Return <tt>bro</tt> document with UUID of <tt>000-000-0000</tt></li> + </ul></li> +</ul> + +<div class="source"> +<div class="source"> +<pre>{ + "guid" : "000-000-0000", + "sensorType" : "bro" +} +</pre></div></div> + +<ul> + +<li>Returns: + +<ul> + +<li>200 - Document representing the output</li> + +<li>404 - Document with UUID and sensor type not found</li> + </ul></li> +</ul></div> +<div class="section"> +<h3><a name="GET_apiv1searchsearch"></a><tt>GET /api/v1/search/search</tt></h3> + +<ul> + +<li>Description: Searches the indexing store</li> + +<li>Input: + +<ul> + +<li>searchRequest - Search request</li> + </ul></li> + +<li>Returns: + +<ul> + +<li>200 - Search results</li> + </ul></li> +</ul></div> +<div class="section"> +<h3><a name="GET_apiv1searchcolumnmetadata"></a><tt>GET /api/v1/search/column/metadata</tt></h3> + +<ul> + +<li>Description: Get column metadata for each index in the list of indicies</li> + +<li>Input: + +<ul> + +<li>indices - Indices</li> + </ul></li> + +<li>Returns: + +<ul> + +<li>200 - Column Metadata</li> + </ul></li> +</ul></div> +<div class="section"> +<h3><a name="GET_apiv1searchcolumnmetadatacommon"></a><tt>GET /api/v1/search/column/metadata/common</tt></h3> + +<ul> + +<li>Description: Get metadata for columns shared by the list of indices</li> + +<li>Input: + +<ul> + +<li>indices - Indices</li> + </ul></li> + +<li>Returns: + +<ul> + +<li>200 - Common Column Metadata</li> + </ul></li> +</ul></div> +<div class="section"> <h3><a name="GET_apiv1sensorenrichmentconfig"></a><tt>GET /api/v1/sensor/enrichment/config</tt></h3> <ul> @@ -1914,6 +2102,123 @@ METRON_SERVICE_KEYTAB="/etc/security/keytabs/metron.keytab" </ul></li> </ul></div> <div class="section"> +<h3><a name="GET_apiv1stormsupervisors"></a><tt>GET /api/v1/storm/supervisors</tt></h3> + +<ul> + +<li>Description: Retrieves the status of all Storm Supervisors</li> + +<li>Returns: + +<ul> + +<li>200 - Returns a list of the status of all Storm Supervisors</li> + </ul></li> +</ul></div> +<div class="section"> +<h3><a name="PATCH_apiv1updatepatch"></a><tt>PATCH /api/v1/update/patch</tt></h3> + +<ul> + +<li>Description: Update a document with a patch</li> + +<li>Input: + +<ul> + +<li>request - Patch Request + +<ul> + +<li>guid - The Patch UUID</li> + +<li>sensorType - The sensor type</li> + +<li>patch - An array of <a class="externalLink" href="https://tools.ietf.org/html/rfc6902">RFC 6902</a> patches.</li> + </ul></li> + +<li>Example adding a field called <tt>project</tt> with value <tt>metron</tt> to the <tt>bro</tt> message with UUID of <tt>000-000-0000</tt> :</li> + </ul></li> +</ul> + +<div class="source"> +<div class="source"> +<pre> { + "guid" : "000-000-0000", + "sensorType" : "bro", + "patch" : [ + { + "op": "add" + , "path": "/project" + , "value": "metron" + } + ] + } +</pre></div></div> + +<ul> + +<li>Returns: + +<ul> + +<li>200 - nothing</li> + +<li>404 - document not found</li> + </ul></li> +</ul></div> +<div class="section"> +<h3><a name="PUT_apiv1updatereplace"></a><tt>PUT /api/v1/update/replace</tt></h3> + +<ul> + +<li>Description: Replace a document</li> + +<li>Input: + +<ul> + +<li>request - Replacement request + +<ul> + +<li>guid - The Patch UUID</li> + +<li>sensorType - The sensor type</li> + +<li>replacement - A Map representing the replaced document</li> + </ul></li> + +<li>Example replacing a <tt>bro</tt> message with guid of <tt>000-000-0000</tt></li> + </ul></li> +</ul> + +<div class="source"> +<div class="source"> +<pre> { + "guid" : "000-000-0000", + "sensorType" : "bro", + "replacement" : { + "source:type": "bro", + "guid" : "bro_index_2017.01.01.01:1", + "ip_src_addr":"192.168.1.2", + "ip_src_port": 8009, + "timestamp":200, + "rejected":false + } + } +</pre></div></div> + +<ul> + +<li>Returns: + +<ul> + +<li>200 - Current user</li> + </ul></li> +</ul></div> +<div class="section"> <h3><a name="GET_apiv1user"></a><tt>GET /api/v1/user</tt></h3> <ul>
