You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by zj...@apache.org on 2020/12/24 14:36:06 UTC

svn commit: r1884775 [35/49] - in /zeppelin/site/docs: 0.9.0-SNAPSHOT/ 0.9.0/ 0.9.0/assets/ 0.9.0/assets/themes/ 0.9.0/assets/themes/zeppelin/ 0.9.0/assets/themes/zeppelin/bootstrap/ 0.9.0/assets/themes/zeppelin/bootstrap/css/ 0.9.0/assets/themes/zeppe...

Added: zeppelin/site/docs/0.9.0/setup/operation/configuration.html
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.9.0/setup/operation/configuration.html?rev=1884775&view=auto
==============================================================================
--- zeppelin/site/docs/0.9.0/setup/operation/configuration.html (added)
+++ zeppelin/site/docs/0.9.0/setup/operation/configuration.html Thu Dec 24 14:36:01 2020
@@ -0,0 +1,881 @@
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Apache Zeppelin 0.9.0 Documentation: Apache Zeppelin Configuration</title>
+    <meta name="description" content="This page will guide you to configure Apache Zeppelin using either environment variables or Java properties. Also, you can configure SSL for Zeppelin.">
+    <meta name="author" content="The Apache Software Foundation">
+
+    <!-- Enable responsive viewport -->
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
+
+    <!-- Le styles -->
+    <link href="/docs/0.9.0/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
+    <link href="/docs/0.9.0/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
+    <link href="/docs/0.9.0/assets/themes/zeppelin/css/syntax.css" rel="stylesheet"  type="text/css" media="screen" /> 
+    <!-- Le fav and touch icons -->
+    <!-- Update these with your own images
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    -->
+
+    <!-- Js -->
+    <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
+    <script src="/docs/0.9.0/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+    <script src="/docs/0.9.0/assets/themes/zeppelin/js/docs.js"></script>
+    <script src="/docs/0.9.0/assets/themes/zeppelin/js/anchor.min.js"></script>
+    <script src="/docs/0.9.0/assets/themes/zeppelin/js/toc.js"></script>
+    <script src="/docs/0.9.0/assets/themes/zeppelin/js/lunr.min.js"></script>
+    <script src="/docs/0.9.0/assets/themes/zeppelin/js/search.js"></script>    
+
+    <!-- atom & rss feed -->
+    <link href="/docs/0.9.0/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+    <link href="/docs/0.9.0/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
+  </head>
+
+  <body>
+    
+        <div id="menu" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+      <div class="container navbar-container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <div class="navbar-brand">
+            <a class="navbar-brand-main" href="http://zeppelin.apache.org">
+              <img src="/docs/0.9.0/assets/themes/zeppelin/img/zeppelin_logo.png" width="50"
+                   style="margin-top: -2px;" alt="I'm zeppelin">
+              <span style="margin-left: 5px; font-size: 27px;">Zeppelin</span>
+              <a class="navbar-brand-version" href="/docs/0.9.0"
+                 style="font-size: 15px; color: white;"> 0.9.0
+              </a>
+            </a>
+          </div>
+        </div>
+        <nav class="navbar-collapse collapse" role="navigation">
+          <ul class="nav navbar-nav">
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick Start <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span>Getting Started</span></li>
+                <li><a href="/docs/0.9.0/quickstart/install.html">Install</a></li>
+                <li><a href="/docs/0.9.0/quickstart/explore_ui.html">Explore UI</a></li>
+                <li><a href="/docs/0.9.0/quickstart/tutorial.html">Tutorial</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Run Mode</span></li>
+                <li><a href="/docs/0.9.0/quickstart/kubernetes.html">Kubernetes</a></li>
+                <li><a href="/docs/0.9.0/quickstart/docker.html">Docker</a></li>
+                <li><a href="/docs/0.9.0/quickstart/yarn.html">Yarn</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/docs/0.9.0/quickstart/spark_with_zeppelin.html">Spark with Zeppelin</a></li>
+                <li><a href="/docs/0.9.0/quickstart/sql_with_zeppelin.html">SQL with Zeppelin</a></li>
+                <li><a href="/docs/0.9.0/quickstart/python_with_zeppelin.html">Python with Zeppelin</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Usage<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Dynamic Form</span></li>
+                <li><a href="/docs/0.9.0/usage/dynamic_form/intro.html">What is Dynamic Form?</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Display System</span></li>
+                <li><a href="/docs/0.9.0/usage/display_system/basic.html#text">Text Display</a></li>
+                <li><a href="/docs/0.9.0/usage/display_system/basic.html#html">HTML Display</a></li>
+                <li><a href="/docs/0.9.0/usage/display_system/basic.html#table">Table Display</a></li>
+                <li><a href="/docs/0.9.0/usage/display_system/basic.html#network">Network Display</a></li>
+                <li><a href="/docs/0.9.0/usage/display_system/angular_backend.html">Angular Display using Backend API</a></li>
+                <li><a href="/docs/0.9.0/usage/display_system/angular_frontend.html">Angular Display using Frontend API</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Interpreter</span></li>
+                <li><a href="/docs/0.9.0/usage/interpreter/overview.html">Overview</a></li>
+                <li><a href="/docs/0.9.0/usage/interpreter/interpreter_binding_mode.html">Interpreter Binding Mode</a></li>
+                <li><a href="/docs/0.9.0/usage/interpreter/user_impersonation.html">User Impersonation</a></li>
+                <li><a href="/docs/0.9.0/usage/interpreter/dependency_management.html">Dependency Management</a></li>
+                <li><a href="/docs/0.9.0/usage/interpreter/installation.html">Installing Interpreters</a></li>
+                <!--<li><a href="/docs/0.9.0/usage/interpreter/dynamic_loading.html">Dynamic Interpreter Loading (Experimental)</a></li>-->
+                <li><a href="/docs/0.9.0/usage/interpreter/execution_hooks.html">Execution Hooks (Experimental)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Other Features</span></li>
+                <li><a href="/docs/0.9.0/usage/other_features/publishing_paragraphs.html">Publishing Paragraphs</a></li>
+                <li><a href="/docs/0.9.0/usage/other_features/personalized_mode.html">Personalized Mode</a></li>
+                <li><a href="/docs/0.9.0/usage/other_features/customizing_homepage.html">Customizing Zeppelin Homepage</a></li>
+                <li><a href="/docs/0.9.0/usage/other_features/notebook_actions.html">Notebook Actions</a></li>
+                <li><a href="/docs/0.9.0/usage/other_features/cron_scheduler.html">Cron Scheduler</a></li>
+                <li><a href="/docs/0.9.0/usage/other_features/zeppelin_context.html">Zeppelin Context</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>REST API</span></li>
+                <li><a href="/docs/0.9.0/usage/rest_api/interpreter.html">Interpreter API</a></li>
+                <li><a href="/docs/0.9.0/usage/rest_api/zeppelin_server.html">Zeppelin Server API</a></li>
+                <li><a href="/docs/0.9.0/usage/rest_api/notebook.html">Notebook API</a></li>
+                <li><a href="/docs/0.9.0/usage/rest_api/notebook_repository.html">Notebook Repository API</a></li>
+                <li><a href="/docs/0.9.0/usage/rest_api/configuration.html">Configuration API</a></li>
+                <li><a href="/docs/0.9.0/usage/rest_api/credential.html">Credential API</a></li>
+                <li><a href="/docs/0.9.0/usage/rest_api/helium.html">Helium API</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Setup<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Basics</span></li>
+                <li><a href="/docs/0.9.0/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/docs/0.9.0/setup/basics/hadoop_integration.html">Hadoop Integration</a></li>
+                <li><a href="/docs/0.9.0/setup/basics/multi_user_support.html">Multi-user Support</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Deployment</span></li>
+                <!--<li><a href="/docs/0.9.0/setup/deployment/docker.html">Docker Image for Zeppelin</a></li>-->
+                <li><a href="/docs/0.9.0/setup/deployment/spark_cluster_mode.html#spark-standalone-mode">Spark Cluster Mode: Standalone</a></li>
+                <li><a href="/docs/0.9.0/setup/deployment/spark_cluster_mode.html#spark-on-yarn-mode">Spark Cluster Mode: YARN</a></li>
+                <li><a href="/docs/0.9.0/setup/deployment/spark_cluster_mode.html#spark-on-mesos-mode">Spark Cluster Mode: Mesos</a></li>
+                <li><a href="/docs/0.9.0/setup/deployment/flink_and_spark_cluster.html">Zeppelin with Flink, Spark Cluster</a></li>
+                <li><a href="/docs/0.9.0/setup/deployment/cdh.html">Zeppelin on CDH</a></li>
+                <li><a href="/docs/0.9.0/setup/deployment/virtual_machine.html">Zeppelin on VM: Vagrant</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Security</span></li>
+                <li><a href="/docs/0.9.0/setup/security/authentication_nginx.html">HTTP Basic Auth using NGINX</a></li>
+                <li><a href="/docs/0.9.0/setup/security/shiro_authentication.html">Shiro Authentication</a></li>
+                <li><a href="/docs/0.9.0/setup/security/notebook_authorization.html">Notebook Authorization</a></li>
+                <li><a href="/docs/0.9.0/setup/security/datasource_authorization.html">Data Source Authorization</a></li>
+                <li><a href="/docs/0.9.0/setup/security/http_security_headers.html">HTTP Security Headers</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Notebook Storage</span></li>
+                <li><a href="/docs/0.9.0/setup/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
+                <li><a href="/docs/0.9.0/setup/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
+                <li><a href="/docs/0.9.0/setup/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
+                <li><a href="/docs/0.9.0/setup/storage/storage.html#notebook-storage-in-oss">OSS Storage</a></li>
+                <li><a href="/docs/0.9.0/setup/storage/storage.html#notebook-storage-in-zeppelinhub">ZeppelinHub Storage</a></li>
+                <li><a href="/docs/0.9.0/setup/storage/storage.html#notebook-storage-in-mongodb">MongoDB Storage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Operation</span></li>
+                <li><a href="/docs/0.9.0/setup/operation/configuration.html">Configuration</a></li>
+                <li><a href="/docs/0.9.0/setup/operation/proxy_setting.html">Proxy Setting</a></li>
+                <li><a href="/docs/0.9.0/setup/operation/upgrading.html">Upgrading</a></li>
+                <li><a href="/docs/0.9.0/setup/operation/trouble_shooting.html">Trouble Shooting</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Interpreter <b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Interpreters</span></li>
+                <li><a href="/docs/0.9.0/usage/interpreter/overview.html">Overview</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/docs/0.9.0/interpreter/spark.html">Spark</a></li>
+                <li><a href="/docs/0.9.0/interpreter/jdbc.html">JDBC</a></li>
+                <li><a href="/docs/0.9.0/interpreter/python.html">Python</a></li>
+                <li><a href="/docs/0.9.0/interpreter/r.html">R</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/docs/0.9.0/interpreter/alluxio.html">Alluxio</a></li>
+                <li><a href="/docs/0.9.0/interpreter/beam.html">Beam</a></li>
+                <li><a href="/docs/0.9.0/interpreter/bigquery.html">BigQuery</a></li>
+                <li><a href="/docs/0.9.0/interpreter/cassandra.html">Cassandra</a></li>
+                <li><a href="/docs/0.9.0/interpreter/elasticsearch.html">Elasticsearch</a></li>
+                <li><a href="/docs/0.9.0/interpreter/flink.html">Flink</a></li>
+                <li><a href="/docs/0.9.0/interpreter/geode.html">Geode</a></li>
+                <li><a href="/docs/0.9.0/interpreter/groovy.html">Groovy</a></li>
+                <li><a href="/docs/0.9.0/interpreter/hazelcastjet.html">Hazelcast Jet</a></li>
+                <li><a href="/docs/0.9.0/interpreter/hbase.html">HBase</a></li>
+                <li><a href="/docs/0.9.0/interpreter/hdfs.html">HDFS</a></li>
+                <li><a href="/docs/0.9.0/interpreter/hive.html">Hive</a></li>
+                <li><a href="/docs/0.9.0/interpreter/ignite.html">Ignite</a></li>
+                <li><a href="/docs/0.9.0/interpreter/java.html">Java</a></li>
+                <li><a href="/docs/0.9.0/interpreter/jupyter.html">Jupyter</a></li>
+                <li><a href="/docs/0.9.0/interpreter/kotlin.html">Kotlin</a></li>
+                <li><a href="/docs/0.9.0/interpreter/kylin.html">Kylin</a></li>
+                <li><a href="/docs/0.9.0/interpreter/lens.html">Lens</a></li>
+                <li><a href="/docs/0.9.0/interpreter/livy.html">Livy</a></li>
+                <li><a href="/docs/0.9.0/interpreter/markdown.html">Markdown</a></li>
+                <li><a href="/docs/0.9.0/interpreter/mongodb.html">MongoDB</a></li>
+                <li><a href="/docs/0.9.0/interpreter/neo4j.html">Neo4j</a></li>
+                <li><a href="/docs/0.9.0/interpreter/pig.html">Pig</a></li>
+                <li><a href="/docs/0.9.0/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+                <li><a href="/docs/0.9.0/interpreter/scalding.html">Scalding</a></li>
+                <li><a href="/docs/0.9.0/interpreter/scio.html">Scio</a></li>
+                <li><a href="/docs/0.9.0/interpreter/shell.html">Shell</a></li>
+                <li><a href="/docs/0.9.0/interpreter/sparql.html">Sparql</a></li>
+                <li><a href="/docs/0.9.0/interpreter/submarine.html">Submarine</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">More<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu" style="right: 0; left: auto;">
+                <li class="title"><span>Extending Zeppelin</span></li>
+                <li><a href="/docs/0.9.0/development/writing_zeppelin_interpreter.html">Writing Zeppelin Interpreter</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Helium (Experimental)</span></li>
+                <li><a href="/docs/0.9.0/development/helium/overview.html">Overview</a></li>
+                <li><a href="/docs/0.9.0/development/helium/writing_application.html">Writing Helium Application</a></li>
+                <li><a href="/docs/0.9.0/development/helium/writing_spell.html">Writing Helium Spell</a></li>
+                <li><a href="/docs/0.9.0/development/helium/writing_visualization_basic.html">Writing Helium Visualization: Basics</a></li>
+                <li><a href="/docs/0.9.0/development/helium/writing_visualization_transformation.html">Writing Helium Visualization: Transformation</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Contributing to Zeppelin</span></li>
+                <li><a href="/docs/0.9.0/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/docs/0.9.0/development/contribution/useful_developer_tools.html">Useful Developer Tools</a></li>
+                <li><a href="/docs/0.9.0/development/contribution/how_to_contribute_code.html">How to Contribute (code)</a></li>
+                <li><a href="/docs/0.9.0/development/contribution/how_to_contribute_website.html">How to Contribute (website)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>External Resources</span></li>
+                <li><a target="_blank" href="https://zeppelin.apache.org/community.html">Mailing List</a></li>
+                <li><a target="_blank" href="https://cwiki.apache.org/confluence/display/ZEPPELIN/Zeppelin+Home">Apache Zeppelin Wiki</a></li>
+                <li><a target="_blank" href="http://stackoverflow.com/questions/tagged/apache-zeppelin">Stackoverflow Questions about Zeppelin</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="/docs/0.9.0/search.html" class="nav-search-link">
+                <span class="fa fa-search nav-search-icon"></span>
+              </a>
+            </li>
+          </ul>
+        </nav><!--/.navbar-collapse -->
+      </div>
+    </div>
+
+
+
+    <div class="content">
+      
+<!--<div class="hero-unit Apache Zeppelin Configuration">
+  <h1></h1>
+</div>
+-->
+
+<div class="row">
+  <div class="col-md-12">
+    <!--
+Licensed 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>Apache Zeppelin Configuration</h1>
+
+<div id="toc"></div>
+
+<h2>Zeppelin Properties</h2>
+
+<p>There are two locations you can configure Apache Zeppelin.</p>
+
+<ul>
+<li><strong>Environment variables</strong> can be defined <code>conf/zeppelin-env.sh</code>(<code>conf\zeppelin-env.cmd</code> for Windows).</li>
+<li><strong>Java properties</strong> can be defined in <code>conf/zeppelin-site.xml</code>.</li>
+</ul>
+
+<p>If both are defined, then the <strong>environment variables</strong> will take priority.</p>
+
+<blockquote>
+<p>Mouse hover on each property and click <i class="fa fa-link fa-flip-horizontal"></i> then you can get a link for that.</p>
+</blockquote>
+
+<table class="table-configuration">
+  <tr>
+    <th>zeppelin-env.sh</th>
+    <th>zeppelin-site.xml</th>
+    <th>Default value</th>
+    <th class="col-md-4">Description</th>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_ADDR</h6></td>
+    <td><h6 class="properties">zeppelin.server.addr</h6></td>
+    <td>127.0.0.1</td>
+    <td>Zeppelin server binding address</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_PORT</h6></td>
+    <td><h6 class="properties">zeppelin.server.port</h6></td>
+    <td>8080</td>
+    <td>Zeppelin server port </br>
+      <span style="font-style:italic; color: gray"> Note: Please make sure you're not using the same port with
+      <a href="https://zeppelin.apache.org/contribution/webapplication.html#dev-mode" target="_blank">Zeppelin web application development port</a> (default: 9000).</span></td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_SSL_PORT</h6></td>
+    <td><h6 class="properties">zeppelin.server.ssl.port</h6></td>
+    <td>8443</td>
+    <td>Zeppelin Server ssl port (used when ssl environment/property is set to true)</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_JMX_ENABLE</h6></td>
+    <td><h6 class="properties">zeppelin.jmx.enable</h6></td>
+    <td>false</td>
+    <td>Enable JMX by defining "true"</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_JMX_PORT</h6></td>
+    <td><h6 class="properties">zeppelin.jmx.port</h6></td>
+    <td>9996</td>
+    <td>Port number which JMX uses</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_MEM</h6></td>
+    <td>N/A</td>
+    <td>-Xmx1024m -XX:MaxMetaspaceSize=512m</td>
+    <td>JVM mem options</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_INTP_MEM</h6></td>
+    <td>N/A</td>
+    <td>ZEPPELIN_MEM</td>
+    <td>JVM mem options for interpreter process</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_JAVA_OPTS</h6></td>
+    <td>N/A</td>
+    <td></td>
+    <td>JVM options</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_ALLOWED_ORIGINS</h6></td>
+    <td><h6 class="properties">zeppelin.server.allowed.origins</h6></td>
+    <td>*</td>
+    <td>Enables a way to specify a ',' separated list of allowed origins for REST and websockets. <br /> e.g. http://localhost:8080</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_CREDENTIALS_PERSIST</h6></td>
+    <td><h6 class="properties">zeppelin.credentials.persist</h6></td>
+    <td>true</td>
+    <td>Persist credentials on a JSON file (credentials.json)</td>
+  </tr>  
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_CREDENTIALS_ENCRYPT_KEY</h6></td>
+    <td><h6 class="properties">zeppelin.credentials.encryptKey</h6></td>
+    <td></td>
+    <td>If provided, encrypt passwords on the credentials.json file (passwords will be stored as plain-text otherwise</td>
+  </tr>  
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_SERVER_CONTEXT_PATH</h6></td>
+    <td><h6 class="properties">zeppelin.server.context.path</h6></td>
+    <td>/</td>
+    <td>Context path of the web application</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_COLLABORATIVE_MODE_ENABLE</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.collaborative.mode.enable</h6></td>
+    <td>true</td>
+    <td>Enable basic opportunity for collaborative editing. Does not change the logic of operation if the note is used by one person.</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_SSL</h6></td>
+    <td><h6 class="properties">zeppelin.ssl</h6></td>
+    <td>false</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_SSL_CLIENT_AUTH</h6></td>
+    <td><h6 class="properties">zeppelin.ssl.client.auth</h6></td>
+    <td>false</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_SSL_KEYSTORE_PATH</h6></td>
+    <td><h6 class="properties">zeppelin.ssl.keystore.path</h6></td>
+    <td>keystore</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_SSL_KEYSTORE_TYPE</h6></td>
+    <td><h6 class="properties">zeppelin.ssl.keystore.type</h6></td>
+    <td>JKS</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_SSL_KEYSTORE_PASSWORD</h6></td>
+    <td><h6 class="properties">zeppelin.ssl.keystore.password</h6></td>
+    <td></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_SSL_KEY_MANAGER_PASSWORD</h6></td>
+    <td><h6 class="properties">zeppelin.ssl.key.manager.password</h6></td>
+    <td></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_SSL_TRUSTSTORE_PATH</h6></td>
+    <td><h6 class="properties">zeppelin.ssl.truststore.path</h6></td>
+    <td></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_SSL_TRUSTSTORE_TYPE</h6></td>
+    <td><h6 class="properties">zeppelin.ssl.truststore.type</h6></td>
+    <td></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_SSL_TRUSTSTORE_PASSWORD</h6></td>
+    <td><h6 class="properties">zeppelin.ssl.truststore.password</h6></td>
+    <td></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_SSL_PEM_KEY</h6></td>
+    <td><h6 class="properties">zeppelin.ssl.pem.key</h6></td>
+    <td></td>
+    <td>This directive points to the PEM-encoded private key file for the server.</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_SSL_PEM_KEY_PASSWORD</h6></td>
+    <td><h6 class="properties">zeppelin.ssl.pem.key.password</h6></td>
+    <td></td>
+    <td>Password of the PEM-encoded private key.</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_SSL_PEM_CERT</h6></td>
+    <td><h6 class="properties">zeppelin.ssl.pem.cert</h6></td>
+    <td></td>
+    <td>This directive points to a file with certificate data in PEM format.</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_SSL_PEM_CA</h6></td>
+    <td><h6 class="properties">zeppelin.ssl.pem.ca</h6></td>
+    <td></td>
+    <td>This directive sets the all-in-one file where you can assemble the Certificates of Certification Authorities (CA) whose clients you deal with. These are used for Client Authentication. Such a file is simply the concatenation of the various PEM-encoded Certificate files.</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_HOMESCREEN</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.homescreen</h6></td>
+    <td></td>
+    <td>Display note IDs on the Apache Zeppelin homescreen <br />e.g. 2A94M5J1Z</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_HOMESCREEN_HIDE</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.homescreen.hide</h6></td>
+    <td>false</td>
+    <td>Hide the note ID set by <code>ZEPPELIN_NOTEBOOK_HOMESCREEN</code> on the Apache Zeppelin homescreen. <br />For the further information, please read <a href="../usage/other_features/customizing_homepage.html">Customize your Zeppelin homepage</a>.</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_WAR_TEMPDIR</h6></td>
+    <td><h6 class="properties">zeppelin.war.tempdir</h6></td>
+    <td>webapps</td>
+    <td>Location of the jetty temporary directory</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_DIR</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.dir</h6></td>
+    <td>notebook</td>
+    <td>The root directory where notebook directories are saved</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_S3_BUCKET</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.s3.bucket</h6></td>
+    <td>zeppelin</td>
+    <td>S3 Bucket where notebook files will be saved</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_S3_USER</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.s3.user</h6></td>
+    <td>user</td>
+    <td>User name of an S3 bucket<br />e.g. <code>bucket/user/notebook/2A94M5J1Z/note.json</code></td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_S3_ENDPOINT</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.s3.endpoint</h6></td>
+    <td>s3.amazonaws.com</td>
+    <td>Endpoint for the bucket</td>
+  </tr>
+  <tr>
+    <td>N/A</td>
+    <td><h6 class="properties">zeppelin.notebook.s3.timeout</h6></td>
+    <td>120000</td>
+    <td>Bucket endpoint request timeout in msec</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_S3_KMS_KEY_ID</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.s3.kmsKeyID</h6></td>
+    <td></td>
+    <td>AWS KMS Key ID to use for encrypting data in S3 (optional)</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_S3_EMP</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.s3.encryptionMaterialsProvider</h6></td>
+    <td></td>
+    <td>Class name of a custom S3 encryption materials provider implementation to use for encrypting data in S3 (optional)</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_S3_SSE</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.s3.sse</h6></td>
+    <td>false</td>
+    <td>Save notebooks to S3 with server-side encryption enabled</td>
+  </tr>
+  <tr>
+      <td><h6 class="properties">ZEPPELIN_NOTEBOOK_S3_CANNED_ACL</h6></td>
+      <td><h6 class="properties">zeppelin.notebook.s3.cannedAcl</h6></td>
+      <td></td>
+      <td>Save notebooks to S3 with the given [Canned ACL](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/model/CannedAccessControlList.html) which determines the S3 permissions.</td>
+  </tr>
+  <tr>
+      <td><h6 class="properties">ZEPPELIN_NOTEBOOK_S3_PATH_STYLE_ACCESS</h6></td>
+      <td><h6 class="properties">zeppelin.notebook.s3.pathStyleAccess</h6></td>
+      <td>false</td>
+      <td>Access S3 bucket using path style</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_S3_SIGNEROVERRIDE</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.s3.signerOverride</h6></td>
+    <td></td>
+    <td>Optional override to control which signature algorithm should be used to sign AWS requests</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_AZURE_CONNECTION_STRING</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.azure.connectionString</h6></td>
+    <td></td>
+    <td>The Azure storage account connection string<br />e.g. <br/><code>DefaultEndpointsProtocol=https;<br/>AccountName=&lt;accountName&gt;;<br/>AccountKey=&lt;accountKey&gt;</code></td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_AZURE_SHARE</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.azure.share</h6></td>
+    <td>zeppelin</td>
+    <td>Azure Share where the notebook files will be saved</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_AZURE_USER</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.azure.user</h6></td>
+    <td>user</td>
+    <td>Optional user name of an Azure file share<br />e.g. <code>share/user/notebook/2A94M5J1Z/note.json</code></td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_STORAGE</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.storage</h6></td>
+    <td>org.apache.zeppelin.notebook.repo.GitNotebookRepo</td>
+    <td>Comma separated list of notebook storage locations</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_ONE_WAY_SYNC</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.one.way.sync</h6></td>
+    <td>false</td>
+    <td>If there are multiple notebook storage locations, should we treat the first one as the only source of truth?</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_PUBLIC</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.public</h6></td>
+    <td>true</td>
+    <td>Make notebook public (set only <code>owners</code>) by default when created/imported. If set to <code>false</code> will add <code>user</code> to <code>readers</code> and <code>writers</code> as well, making it private and invisible to other users unless permissions are granted.</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_INTERPRETER_DIR</h6></td>
+    <td><h6 class="properties">zeppelin.interpreter.dir</h6></td>
+    <td>interpreter</td>
+    <td>Interpreter directory</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_INTERPRETER_DEP_MVNREPO</h6></td>
+    <td><h6 class="properties">zeppelin.interpreter.dep.mvnRepo</h6></td>
+    <td>https://repo1.maven.org/maven2/</td>
+    <td>Remote principal repository for interpreter's additional dependency loading</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_INTERPRETER_OUTPUT_LIMIT</h6></td>
+    <td><h6 class="properties">zeppelin.interpreter.output.limit</h6></td>
+    <td>102400</td>
+    <td>Output message from interpreter exceeding the limit will be truncated</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_INTERPRETER_CONNECT_TIMEOUT</h6></td>
+    <td><h6 class="properties">zeppelin.interpreter.connect.timeout</h6></td>
+    <td>30000</td>
+    <td>Output message from interpreter exceeding the limit will be truncated</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_DEP_LOCALREPO</h6></td>
+    <td><h6 class="properties">zeppelin.dep.localrepo</h6></td>
+    <td>local-repo</td>
+    <td>Local repository for dependency loader.<br>ex)visualiztion modules of npm.</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_HELIUM_NODE_INSTALLER_URL</h6></td>
+    <td><h6 class="properties">zeppelin.helium.node.installer.url</h6></td>
+    <td>https://nodejs.org/dist/</td>
+    <td>Remote Node installer url for Helium dependency loader</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_HELIUM_NPM_INSTALLER_URL</h6></td>
+    <td><h6 class="properties">zeppelin.helium.npm.installer.url</h6></td>
+    <td>http://registry.npmjs.org/</td>
+    <td>Remote Npm installer url for Helium dependency loader</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_HELIUM_YARNPKG_INSTALLER_URL</h6></td>
+    <td><h6 class="properties">zeppelin.helium.yarnpkg.installer.url</h6></td>
+    <td>https://github.com/yarnpkg/yarn/releases/download/</td>
+    <td>Remote Yarn package installer url for Helium dependency loader</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_WEBSOCKET_MAX_TEXT_MESSAGE_SIZE</h6></td>
+    <td><h6 class="properties">zeppelin.websocket.max.text.message.size</h6></td>
+    <td>1024000</td>
+    <td>Size(in characters) of the maximum text message that can be received by websocket.</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_SERVER_DEFAULT_DIR_ALLOWED</h6></td>
+    <td><h6 class="properties">zeppelin.server.default.dir.allowed</h6></td>
+    <td>false</td>
+    <td>Enable directory listings on server.</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_GIT_REMOTE_URL</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.git.remote.url</h6></td>
+    <td></td>
+    <td>GitHub's repository URL. It could be either the HTTP URL or the SSH URL. For example git@github.com:apache/zeppelin.git</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_GIT_REMOTE_USERNAME</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.git.remote.username</h6></td>
+    <td>token</td>
+    <td>GitHub username. By default it is `token` to use GitHub's API</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_GIT_REMOTE_ACCESS_TOKEN</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.git.remote.access-token</h6></td>
+    <td>token</td>
+    <td>GitHub access token to use GitHub's API. If username/password combination is used and not GitHub API, then this value is the password</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_GIT_REMOTE_ORIGIN</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.git.remote.origin</h6></td>
+    <td>token</td>
+    <td>GitHub remote name. Default is `origin`</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_RUN_MODE</h6></td>
+    <td><h6 class="properties">zeppelin.run.mode</h6></td>
+    <td>auto</td>
+    <td>Run mode. 'auto|local|k8s'. 'auto' autodetect environment. 'local' runs interpreter as a local process. k8s runs interpreter on Kubernetes cluster</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_K8S_PORTFORWARD</h6></td>
+    <td><h6 class="properties">zeppelin.k8s.portforward</h6></td>
+    <td>false</td>
+    <td>Port forward to interpreter rpc port. Set 'true' only on local development when zeppelin.k8s.mode 'on'. Don't use 'true' on production environment</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_K8S_CONTAINER_IMAGE</h6></td>
+    <td><h6 class="properties">zeppelin.k8s.container.image</h6></td>
+    <td>apache/zeppelin:0.9.0</td>
+    <td>Docker image for interpreters</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_K8S_SPARK_CONTAINER_IMAGE</h6></td>
+    <td><h6 class="properties">zeppelin.k8s.spark.container.image</h6></td>
+    <td>apache/spark:latest</td>
+    <td>Docker image for Spark executors</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_K8S_TEMPLATE_DIR</h6></td>
+    <td><h6 class="properties">zeppelin.k8s.template.dir</h6></td>
+    <td>k8s</td>
+    <td>Kubernetes yaml spec files</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_K8S_SERVICE_NAME</h6></td>
+    <td><h6 class="properties">zeppelin.k8s.service.name</h6></td>
+    <td>zeppelin-server</td>
+    <td>Name of the Zeppelin server service resources</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_K8S_TIMEOUT_DURING_PENDING</h6></td>
+    <td><h6 class="properties">zeppelin.k8s.timeout.during.pending</h6></td>
+    <td>true</td>
+    <td>Value to enable/disable timeout handling when starting Interpreter Pods. Caution: This can lead to an infinity loop</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_METRIC_ENABLE_PROMETHEUS</h6></td>
+    <td><h6 class="properties">zeppelin.metric.enable.prometheus</h6></td>
+    <td>false</td>
+    <td>Value to enable/disable Prometheus metric endpoint on /metric</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_CRON_ENABLE</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.cron.enable</h6></td>
+    <td>false</td>
+    <td>Value to enable/disable Cron support in Notes</td>
+  </tr>
+  <tr>
+    <td><h6 class="properties">ZEPPELIN_NOTEBOOK_CRON_FOLDERS</h6></td>
+    <td><h6 class="properties">zeppelin.notebook.cron.folders</h6></td>
+    <td></td>
+    <td>comma-separated list of folder, where cron is allowed</td>
+  </tr>
+</table>
+
+<h2>SSL Configuration</h2>
+
+<p>Enabling SSL requires a few configuration changes. First, you need to create certificates and then update necessary configurations to enable server side SSL and/or client side certificate authentication.</p>
+
+<h3>Creating and configuring the Certificates</h3>
+
+<p>Information how about to generate certificates and a keystore can be found <a href="https://wiki.eclipse.org/Jetty/Howto/Configure_SSL">here</a>.</p>
+
+<p>A condensed example can be found in the top answer to this <a href="http://stackoverflow.com/questions/4008837/configure-ssl-on-jetty">StackOverflow post</a>.</p>
+
+<p>The keystore holds the private key and certificate on the server end. The trustore holds the trusted client certificates. Be sure that the path and password for these two stores are correctly configured in the password fields below. They can be obfuscated using the Jetty password tool. After Maven pulls in all the dependency to build Zeppelin, one of the Jetty jars contain the Password tool. Invoke this command from the Zeppelin home build directory with the appropriate version, user, and password.</p>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash">java -cp ./zeppelin-server/target/lib/jetty-all-server-&lt;version&gt;.jar <span class="se">\</span>
+org.eclipse.jetty.util.security.Password &lt;user&gt; &lt;password&gt;
+</code></pre></div>
+<p>If you are using a self-signed, a certificate signed by an untrusted CA, or if client authentication is enabled, then the client must have a browser create exceptions for both the normal HTTPS port and WebSocket port. This can by done by trying to establish an HTTPS connection to both ports in a browser (e.g. if the ports are 443 and 8443, then visit https://127.0.0.1:443 and https://127.0.0.1:8443). This step can be skipped if the server certificate is signed by a trusted CA and client auth is disabled.</p>
+
+<h3>Configuring server side SSL</h3>
+
+<p>The following properties needs to be updated in the <code>zeppelin-site.xml</code> in order to enable server side SSL.</p>
+<div class="highlight"><pre><code class="xml language-xml" data-lang="xml"><span class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>zeppelin.server.ssl.port<span class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>8443<span class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>Server ssl port. (used when ssl property is set to true)<span class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+
+<span class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>zeppelin.ssl<span class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>true<span class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>Should SSL be used by the servers?<span class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+
+<span class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>zeppelin.ssl.keystore.path<span class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>keystore<span class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>Path to keystore relative to Zeppelin configuration directory<span class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+
+<span class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>zeppelin.ssl.keystore.type<span class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>JKS<span class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>The format of the given keystore (e.g. JKS or PKCS12)<span class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+
+<span class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>zeppelin.ssl.keystore.password<span class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>change me<span class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>Keystore password. Can be obfuscated by the Jetty Password tool<span class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+
+<span class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>zeppelin.ssl.key.manager.password<span class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>change me<span class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>Key Manager password. Defaults to keystore password. Can be obfuscated.<span class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+</code></pre></div>
+<h3>Enabling client side certificate authentication</h3>
+
+<p>The following properties needs to be updated in the <code>zeppelin-site.xml</code> in order to enable client side certificate authentication.</p>
+<div class="highlight"><pre><code class="xml language-xml" data-lang="xml"><span class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>zeppelin.server.ssl.port<span class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>8443<span class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>Server ssl port. (used when ssl property is set to true)<span class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+
+<span class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>zeppelin.ssl.client.auth<span class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>true<span class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>Should client authentication be used for SSL connections?<span class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+
+<span class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>zeppelin.ssl.truststore.path<span class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>truststore<span class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>Path to truststore relative to Zeppelin configuration directory. Defaults to the keystore path<span class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+
+<span class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>zeppelin.ssl.truststore.type<span class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>JKS<span class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>The format of the given truststore (e.g. JKS or PKCS12). Defaults to the same type as the keystore type<span class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+
+<span class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>zeppelin.ssl.truststore.password<span class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>change me<span class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>Truststore password. Can be obfuscated by the Jetty Password tool. Defaults to the keystore password<span class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+</code></pre></div>
+<h3>Storing user credentials</h3>
+
+<p>In order to avoid having to re-enter credentials every time you restart/redeploy Zeppelin, you can store the user credentials. Zeppelin supports this via the ZEPPELIN<em>CREDENTIALS</em>PERSIST configuration.</p>
+
+<p>Please notice that passwords will be stored in <em>plain text</em> by default. To encrypt the passwords, use the ZEPPELIN<em>CREDENTIALS</em>ENCRYPT_KEY config variable. This will encrypt passwords using the AES-128 algorithm.</p>
+
+<p>You can generate an appropriate encryption key any way you&#39;d like - for instance, by using the openssl tool:</p>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash">openssl enc -aes-128-cbc -k secret -P -md sha1
+</code></pre></div>
+<p><em>Important</em>: storing your encryption key in a configuration file is <em>not advised</em>. Depending on your environment security needs, you may want to consider utilizing a credentials server, storing the ZEPPELIN<em>CREDENTIALS</em>ENCRYPT_KEY as an OS env variable, or any other approach that would not colocate the encryption key and the encrypted content (the credentials.json file).</p>
+
+<h3>Obfuscating Passwords using the Jetty Password Tool</h3>
+
+<p>Security best practices advise to not use plain text passwords and Jetty provides a password tool to help obfuscating the passwords used to access the KeyStore and TrustStore.</p>
+
+<p>The Password tool documentation can be found <a href="http://www.eclipse.org/jetty/documentation/current/configuring-security-secure-passwords.html">here</a>.</p>
+
+<p>After using the tool:</p>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash">java -cp <span class="nv">$ZEPPELIN_HOME</span>/zeppelin-server/target/lib/jetty-util-9.2.15.v20160210.jar <span class="se">\</span>
+         org.eclipse.jetty.util.security.Password  <span class="se">\</span>
+         password
+
+2016-12-15 10:46:47.931:INFO::main: Logging initialized @101ms
+password
+OBF:1v2j1uum1xtv1zej1zer1xtn1uvk1v1v
+MD5:5f4dcc3b5aa765d61d8327deb882cf99
+</code></pre></div>
+<p>update your configuration with the obfuscated password :</p>
+<div class="highlight"><pre><code class="xml language-xml" data-lang="xml"><span class="nt">&lt;property&gt;</span>
+  <span class="nt">&lt;name&gt;</span>zeppelin.ssl.keystore.password<span class="nt">&lt;/name&gt;</span>
+  <span class="nt">&lt;value&gt;</span>OBF:1v2j1uum1xtv1zej1zer1xtn1uvk1v1v<span class="nt">&lt;/value&gt;</span>
+  <span class="nt">&lt;description&gt;</span>Keystore password. Can be obfuscated by the Jetty Password tool<span class="nt">&lt;/description&gt;</span>
+<span class="nt">&lt;/property&gt;</span>
+</code></pre></div>
+<h3>Create GitHub Access Token</h3>
+
+<p>When using GitHub to track notebooks, one can use GitHub&#39;s API for authentication. To create an access token, please use the following link https://github.com/settings/tokens.
+The value of the access token generated is set in the <code>zeppelin.notebook.git.remote.access-token</code> property.</p>
+
+<p><strong>Note:</strong> After updating these configurations, Zeppelin server needs to be restarted.</p>
+
+  </div>
+</div>
+
+
+      <hr>
+      <footer>
+        <!-- <p>&copy; 2020 The Apache Software Foundation</p>-->
+      </footer>
+    </div>
+
+    
+
+
+  <script type="text/javascript">
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-45176241-5', 'zeppelin.apache.org');
+  ga('require', 'linkid', 'linkid.js');
+  ga('send', 'pageview');
+
+</script>
+
+
+
+  </body>
+</html>
+

Added: zeppelin/site/docs/0.9.0/setup/operation/monitoring.html
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.9.0/setup/operation/monitoring.html?rev=1884775&view=auto
==============================================================================
--- zeppelin/site/docs/0.9.0/setup/operation/monitoring.html (added)
+++ zeppelin/site/docs/0.9.0/setup/operation/monitoring.html Thu Dec 24 14:36:01 2020
@@ -0,0 +1,322 @@
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Apache Zeppelin 0.9.0 Documentation: Apache Zeppelin Monitoring</title>
+    <meta name="description" content="This page shows you the monitoring options you have in Apache Zeppelin">
+    <meta name="author" content="The Apache Software Foundation">
+
+    <!-- Enable responsive viewport -->
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
+
+    <!-- Le styles -->
+    <link href="/docs/0.9.0/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
+    <link href="/docs/0.9.0/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
+    <link href="/docs/0.9.0/assets/themes/zeppelin/css/syntax.css" rel="stylesheet"  type="text/css" media="screen" /> 
+    <!-- Le fav and touch icons -->
+    <!-- Update these with your own images
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    -->
+
+    <!-- Js -->
+    <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
+    <script src="/docs/0.9.0/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+    <script src="/docs/0.9.0/assets/themes/zeppelin/js/docs.js"></script>
+    <script src="/docs/0.9.0/assets/themes/zeppelin/js/anchor.min.js"></script>
+    <script src="/docs/0.9.0/assets/themes/zeppelin/js/toc.js"></script>
+    <script src="/docs/0.9.0/assets/themes/zeppelin/js/lunr.min.js"></script>
+    <script src="/docs/0.9.0/assets/themes/zeppelin/js/search.js"></script>    
+
+    <!-- atom & rss feed -->
+    <link href="/docs/0.9.0/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+    <link href="/docs/0.9.0/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
+  </head>
+
+  <body>
+    
+        <div id="menu" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+      <div class="container navbar-container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <div class="navbar-brand">
+            <a class="navbar-brand-main" href="http://zeppelin.apache.org">
+              <img src="/docs/0.9.0/assets/themes/zeppelin/img/zeppelin_logo.png" width="50"
+                   style="margin-top: -2px;" alt="I'm zeppelin">
+              <span style="margin-left: 5px; font-size: 27px;">Zeppelin</span>
+              <a class="navbar-brand-version" href="/docs/0.9.0"
+                 style="font-size: 15px; color: white;"> 0.9.0
+              </a>
+            </a>
+          </div>
+        </div>
+        <nav class="navbar-collapse collapse" role="navigation">
+          <ul class="nav navbar-nav">
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick Start <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span>Getting Started</span></li>
+                <li><a href="/docs/0.9.0/quickstart/install.html">Install</a></li>
+                <li><a href="/docs/0.9.0/quickstart/explore_ui.html">Explore UI</a></li>
+                <li><a href="/docs/0.9.0/quickstart/tutorial.html">Tutorial</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Run Mode</span></li>
+                <li><a href="/docs/0.9.0/quickstart/kubernetes.html">Kubernetes</a></li>
+                <li><a href="/docs/0.9.0/quickstart/docker.html">Docker</a></li>
+                <li><a href="/docs/0.9.0/quickstart/yarn.html">Yarn</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/docs/0.9.0/quickstart/spark_with_zeppelin.html">Spark with Zeppelin</a></li>
+                <li><a href="/docs/0.9.0/quickstart/sql_with_zeppelin.html">SQL with Zeppelin</a></li>
+                <li><a href="/docs/0.9.0/quickstart/python_with_zeppelin.html">Python with Zeppelin</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Usage<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Dynamic Form</span></li>
+                <li><a href="/docs/0.9.0/usage/dynamic_form/intro.html">What is Dynamic Form?</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Display System</span></li>
+                <li><a href="/docs/0.9.0/usage/display_system/basic.html#text">Text Display</a></li>
+                <li><a href="/docs/0.9.0/usage/display_system/basic.html#html">HTML Display</a></li>
+                <li><a href="/docs/0.9.0/usage/display_system/basic.html#table">Table Display</a></li>
+                <li><a href="/docs/0.9.0/usage/display_system/basic.html#network">Network Display</a></li>
+                <li><a href="/docs/0.9.0/usage/display_system/angular_backend.html">Angular Display using Backend API</a></li>
+                <li><a href="/docs/0.9.0/usage/display_system/angular_frontend.html">Angular Display using Frontend API</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Interpreter</span></li>
+                <li><a href="/docs/0.9.0/usage/interpreter/overview.html">Overview</a></li>
+                <li><a href="/docs/0.9.0/usage/interpreter/interpreter_binding_mode.html">Interpreter Binding Mode</a></li>
+                <li><a href="/docs/0.9.0/usage/interpreter/user_impersonation.html">User Impersonation</a></li>
+                <li><a href="/docs/0.9.0/usage/interpreter/dependency_management.html">Dependency Management</a></li>
+                <li><a href="/docs/0.9.0/usage/interpreter/installation.html">Installing Interpreters</a></li>
+                <!--<li><a href="/docs/0.9.0/usage/interpreter/dynamic_loading.html">Dynamic Interpreter Loading (Experimental)</a></li>-->
+                <li><a href="/docs/0.9.0/usage/interpreter/execution_hooks.html">Execution Hooks (Experimental)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Other Features</span></li>
+                <li><a href="/docs/0.9.0/usage/other_features/publishing_paragraphs.html">Publishing Paragraphs</a></li>
+                <li><a href="/docs/0.9.0/usage/other_features/personalized_mode.html">Personalized Mode</a></li>
+                <li><a href="/docs/0.9.0/usage/other_features/customizing_homepage.html">Customizing Zeppelin Homepage</a></li>
+                <li><a href="/docs/0.9.0/usage/other_features/notebook_actions.html">Notebook Actions</a></li>
+                <li><a href="/docs/0.9.0/usage/other_features/cron_scheduler.html">Cron Scheduler</a></li>
+                <li><a href="/docs/0.9.0/usage/other_features/zeppelin_context.html">Zeppelin Context</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>REST API</span></li>
+                <li><a href="/docs/0.9.0/usage/rest_api/interpreter.html">Interpreter API</a></li>
+                <li><a href="/docs/0.9.0/usage/rest_api/zeppelin_server.html">Zeppelin Server API</a></li>
+                <li><a href="/docs/0.9.0/usage/rest_api/notebook.html">Notebook API</a></li>
+                <li><a href="/docs/0.9.0/usage/rest_api/notebook_repository.html">Notebook Repository API</a></li>
+                <li><a href="/docs/0.9.0/usage/rest_api/configuration.html">Configuration API</a></li>
+                <li><a href="/docs/0.9.0/usage/rest_api/credential.html">Credential API</a></li>
+                <li><a href="/docs/0.9.0/usage/rest_api/helium.html">Helium API</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Setup<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Basics</span></li>
+                <li><a href="/docs/0.9.0/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/docs/0.9.0/setup/basics/hadoop_integration.html">Hadoop Integration</a></li>
+                <li><a href="/docs/0.9.0/setup/basics/multi_user_support.html">Multi-user Support</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Deployment</span></li>
+                <!--<li><a href="/docs/0.9.0/setup/deployment/docker.html">Docker Image for Zeppelin</a></li>-->
+                <li><a href="/docs/0.9.0/setup/deployment/spark_cluster_mode.html#spark-standalone-mode">Spark Cluster Mode: Standalone</a></li>
+                <li><a href="/docs/0.9.0/setup/deployment/spark_cluster_mode.html#spark-on-yarn-mode">Spark Cluster Mode: YARN</a></li>
+                <li><a href="/docs/0.9.0/setup/deployment/spark_cluster_mode.html#spark-on-mesos-mode">Spark Cluster Mode: Mesos</a></li>
+                <li><a href="/docs/0.9.0/setup/deployment/flink_and_spark_cluster.html">Zeppelin with Flink, Spark Cluster</a></li>
+                <li><a href="/docs/0.9.0/setup/deployment/cdh.html">Zeppelin on CDH</a></li>
+                <li><a href="/docs/0.9.0/setup/deployment/virtual_machine.html">Zeppelin on VM: Vagrant</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Security</span></li>
+                <li><a href="/docs/0.9.0/setup/security/authentication_nginx.html">HTTP Basic Auth using NGINX</a></li>
+                <li><a href="/docs/0.9.0/setup/security/shiro_authentication.html">Shiro Authentication</a></li>
+                <li><a href="/docs/0.9.0/setup/security/notebook_authorization.html">Notebook Authorization</a></li>
+                <li><a href="/docs/0.9.0/setup/security/datasource_authorization.html">Data Source Authorization</a></li>
+                <li><a href="/docs/0.9.0/setup/security/http_security_headers.html">HTTP Security Headers</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Notebook Storage</span></li>
+                <li><a href="/docs/0.9.0/setup/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
+                <li><a href="/docs/0.9.0/setup/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
+                <li><a href="/docs/0.9.0/setup/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
+                <li><a href="/docs/0.9.0/setup/storage/storage.html#notebook-storage-in-oss">OSS Storage</a></li>
+                <li><a href="/docs/0.9.0/setup/storage/storage.html#notebook-storage-in-zeppelinhub">ZeppelinHub Storage</a></li>
+                <li><a href="/docs/0.9.0/setup/storage/storage.html#notebook-storage-in-mongodb">MongoDB Storage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Operation</span></li>
+                <li><a href="/docs/0.9.0/setup/operation/configuration.html">Configuration</a></li>
+                <li><a href="/docs/0.9.0/setup/operation/proxy_setting.html">Proxy Setting</a></li>
+                <li><a href="/docs/0.9.0/setup/operation/upgrading.html">Upgrading</a></li>
+                <li><a href="/docs/0.9.0/setup/operation/trouble_shooting.html">Trouble Shooting</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Interpreter <b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Interpreters</span></li>
+                <li><a href="/docs/0.9.0/usage/interpreter/overview.html">Overview</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/docs/0.9.0/interpreter/spark.html">Spark</a></li>
+                <li><a href="/docs/0.9.0/interpreter/jdbc.html">JDBC</a></li>
+                <li><a href="/docs/0.9.0/interpreter/python.html">Python</a></li>
+                <li><a href="/docs/0.9.0/interpreter/r.html">R</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/docs/0.9.0/interpreter/alluxio.html">Alluxio</a></li>
+                <li><a href="/docs/0.9.0/interpreter/beam.html">Beam</a></li>
+                <li><a href="/docs/0.9.0/interpreter/bigquery.html">BigQuery</a></li>
+                <li><a href="/docs/0.9.0/interpreter/cassandra.html">Cassandra</a></li>
+                <li><a href="/docs/0.9.0/interpreter/elasticsearch.html">Elasticsearch</a></li>
+                <li><a href="/docs/0.9.0/interpreter/flink.html">Flink</a></li>
+                <li><a href="/docs/0.9.0/interpreter/geode.html">Geode</a></li>
+                <li><a href="/docs/0.9.0/interpreter/groovy.html">Groovy</a></li>
+                <li><a href="/docs/0.9.0/interpreter/hazelcastjet.html">Hazelcast Jet</a></li>
+                <li><a href="/docs/0.9.0/interpreter/hbase.html">HBase</a></li>
+                <li><a href="/docs/0.9.0/interpreter/hdfs.html">HDFS</a></li>
+                <li><a href="/docs/0.9.0/interpreter/hive.html">Hive</a></li>
+                <li><a href="/docs/0.9.0/interpreter/ignite.html">Ignite</a></li>
+                <li><a href="/docs/0.9.0/interpreter/java.html">Java</a></li>
+                <li><a href="/docs/0.9.0/interpreter/jupyter.html">Jupyter</a></li>
+                <li><a href="/docs/0.9.0/interpreter/kotlin.html">Kotlin</a></li>
+                <li><a href="/docs/0.9.0/interpreter/kylin.html">Kylin</a></li>
+                <li><a href="/docs/0.9.0/interpreter/lens.html">Lens</a></li>
+                <li><a href="/docs/0.9.0/interpreter/livy.html">Livy</a></li>
+                <li><a href="/docs/0.9.0/interpreter/markdown.html">Markdown</a></li>
+                <li><a href="/docs/0.9.0/interpreter/mongodb.html">MongoDB</a></li>
+                <li><a href="/docs/0.9.0/interpreter/neo4j.html">Neo4j</a></li>
+                <li><a href="/docs/0.9.0/interpreter/pig.html">Pig</a></li>
+                <li><a href="/docs/0.9.0/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+                <li><a href="/docs/0.9.0/interpreter/scalding.html">Scalding</a></li>
+                <li><a href="/docs/0.9.0/interpreter/scio.html">Scio</a></li>
+                <li><a href="/docs/0.9.0/interpreter/shell.html">Shell</a></li>
+                <li><a href="/docs/0.9.0/interpreter/sparql.html">Sparql</a></li>
+                <li><a href="/docs/0.9.0/interpreter/submarine.html">Submarine</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">More<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu" style="right: 0; left: auto;">
+                <li class="title"><span>Extending Zeppelin</span></li>
+                <li><a href="/docs/0.9.0/development/writing_zeppelin_interpreter.html">Writing Zeppelin Interpreter</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Helium (Experimental)</span></li>
+                <li><a href="/docs/0.9.0/development/helium/overview.html">Overview</a></li>
+                <li><a href="/docs/0.9.0/development/helium/writing_application.html">Writing Helium Application</a></li>
+                <li><a href="/docs/0.9.0/development/helium/writing_spell.html">Writing Helium Spell</a></li>
+                <li><a href="/docs/0.9.0/development/helium/writing_visualization_basic.html">Writing Helium Visualization: Basics</a></li>
+                <li><a href="/docs/0.9.0/development/helium/writing_visualization_transformation.html">Writing Helium Visualization: Transformation</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Contributing to Zeppelin</span></li>
+                <li><a href="/docs/0.9.0/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/docs/0.9.0/development/contribution/useful_developer_tools.html">Useful Developer Tools</a></li>
+                <li><a href="/docs/0.9.0/development/contribution/how_to_contribute_code.html">How to Contribute (code)</a></li>
+                <li><a href="/docs/0.9.0/development/contribution/how_to_contribute_website.html">How to Contribute (website)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>External Resources</span></li>
+                <li><a target="_blank" href="https://zeppelin.apache.org/community.html">Mailing List</a></li>
+                <li><a target="_blank" href="https://cwiki.apache.org/confluence/display/ZEPPELIN/Zeppelin+Home">Apache Zeppelin Wiki</a></li>
+                <li><a target="_blank" href="http://stackoverflow.com/questions/tagged/apache-zeppelin">Stackoverflow Questions about Zeppelin</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="/docs/0.9.0/search.html" class="nav-search-link">
+                <span class="fa fa-search nav-search-icon"></span>
+              </a>
+            </li>
+          </ul>
+        </nav><!--/.navbar-collapse -->
+      </div>
+    </div>
+
+
+
+    <div class="content">
+      
+<!--<div class="hero-unit Apache Zeppelin Monitoring">
+  <h1></h1>
+</div>
+-->
+
+<div class="row">
+  <div class="col-md-12">
+    <!--
+Licensed 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>Apache Zeppelin Monitoring</h1>
+
+<div id="toc"></div>
+
+<h2>Monitoring Options</h2>
+
+<p>Apache Zeppelin is using <a href="https://micrometer.io/">Micrometer</a> - a vendor-neutral application metrics facade.</p>
+
+<h3>Prometheus Monitoring</h3>
+
+<p><a href="https://prometheus.io/">Prometheus</a> is the leading monitoring solution for <a href="https://kubernetes.io/">Kubernetes</a>. The Prometheus endpoint can be activated with the configuration property <code>zeppelin.metric.enable.prometheus</code>. The metrics are accessible via the unauthenticated endpoint <code>/metrics</code>.</p>
+
+<h3>JMX Monitoring</h3>
+
+<p><a href="https://en.wikipedia.org/wiki/Java_Management_Extensions">JMX</a> is a general solution for monitoring Java applications. JMX can be activated with the configuration property <code>zeppelin.jmx.enable</code>. The default port 9996 can be changed with the configuration property <code>zeppelin.jmx.port</code>.</p>
+
+<h2>Healthcheck Probe</h2>
+
+<p>Apache Zeppelin has two healthcheck related unauthenticated endpoints (<code>/health/readiness</code>, <code>/health/liveness</code>) that could be used for proxy and/or cloud setups.</p>
+
+  </div>
+</div>
+
+
+      <hr>
+      <footer>
+        <!-- <p>&copy; 2020 The Apache Software Foundation</p>-->
+      </footer>
+    </div>
+
+    
+
+
+  <script type="text/javascript">
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-45176241-5', 'zeppelin.apache.org');
+  ga('require', 'linkid', 'linkid.js');
+  ga('send', 'pageview');
+
+</script>
+
+
+
+  </body>
+</html>
+