You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by gi...@apache.org on 2022/07/08 10:57:37 UTC

[accumulo-website] branch asf-staging updated: Automatic Site Publish by Buildbot

This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/accumulo-website.git


The following commit(s) were added to refs/heads/asf-staging by this push:
     new e40c2a4b Automatic Site Publish by Buildbot
e40c2a4b is described below

commit e40c2a4b829219e931687f3a1ee2196aad78419e
Author: buildbot <us...@infra.apache.org>
AuthorDate: Fri Jul 8 10:57:33 2022 +0000

    Automatic Site Publish by Buildbot
---
 .../blog/2022/06/22/2.1.0-metrics-and-tracing.html | 313 +++++++++++++++++++++
 output/feed.xml                                    | 296 +++++++++----------
 .../Grafana_Screenshot.png                         | Bin 0 -> 110206 bytes
 .../Jaeger_Screenshot.png                          | Bin 0 -> 115638 bytes
 output/index.html                                  |  14 +-
 output/news/index.html                             |   7 +
 output/search_data.json                            |   8 +
 7 files changed, 486 insertions(+), 152 deletions(-)

diff --git a/output/blog/2022/06/22/2.1.0-metrics-and-tracing.html b/output/blog/2022/06/22/2.1.0-metrics-and-tracing.html
new file mode 100644
index 00000000..d42a4b41
--- /dev/null
+++ b/output/blog/2022/06/22/2.1.0-metrics-and-tracing.html
@@ -0,0 +1,313 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<link href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/paper/bootstrap.min.css" rel="stylesheet" integrity="sha384-awusxf8AUojygHf2+joICySzB780jVvQaVCAt1clU3QsyAitLGul28Qxb2r1e5g+" crossorigin="anonymous">
+<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
+<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs/jq-2.2.3/dt-1.10.12/datatables.min.css">
+<link href="/css/accumulo.css" rel="stylesheet" type="text/css">
+
+<title>2.1.0 Metrics and Tracing Changes</title>
+
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
+<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
+<script type="text/javascript" src="https://cdn.datatables.net/v/bs/jq-2.2.3/dt-1.10.12/datatables.min.js"></script>
+<script type="text/javascript" src="https://www.apachecon.com/event-images/snippet.js"></script>
+<script>
+  // show location of canonical site if not currently on the canonical site
+  $(function() {
+    var host = window.location.host;
+    if (typeof host !== 'undefined' && host !== 'accumulo.apache.org') {
+      $('#non-canonical').show();
+    }
+  });
+
+  $(function() {
+    // decorate section headers with anchors
+    return $("h2, h3, h4, h5, h6").each(function(i, el) {
+      var $el, icon, id;
+      $el = $(el);
+      id = $el.attr('id');
+      icon = '<i class="fa fa-link"></i>';
+      if (id) {
+        return $el.append($("<a />").addClass("header-link").attr("href", "#" + id).html(icon));
+      }
+    });
+  });
+
+  // fix sidebar width in documentation
+  $(function() {
+    var $affixElement = $('div[data-spy="affix"]');
+    $affixElement.width($affixElement.parent().width());
+  });
+</script>
+
+</head>
+<body style="padding-top: 100px">
+
+  <nav class="navbar navbar-default navbar-fixed-top">
+  <div class="container">
+    <div class="navbar-header">
+      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-items">
+        <span class="sr-only">Toggle navigation</span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+      </button>
+      <a href="/"><img id="nav-logo" alt="Apache Accumulo" class="img-responsive" src="/images/accumulo-logo.png" width="200"
+        /></a>
+    </div>
+    <div class="collapse navbar-collapse" id="navbar-items">
+      <ul class="nav navbar-nav">
+        <li class="nav-link"><a href="/downloads">Download</a></li>
+        <li class="nav-link"><a href="/tour">Tour</a></li>
+        <li class="dropdown">
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Releases<span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="/release/accumulo-2.0.1/">2.0.1 (Latest)</a></li>
+            <li><a href="/release/accumulo-1.10.2/">1.10.2</a></li>
+            <li><a href="/release/">Archive</a></li>
+          </ul>
+        </li>
+        <li class="dropdown">
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Documentation<span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="/docs/2.x">User Manual (2.x)</a></li>
+            <li><a href="/docs/2.x/apidocs">Javadocs (2.0)</a></li>
+            <li><a href="/api">Public API</a></li>
+            <li><a href="/quickstart-1.x">Quickstart (1.x)</a></li>
+            <li><a href="/accumulo2-maven-plugin">Accumulo Maven Plugin</a></li>
+            <li><a href="/1.10/accumulo_user_manual.html">User Manual (1.10)</a></li>
+            <li><a href="/1.10/apidocs">Javadocs (1.10)</a></li>
+            <li><a href="/external-docs">External Docs</a></li>
+            <li><a href="/docs-archive/">Archive</a></li>
+          </ul>
+        </li>
+        <li class="dropdown">
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Community<span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="/contact-us">Contact Us</a></li>
+            <li><a href="/how-to-contribute">How To Contribute</a></li>
+            <li><a href="/people">People</a></li>
+            <li><a href="/related-projects">Related Projects</a></li>
+          </ul>
+        </li>
+        <li class="nav-link"><a href="/search">Search</a></li>
+      </ul>
+      <ul class="nav navbar-nav navbar-right">
+        <li class="dropdown">
+          <a class="dropdown-toggle" data-toggle="dropdown" href="#"><img alt="Apache Software Foundation" src="https://www.apache.org/foundation/press/kit/feather.svg" width="15"/><span class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="https://www.apache.org">Apache Homepage <i class="fa fa-external-link"></i></a></li>
+            <li><a href="https://www.apache.org/licenses/">License <i class="fa fa-external-link"></i></a></li>
+            <li><a href="https://www.apache.org/foundation/sponsorship">Sponsorship <i class="fa fa-external-link"></i></a></li>
+            <li><a href="https://www.apache.org/security">Security <i class="fa fa-external-link"></i></a></li>
+            <li><a href="https://www.apache.org/foundation/thanks">Thanks <i class="fa fa-external-link"></i></a></li>
+            <li><a href="https://www.apache.org/foundation/policies/conduct">Code of Conduct <i class="fa fa-external-link"></i></a></li>
+            <li><a href="https://www.apache.org/events/current-event.html">Current Event <i class="fa fa-external-link"></i></a></li>
+          </ul>
+        </li>
+      </ul>
+    </div>
+  </div>
+</nav>
+
+
+  <div class="container">
+    <div class="row">
+      <div class="col-md-12">
+
+        <div id="non-canonical" style="display: none; background-color: #F0E68C; padding-left: 1em;">
+          Visit the official site at: <a href="https://accumulo.apache.org">https://accumulo.apache.org</a>
+        </div>
+        <div id="content">
+          
+          <h1 class="title">2.1.0 Metrics and Tracing Changes</h1>
+          
+          <p>
+<b>Author: </b>&nbsp;&nbsp;Dave Marion<br>
+<b>Date: </b>&nbsp;&nbsp;22 Jun 2022<br>
+
+</p>
+
+<p>Metrics and Tracing changed in 2.1.0. This post explains the new implementations and provides examples on how to configure them.</p>
+
+<h1 id="metrics">Metrics</h1>
+
+<p>Accumulo was <a href="https://issues.apache.org/jira/browse/ACCUMULO-1817">modified</a> in version 1.7.0 (2015) to use the Hadoop Metrics2 framework for capturing and emitting internal Accumulo metrics. <a href="https://micrometer.io/">Micrometer</a>, a newer metrics framework, supports sending metrics to many popular <a href="https://micrometer.io/docs/concepts#_supported_monitoring_systems">monitoring systems</a>. In Accumulo 2.1.0 support for the Hadoop Metrics2 framework has been  [...]
+
+<p>Micrometer has the concept of a <a href="https://micrometer.io/docs/concepts#_registry">MeterRegistry</a>, which is used to create and emit metrics to the supported monitoring systems. Additionally, Micrometer supports sending metrics to multiple monitoring systems concurrently. Configuring Micrometer in Accumulo will require you to write a small peice of code to provide the MeterRegistry configuration. Specifically, you will need to create a class that implements <a href="https://git [...]
+
+<p>Accumulo’s metrics integration test uses a <a href="https://github.com/apache/accumulo/blob/main/test/src/main/java/org/apache/accumulo/test/metrics/TestStatsDRegistryFactory.java">TestStatsDRegistryFactory</a> to create and configure a <a href="https://micrometer.io/docs/registry/statsD">StatsD Meter Registry</a>. The instructions below provide an example of how to use this class to emit Accumulo’s metrics to a Telegraf - InfluxDB - Grafana monitoring stack.</p>
+
+<h2 id="metrics-example">Metrics Example</h2>
+
+<p>This example uses a Docker container that contains Telegraf-InfluxDB-Grafana system. We will configure Accumulo to send metrics to the <a href="https://www.influxdata.com/time-series-platform/telegraf/">Telegraf</a> component running in the Docker image. Telegraf will persist the metrics in <a href="https://www.influxdata.com/products/influxdb-overview/">InfluxDB</a> and then we will visualize the metris using <a href="https://grafana.com/">Grafana</a>. This example assumes that you h [...]
+
+<ol>
+  <li>Download the Telegraf-Influx-Grafana (TIG) Docker image
+    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker pull artlov/docker-telegraf-influxdb-grafana:latest
+</code></pre></div>    </div>
+  </li>
+  <li>Create directories for the Docker container
+    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mkdir -p /tmp/metrics/influxdb
+chmod 777 /tmp/metrics/influxdb
+mkdir /tmp/metrics/grafana
+mkdir /tmp/metrics/grafana-dashboards
+mkdir -p /tmp/metrics/telegraf/conf
+</code></pre></div>    </div>
+  </li>
+  <li>Download Telegraf configuration and Grafana dashboard
+    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd /tmp/metrics/telegraf/conf
+wget https://raw.githubusercontent.com/apache/accumulo-testing/main/contrib/terraform-testing-infrastructure/modules/config-files/templates/telegraf.conf.tftpl
+cat telegraf.conf.tftpl | sed "s/\${manager_ip}/localhost/" &gt; telegraf.conf
+cd /tmp/metrics/grafana-dashboards
+wget https://raw.githubusercontent.com/apache/accumulo-testing/main/contrib/terraform-testing-infrastructure/modules/config-files/files/grafana_dashboards/accumulo-dashboard.json
+wget https://raw.githubusercontent.com/apache/accumulo-testing/main/contrib/terraform-testing-infrastructure/modules/config-files/files/grafana_dashboards/accumulo-dashboard.yaml
+</code></pre></div>    </div>
+  </li>
+  <li>Start the TIG Docker container
+    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker run --ulimit nofile=66000:66000 -d --rm \
+ --restart always \
+ --name tig-stack \
+ -p 3003:3003 \
+ -p 3004:8888 \
+ -p 8086:8086 \
+ -p 22022:22 \
+ -p 8125:8125/udp \
+ -v /tmp/metrics/influxdb:/var/lib/influxdb \
+ -v /tmp/metrics/grafana:/var/lib/grafana \
+ -v /tmp/metrics/telegraf/conf:/etc/telegraf \
+ -v /tmp/metrics/grafana-dashboards:/etc/grafana/provisioning/dashboards \
+ artlov/docker-telegraf-influxdb-grafana:latest
+</code></pre></div>    </div>
+  </li>
+  <li>Download Micrometer StatsD Meter Registry jar
+    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>wget -O micrometer-registry-statsd-1.9.1.jar https://search.maven.org/remotecontent?filepath=io/micrometer/micrometer-registry-statsd/1.9.1/micrometer-registry-statsd-1.9.1.jar
+</code></pre></div>    </div>
+  </li>
+  <li>At a mininum you need to enable the metrics using the property <code class="language-plaintext highlighter-rouge">general.micrometer.enabled</code> and supply the name of the MeterRegistryFactory class using the property <code class="language-plaintext highlighter-rouge">general.micrometer.factory</code>. To enable <a href="https://micrometer.io/docs/ref/jvm">JVM</a> metrics, use the property <code class="language-plaintext highlighter-rouge">general.micrometer.jvm.metrics.enabled< [...]
+    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># Micrometer settings
+general.micrometer.enabled=true
+general.micrometer.jvm.metrics.enabled=true
+general.micrometer.factory=org.apache.accumulo.test.metrics.TestStatsDRegistryFactory
+</code></pre></div>    </div>
+  </li>
+  <li>
+    <p>Copy the micrometer-registry-statsd-1.9.1.jar and accumulo-test.jar into the Accumulo lib directory</p>
+  </li>
+  <li>The TestStatsDRegistryFactory uses system properties to determine the host and port of the StatsD server. In this example the Telegraf component started in step 4 above contains a StatsD server listening on localhost:8125. Configure the TestStatsDRegistryFactory by adding the following system properties to the JAVA_OPTS variable in accumulo-env.sh.
+    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>"-Dtest.meter.registry.host=127.0.0.1"
+"-Dtest.meter.registry.port=8125"
+</code></pre></div>    </div>
+  </li>
+  <li>Start Accumulo.  You should see the following statement in the server log files
+    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[metrics.MetricsUtil] INFO : initializing metrics, enabled:true, class:org.apache.accumulo.test.metrics.TestStatsDRegistryFactory
+</code></pre></div>    </div>
+  </li>
+  <li>Log into Grafana (http://localhost:3003/) using the default credentials (root/root). Click the <code class="language-plaintext highlighter-rouge">Home</code> icon at the top, then click the <code class="language-plaintext highlighter-rouge">Accumulo Micrometer Test Dashboard</code>. If everything is working correctly, then you should see something like the image below.</li>
+</ol>
+
+<p><img src="/images/blog/202206_metrics_and_tracing/Grafana_Screenshot.png" alt="Grafana Screenshot" /></p>
+
+<h1 id="tracing">Tracing</h1>
+
+<p>With the retirement of HTrace, Accumulo has selected to replace it’s tracing functionality with <a href="https://opentelemetry.io/">OpenTelemetry</a> in version 2.1.0. Hadoop appears to be on the same <a href="https://issues.apache.org/jira/browse/HADOOP-15566">path</a> which, when finished, should provide better insight into Accumulo’s use of HDFS. OpenTelemetry supports exporting Trace information to several different systems, to include <a href="https://www.jaegertracing.io/">Jaege [...]
+
+<h2 id="tracing-example">Tracing Example</h2>
+
+<p>This example uses the OpenTelemetry Java Agent jar file to configure and export trace information to Jaeger. The OpenTelemetry Java Agent jar file bundles together the supported Java exporters, provides a way to <a href="https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure">configure</a> them, and registers them with the GlobalOpenTelemetry singleton that is used by Accumulo. An alternate method to supplying the OpenTelemetry dependencies, withou [...]
+
+<ol>
+  <li>Download Jaeger all-in-one Docker image
+    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  docker pull jaegertracing/all-in-one:1.35
+</code></pre></div>    </div>
+  </li>
+  <li>Download OpenTelemetry Java Agent (https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure)
+    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  wget -O opentelemetry-javaagent-1.14.0.jar https://search.maven.org/remotecontent?filepath=io/opentelemetry/javaagent/opentelemetry-javaagent/1.14.0/opentelemetry-javaagent-1.14.0.jar
+</code></pre></div>    </div>
+  </li>
+  <li>To enable tracing, you need to set the <code class="language-plaintext highlighter-rouge">general.opentelemetry.enabled</code> property. Modify the accumulo.properties configuration file and add the following property.
+    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># OpenTelemetry settings
+general.opentelemetry.enabled=true
+</code></pre></div>    </div>
+  </li>
+  <li>To enable tracing in the shell, set the <code class="language-plaintext highlighter-rouge">general.opentelemetry.enabled</code> property in the accumulo-client.properties configuration file.
+    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># OpenTelemetry settings
+general.opentelemetry.enabled=true
+</code></pre></div>    </div>
+  </li>
+  <li>Configure the OpenTelemetry JavaAgent in accumulo-env.sh by uncommenting the following and updating the path to the java agent jar:
+    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  ## Optionally setup OpenTelemetry SDK AutoConfigure
+  ## See https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure
+  #JAVA_OPTS=('-Dotel.traces.exporter=jaeger' '-Dotel.metrics.exporter=none' '-Dotel.logs.exporter=none' "${JAVA_OPTS[@]}")
+  ## Optionally setup OpenTelemetry Java Agent
+  ## See https://github.com/open-telemetry/opentelemetry-java-instrumentation for more options
+  #JAVA_OPTS=('-javaagent:path/to/opentelemetry-javaagent-all.jar' "${JAVA_OPTS[@]}")
+</code></pre></div>    </div>
+  </li>
+  <li>Start Jaeger Docker container
+    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker run -d --rm --name jaeger \
+ -e COLLECTOR_ZIPKIN_HOST_PORT=:9411 \
+ -p 5775:5775/udp \
+ -p 6831:6831/udp \
+ -p 6832:6832/udp \
+ -p 5778:5778 \
+ -p 16686:16686 \
+ -p 14268:14268 \
+ -p 14250:14250 \
+ -p 9411:9411 jaegertracing/all-in-one:1.35
+</code></pre></div>    </div>
+  </li>
+  <li>Start Accumulo.  You should see the following statement in the server log files
+    <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[trace.TraceUtil] INFO : Trace enabled in Accumulo: yes, OpenTelemetry instance: class io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.ApplicationOpenTelemetry110, Tracer instance: class io.opentelemetry.javaagent.instrumentation.opentelemetryapi.trace.ApplicationTracer
+</code></pre></div>    </div>
+  </li>
+  <li>View traces in Jaeger UI at http://localhost:16686. You can select the service name on the left panel and click <code class="language-plaintext highlighter-rouge">Find Traces</code> to view the trace information. If everything is working correctly, then you should see something like the image below.</li>
+</ol>
+
+<p><img src="/images/blog/202206_metrics_and_tracing/Jaeger_Screenshot.png" alt="Jaeger Screenshot" /></p>
+
+
+<p><strong>View all posts in the <a href="/news">news archive</a></strong></p>
+
+        </div>
+
+        
+<footer>
+
+  <p><a href="https://www.apache.org/foundation/contributing"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support the ASF" id="asf-logo" height="100" /></a></p>
+
+  <p>Copyright © 2011-2022 <a href="https://www.apache.org">The Apache Software Foundation</a>.
+Licensed under the <a href="https://www.apache.org/licenses/">Apache License, Version 2.0</a>.</p>
+
+  <p>Apache®, the names of Apache projects and their logos, and the multicolor feather
+logo are registered trademarks or trademarks of The Apache Software Foundation
+in the United States and/or other countries.</p>
+
+</footer>
+
+
+      </div>
+    </div>
+  </div>
+</body>
+</html>
diff --git a/output/feed.xml b/output/feed.xml
index 31cf3087..07a87021 100644
--- a/output/feed.xml
+++ b/output/feed.xml
@@ -6,11 +6,160 @@
 </description>
     <link>https://accumulo.apache.org/</link>
     <atom:link href="https://accumulo.apache.org/feed.xml" rel="self" type="application/rss+xml"/>
-    <pubDate>Wed, 15 Jun 2022 15:01:27 +0000</pubDate>
-    <lastBuildDate>Wed, 15 Jun 2022 15:01:27 +0000</lastBuildDate>
+    <pubDate>Fri, 08 Jul 2022 10:57:26 +0000</pubDate>
+    <lastBuildDate>Fri, 08 Jul 2022 10:57:26 +0000</lastBuildDate>
     <generator>Jekyll v4.2.0</generator>
     
     
+      <item>
+        <title>2.1.0 Metrics and Tracing Changes</title>
+        <description>&lt;p&gt;Metrics and Tracing changed in 2.1.0. This post explains the new implementations and provides examples on how to configure them.&lt;/p&gt;
+
+&lt;h1 id=&quot;metrics&quot;&gt;Metrics&lt;/h1&gt;
+
+&lt;p&gt;Accumulo was &lt;a href=&quot;https://issues.apache.org/jira/browse/ACCUMULO-1817&quot;&gt;modified&lt;/a&gt; in version 1.7.0 (2015) to use the Hadoop Metrics2 framework for capturing and emitting internal Accumulo metrics. &lt;a href=&quot;https://micrometer.io/&quot;&gt;Micrometer&lt;/a&gt;, a newer metrics framework, supports sending metrics to many popular &lt;a href=&quot;https://micrometer.io/docs/concepts#_supported_monitoring_systems&quot;&gt;monitoring systems&lt;/a&gt [...]
+
+&lt;p&gt;Micrometer has the concept of a &lt;a href=&quot;https://micrometer.io/docs/concepts#_registry&quot;&gt;MeterRegistry&lt;/a&gt;, which is used to create and emit metrics to the supported monitoring systems. Additionally, Micrometer supports sending metrics to multiple monitoring systems concurrently. Configuring Micrometer in Accumulo will require you to write a small peice of code to provide the MeterRegistry configuration. Specifically, you will need to create a class that imp [...]
+
+&lt;p&gt;Accumulo’s metrics integration test uses a &lt;a href=&quot;https://github.com/apache/accumulo/blob/main/test/src/main/java/org/apache/accumulo/test/metrics/TestStatsDRegistryFactory.java&quot;&gt;TestStatsDRegistryFactory&lt;/a&gt; to create and configure a &lt;a href=&quot;https://micrometer.io/docs/registry/statsD&quot;&gt;StatsD Meter Registry&lt;/a&gt;. The instructions below provide an example of how to use this class to emit Accumulo’s metrics to a Telegraf - InfluxDB - G [...]
+
+&lt;h2 id=&quot;metrics-example&quot;&gt;Metrics Example&lt;/h2&gt;
+
+&lt;p&gt;This example uses a Docker container that contains Telegraf-InfluxDB-Grafana system. We will configure Accumulo to send metrics to the &lt;a href=&quot;https://www.influxdata.com/time-series-platform/telegraf/&quot;&gt;Telegraf&lt;/a&gt; component running in the Docker image. Telegraf will persist the metrics in &lt;a href=&quot;https://www.influxdata.com/products/influxdb-overview/&quot;&gt;InfluxDB&lt;/a&gt; and then we will visualize the metris using &lt;a href=&quot;https:// [...]
+
+&lt;ol&gt;
+  &lt;li&gt;Download the Telegraf-Influx-Grafana (TIG) Docker image
+    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;docker pull artlov/docker-telegraf-influxdb-grafana:latest
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+  &lt;li&gt;Create directories for the Docker container
+    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;mkdir -p /tmp/metrics/influxdb
+chmod 777 /tmp/metrics/influxdb
+mkdir /tmp/metrics/grafana
+mkdir /tmp/metrics/grafana-dashboards
+mkdir -p /tmp/metrics/telegraf/conf
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+  &lt;li&gt;Download Telegraf configuration and Grafana dashboard
+    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;cd /tmp/metrics/telegraf/conf
+wget https://raw.githubusercontent.com/apache/accumulo-testing/main/contrib/terraform-testing-infrastructure/modules/config-files/templates/telegraf.conf.tftpl
+cat telegraf.conf.tftpl | sed &quot;s/\${manager_ip}/localhost/&quot; &amp;gt; telegraf.conf
+cd /tmp/metrics/grafana-dashboards
+wget https://raw.githubusercontent.com/apache/accumulo-testing/main/contrib/terraform-testing-infrastructure/modules/config-files/files/grafana_dashboards/accumulo-dashboard.json
+wget https://raw.githubusercontent.com/apache/accumulo-testing/main/contrib/terraform-testing-infrastructure/modules/config-files/files/grafana_dashboards/accumulo-dashboard.yaml
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+  &lt;li&gt;Start the TIG Docker container
+    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;docker run --ulimit nofile=66000:66000 -d --rm \
+ --restart always \
+ --name tig-stack \
+ -p 3003:3003 \
+ -p 3004:8888 \
+ -p 8086:8086 \
+ -p 22022:22 \
+ -p 8125:8125/udp \
+ -v /tmp/metrics/influxdb:/var/lib/influxdb \
+ -v /tmp/metrics/grafana:/var/lib/grafana \
+ -v /tmp/metrics/telegraf/conf:/etc/telegraf \
+ -v /tmp/metrics/grafana-dashboards:/etc/grafana/provisioning/dashboards \
+ artlov/docker-telegraf-influxdb-grafana:latest
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+  &lt;li&gt;Download Micrometer StatsD Meter Registry jar
+    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;wget -O micrometer-registry-statsd-1.9.1.jar https://search.maven.org/remotecontent?filepath=io/micrometer/micrometer-registry-statsd/1.9.1/micrometer-registry-statsd-1.9.1.jar
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+  &lt;li&gt;At a mininum you need to enable the metrics using the property &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;general.micrometer.enabled&lt;/code&gt; and supply the name of the MeterRegistryFactory class using the property &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;general.micrometer.factory&lt;/code&gt;. To enable &lt;a href=&quot;https://micrometer.io/docs/ref/jvm&quot;&gt;JVM&lt;/a&gt; metrics, use the property &lt;code class=&qu [...]
+    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;# Micrometer settings
+general.micrometer.enabled=true
+general.micrometer.jvm.metrics.enabled=true
+general.micrometer.factory=org.apache.accumulo.test.metrics.TestStatsDRegistryFactory
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+  &lt;li&gt;
+    &lt;p&gt;Copy the micrometer-registry-statsd-1.9.1.jar and accumulo-test.jar into the Accumulo lib directory&lt;/p&gt;
+  &lt;/li&gt;
+  &lt;li&gt;The TestStatsDRegistryFactory uses system properties to determine the host and port of the StatsD server. In this example the Telegraf component started in step 4 above contains a StatsD server listening on localhost:8125. Configure the TestStatsDRegistryFactory by adding the following system properties to the JAVA_OPTS variable in accumulo-env.sh.
+    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&quot;-Dtest.meter.registry.host=127.0.0.1&quot;
+&quot;-Dtest.meter.registry.port=8125&quot;
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+  &lt;li&gt;Start Accumulo.  You should see the following statement in the server log files
+    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;[metrics.MetricsUtil] INFO : initializing metrics, enabled:true, class:org.apache.accumulo.test.metrics.TestStatsDRegistryFactory
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+  &lt;li&gt;Log into Grafana (http://localhost:3003/) using the default credentials (root/root). Click the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Home&lt;/code&gt; icon at the top, then click the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Accumulo Micrometer Test Dashboard&lt;/code&gt;. If everything is working correctly, then you should see something like the image below.&lt;/li&gt;
+&lt;/ol&gt;
+
+&lt;p&gt;&lt;img src=&quot;/images/blog/202206_metrics_and_tracing/Grafana_Screenshot.png&quot; alt=&quot;Grafana Screenshot&quot; /&gt;&lt;/p&gt;
+
+&lt;h1 id=&quot;tracing&quot;&gt;Tracing&lt;/h1&gt;
+
+&lt;p&gt;With the retirement of HTrace, Accumulo has selected to replace it’s tracing functionality with &lt;a href=&quot;https://opentelemetry.io/&quot;&gt;OpenTelemetry&lt;/a&gt; in version 2.1.0. Hadoop appears to be on the same &lt;a href=&quot;https://issues.apache.org/jira/browse/HADOOP-15566&quot;&gt;path&lt;/a&gt; which, when finished, should provide better insight into Accumulo’s use of HDFS. OpenTelemetry supports exporting Trace information to several different systems, to inc [...]
+
+&lt;h2 id=&quot;tracing-example&quot;&gt;Tracing Example&lt;/h2&gt;
+
+&lt;p&gt;This example uses the OpenTelemetry Java Agent jar file to configure and export trace information to Jaeger. The OpenTelemetry Java Agent jar file bundles together the supported Java exporters, provides a way to &lt;a href=&quot;https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure&quot;&gt;configure&lt;/a&gt; them, and registers them with the GlobalOpenTelemetry singleton that is used by Accumulo. An alternate method to supplying the OpenTe [...]
+
+&lt;ol&gt;
+  &lt;li&gt;Download Jaeger all-in-one Docker image
+    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  docker pull jaegertracing/all-in-one:1.35
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+  &lt;li&gt;Download OpenTelemetry Java Agent (https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure)
+    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  wget -O opentelemetry-javaagent-1.14.0.jar https://search.maven.org/remotecontent?filepath=io/opentelemetry/javaagent/opentelemetry-javaagent/1.14.0/opentelemetry-javaagent-1.14.0.jar
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+  &lt;li&gt;To enable tracing, you need to set the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;general.opentelemetry.enabled&lt;/code&gt; property. Modify the accumulo.properties configuration file and add the following property.
+    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;# OpenTelemetry settings
+general.opentelemetry.enabled=true
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+  &lt;li&gt;To enable tracing in the shell, set the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;general.opentelemetry.enabled&lt;/code&gt; property in the accumulo-client.properties configuration file.
+    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;# OpenTelemetry settings
+general.opentelemetry.enabled=true
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+  &lt;li&gt;Configure the OpenTelemetry JavaAgent in accumulo-env.sh by uncommenting the following and updating the path to the java agent jar:
+    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  ## Optionally setup OpenTelemetry SDK AutoConfigure
+  ## See https://github.com/open-telemetry/opentelemetry-java/tree/main/sdk-extensions/autoconfigure
+  #JAVA_OPTS=('-Dotel.traces.exporter=jaeger' '-Dotel.metrics.exporter=none' '-Dotel.logs.exporter=none' &quot;${JAVA_OPTS[@]}&quot;)
+  ## Optionally setup OpenTelemetry Java Agent
+  ## See https://github.com/open-telemetry/opentelemetry-java-instrumentation for more options
+  #JAVA_OPTS=('-javaagent:path/to/opentelemetry-javaagent-all.jar' &quot;${JAVA_OPTS[@]}&quot;)
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+  &lt;li&gt;Start Jaeger Docker container
+    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;docker run -d --rm --name jaeger \
+ -e COLLECTOR_ZIPKIN_HOST_PORT=:9411 \
+ -p 5775:5775/udp \
+ -p 6831:6831/udp \
+ -p 6832:6832/udp \
+ -p 5778:5778 \
+ -p 16686:16686 \
+ -p 14268:14268 \
+ -p 14250:14250 \
+ -p 9411:9411 jaegertracing/all-in-one:1.35
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+  &lt;li&gt;Start Accumulo.  You should see the following statement in the server log files
+    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;[trace.TraceUtil] INFO : Trace enabled in Accumulo: yes, OpenTelemetry instance: class io.opentelemetry.javaagent.instrumentation.opentelemetryapi.v1_10.ApplicationOpenTelemetry110, Tracer instance: class io.opentelemetry.javaagent.instrumentation.opentelemetryapi.trace.ApplicationTracer
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
+  &lt;/li&gt;
+  &lt;li&gt;View traces in Jaeger UI at http://localhost:16686. You can select the service name on the left panel and click &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Find Traces&lt;/code&gt; to view the trace information. If everything is working correctly, then you should see something like the image below.&lt;/li&gt;
+&lt;/ol&gt;
+
+&lt;p&gt;&lt;img src=&quot;/images/blog/202206_metrics_and_tracing/Jaeger_Screenshot.png&quot; alt=&quot;Jaeger Screenshot&quot; /&gt;&lt;/p&gt;
+</description>
+        <pubDate>Wed, 22 Jun 2022 00:00:00 +0000</pubDate>
+        <link>https://accumulo.apache.org/blog/2022/06/22/2.1.0-metrics-and-tracing.html</link>
+        <guid isPermaLink="true">https://accumulo.apache.org/blog/2022/06/22/2.1.0-metrics-and-tracing.html</guid>
+        
+        
+        <category>blog</category>
+        
+      </item>
+    
       <item>
         <title>Apache Accumulo 1.10.2</title>
         <description>&lt;h2 id=&quot;about&quot;&gt;About&lt;/h2&gt;
@@ -1513,149 +1662,6 @@ to the maven-checkstyle-plugin configuration.&lt;/p&gt;
         <guid isPermaLink="true">https://accumulo.apache.org/blog/2019/11/04/checkstyle-import-control.html</guid>
         
         
-        <category>blog</category>
-        
-      </item>
-    
-      <item>
-        <title>Using Azure Data Lake Gen2 storage as a data store for Accumulo</title>
-        <description>&lt;p&gt;Accumulo can store its files in &lt;a href=&quot;https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction&quot;&gt;Azure Data Lake Storage Gen2&lt;/a&gt;
-using the &lt;a href=&quot;https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-abfs-driver&quot;&gt;ABFS (Azure Blob File System)&lt;/a&gt; driver.
-Similar to &lt;a href=&quot;/blog/2019/09/10/accumulo-S3-notes.html&quot;&gt;S3 blog&lt;/a&gt;,
-the write ahead logs &amp;amp; Accumulo metadata can be stored in HDFS and everything else on Gen2 storage
-using the volume chooser feature introduced in Accumulo 2.0. The configurations referred on this blog
-are specific to Accumulo 2.0 and Hadoop 3.2.0.&lt;/p&gt;
-
-&lt;h2 id=&quot;hadoop-setup&quot;&gt;Hadoop setup&lt;/h2&gt;
-
-&lt;p&gt;For ABFS client to talk to Gen2 storage, it requires one of the Authentication mechanism listed &lt;a href=&quot;https://hadoop.apache.org/docs/current/hadoop-azure/abfs.html#Authentication&quot;&gt;here&lt;/a&gt;
-This post covers &lt;a href=&quot;https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview&quot;&gt;Azure Managed Identity&lt;/a&gt;
-formerly known as Managed Service Identity or MSI. This feature provides Azure services with an 
-automatically managed identity in &lt;a href=&quot;https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-whatis&quot;&gt;Azure AD&lt;/a&gt;
-and it avoids the need for credentials or other sensitive information from being stored in code 
-or configs/JCEKS. Plus, it comes free with Azure AD.&lt;/p&gt;
-
-&lt;p&gt;At least the following should be added to Hadoop’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;core-site.xml&lt;/code&gt; on each node.&lt;/p&gt;
-
-&lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;property&amp;gt;&lt;/span&gt;
-  &lt;span class=&quot;nt&quot;&gt;&amp;lt;name&amp;gt;&lt;/span&gt;fs.azure.account.auth.type&lt;span class=&quot;nt&quot;&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
-  &lt;span class=&quot;nt&quot;&gt;&amp;lt;value&amp;gt;&lt;/span&gt;OAuth&lt;span class=&quot;nt&quot;&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;&amp;lt;property&amp;gt;&lt;/span&gt;
-  &lt;span class=&quot;nt&quot;&gt;&amp;lt;name&amp;gt;&lt;/span&gt;fs.azure.account.oauth.provider.type&lt;span class=&quot;nt&quot;&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
-  &lt;span class=&quot;nt&quot;&gt;&amp;lt;value&amp;gt;&lt;/span&gt;org.apache.hadoop.fs.azurebfs.oauth2.MsiTokenProvider&lt;span class=&quot;nt&quot;&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;&amp;lt;property&amp;gt;&lt;/span&gt;
-  &lt;span class=&quot;nt&quot;&gt;&amp;lt;name&amp;gt;&lt;/span&gt;fs.azure.account.oauth2.msi.tenant&lt;span class=&quot;nt&quot;&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
-  &lt;span class=&quot;nt&quot;&gt;&amp;lt;value&amp;gt;&lt;/span&gt;TenantID&lt;span class=&quot;nt&quot;&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;&amp;lt;property&amp;gt;&lt;/span&gt;
-  &lt;span class=&quot;nt&quot;&gt;&amp;lt;name&amp;gt;&lt;/span&gt;fs.azure.account.oauth2.client.id&lt;span class=&quot;nt&quot;&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
-  &lt;span class=&quot;nt&quot;&gt;&amp;lt;value&amp;gt;&lt;/span&gt;ClientID&lt;span class=&quot;nt&quot;&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
-&lt;span class=&quot;nt&quot;&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-
-&lt;p&gt;See &lt;a href=&quot;https://hadoop.apache.org/docs/current/hadoop-azure/abfs.html&quot;&gt;ABFS doc&lt;/a&gt;
-for more information on Hadoop Azure support.&lt;/p&gt;
-
-&lt;p&gt;To get hadoop command to work with ADLS Gen2 set the 
-following entries in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;hadoop-env.sh&lt;/code&gt;. As Gen2 storage is TLS enabled by default, 
-it is important we use the native OpenSSL implementation of TLS.&lt;/p&gt;
-
-&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;HADOOP_OPTIONAL_TOOLS&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;hadoop-azure&quot;&lt;/span&gt;
-&lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;HADOOP_OPTS&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;-Dorg.wildfly.openssl.path=&amp;lt;path/to/OpenSSL/libraries&amp;gt; &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;HADOOP_OPTS&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-
-&lt;p&gt;To verify the location of the OpenSSL libraries, run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;whereis libssl&lt;/code&gt; command 
-on the host&lt;/p&gt;
-
-&lt;h2 id=&quot;accumulo-setup&quot;&gt;Accumulo setup&lt;/h2&gt;
-
-&lt;p&gt;For each node in the cluster, modify &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;accumulo-env.sh&lt;/code&gt; to add Azure storage jars to the
-classpath.  Your versions may differ depending on your Hadoop version,
-following versions were included with Hadoop 3.2.0.&lt;/p&gt;
-
-&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;conf&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;:&lt;/span&g [...]
-&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;HADOOP_HOME&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/sp [...]
-&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;HADOOP_HOME&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/sp [...]
-&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;HADOOP_HOME&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/sp [...]
-&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;HADOOP_HOME&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/sp [...]
-&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;HADOOP_HOME&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/sp [...]
-&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;HADOOP_HOME&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/sp [...]
-&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;HADOOP_HOME&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/sp [...]
-&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;HADOOP_HOME&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/sp [...]
-&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;HADOOP_HOME&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/sp [...]
-&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;CLASSPATH&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;HADOOP_HOME&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/sp [...]
-&lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;CLASSPATH
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-
-&lt;p&gt;Include &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-Dorg.wildfly.openssl.path&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;JAVA_OPTS&lt;/code&gt; in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;accumulo-env.sh&lt;/code&gt; as shown below. This
-java property is an optional performance enhancement for TLS.&lt;/p&gt;
-
-&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;JAVA_OPTS&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;ACCUMULO_JAVA_OPTS&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[@]&lt;/span&gt;&lt;span class=&quot;k&quot; [...]
-  &lt;span class=&quot;s1&quot;&gt;'-XX:+UseConcMarkSweepGC'&lt;/span&gt;
-  &lt;span class=&quot;s1&quot;&gt;'-XX:CMSInitiatingOccupancyFraction=75'&lt;/span&gt;
-  &lt;span class=&quot;s1&quot;&gt;'-XX:+CMSClassUnloadingEnabled'&lt;/span&gt;
-  &lt;span class=&quot;s1&quot;&gt;'-XX:OnOutOfMemoryError=kill -9 %p'&lt;/span&gt;
-  &lt;span class=&quot;s1&quot;&gt;'-XX:-OmitStackTraceInFastThrow'&lt;/span&gt;
-  &lt;span class=&quot;s1&quot;&gt;'-Djava.net.preferIPv4Stack=true'&lt;/span&gt;
-  &lt;span class=&quot;s1&quot;&gt;'-Dorg.wildfly.openssl.path=/usr/lib64'&lt;/span&gt;
-  &lt;span class=&quot;s2&quot;&gt;&quot;-Daccumulo.native.lib.path=&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;lib&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/native&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-
-&lt;p&gt;Set the following in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;accumulo.properties&lt;/code&gt; and then run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;accumulo init&lt;/code&gt;, but don’t start Accumulo.&lt;/p&gt;
-
-&lt;div class=&quot;language-ini highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;py&quot;&gt;instance.volumes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;hdfs://&amp;lt;name node&amp;gt;/accumulo&lt;/span&gt;
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-
-&lt;p&gt;After running Accumulo init we need to configure storing write ahead logs in
-HDFS.  Set the following in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;accumulo.properties&lt;/code&gt;.&lt;/p&gt;
-
-&lt;div class=&quot;language-ini highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;py&quot;&gt;instance.volumes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;hdfs://&amp;lt;namenode&amp;gt;/accumulo,abfss://&amp;lt;file_system&amp;gt;@&amp;lt;storage_account_name&amp;gt;.dfs.core.windows.net/accumulo&lt;/span&gt;
-&lt;span class=&quot;py&quot;&gt;general.volume.chooser&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;org.apache.accumulo.server.fs.PreferredVolumeChooser&lt;/span&gt;
-&lt;span class=&quot;py&quot;&gt;general.custom.volume.preferred.default&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;abfss://&amp;lt;file_system&amp;gt;@&amp;lt;storage_account_name&amp;gt;.dfs.core.windows.net/accumulo&lt;/span&gt;
-&lt;span class=&quot;py&quot;&gt;general.custom.volume.preferred.logger&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;hdfs://&amp;lt;namenode&amp;gt;/accumulo&lt;/span&gt;
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-
-&lt;p&gt;Run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;accumulo init --add-volumes&lt;/code&gt; to initialize the Azure DLS Gen2 volume.  Doing this
-in two steps avoids putting any Accumulo metadata files in Gen2  during init.
-Copy &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;accumulo.properties&lt;/code&gt; to all nodes and start Accumulo.&lt;/p&gt;
-
-&lt;p&gt;Individual tables can be configured to store their files in HDFS by setting the
-table property &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;table.custom.volume.preferred&lt;/code&gt;.  This should be set for the
-metadata table in case it splits using the following Accumulo shell command.&lt;/p&gt;
-
-&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;config -t accumulo.metadata -s table.custom.volume.preferred=hdfs://&amp;lt;namenode&amp;gt;/accumulo
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-
-&lt;h2 id=&quot;accumulo-example&quot;&gt;Accumulo example&lt;/h2&gt;
-
-&lt;p&gt;The following Accumulo shell session shows an example of writing data to Gen2 and
-reading it back.  It also shows scanning the metadata table to verify the data
-is stored in Gen2.&lt;/p&gt;
-
-&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;root@muchos&amp;gt; createtable gen2test
-root@muchos gen2test&amp;gt; insert r1 f1 q1 v1
-root@muchos gen2test&amp;gt; insert r1 f1 q2 v2
-root@muchos gen2test&amp;gt; flush -w
-2019-10-16 08:01:00,564 [shell.Shell] INFO : Flush of table gen2test  completed.
-root@muchos gen2test&amp;gt; scan
-r1 f1:q1 []    v1
-r1 f1:q2 []    v2
-root@muchos gen2test&amp;gt; scan -t accumulo.metadata -c file
-4&amp;lt; file:abfss://&amp;lt;file_system&amp;gt;@&amp;lt;storage_account_name&amp;gt;.dfs.core.windows.net/accumulo/tables/4/default_tablet/F00000gj.rf []    234,2
-&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
-
-&lt;p&gt;These instructions will help to configure Accumulo to use Azure’s Data Lake Gen2 Storage along with HDFS. With this setup, 
-we are able to successfully run the continuos ingest test. Going forward, we’ll experiment more on this space 
-with ADLS Gen2 and add/update blog as we come along.&lt;/p&gt;
-
-</description>
-        <pubDate>Tue, 15 Oct 2019 00:00:00 +0000</pubDate>
-        <link>https://accumulo.apache.org/blog/2019/10/15/accumulo-adlsgen2-notes.html</link>
-        <guid isPermaLink="true">https://accumulo.apache.org/blog/2019/10/15/accumulo-adlsgen2-notes.html</guid>
-        
-        
         <category>blog</category>
         
       </item>
diff --git a/output/images/blog/202206_metrics_and_tracing/Grafana_Screenshot.png b/output/images/blog/202206_metrics_and_tracing/Grafana_Screenshot.png
new file mode 100644
index 00000000..7c1d2aa5
Binary files /dev/null and b/output/images/blog/202206_metrics_and_tracing/Grafana_Screenshot.png differ
diff --git a/output/images/blog/202206_metrics_and_tracing/Jaeger_Screenshot.png b/output/images/blog/202206_metrics_and_tracing/Jaeger_Screenshot.png
new file mode 100644
index 00000000..ac51756d
Binary files /dev/null and b/output/images/blog/202206_metrics_and_tracing/Jaeger_Screenshot.png differ
diff --git a/output/index.html b/output/index.html
index dbcb1b09..e770adaa 100644
--- a/output/index.html
+++ b/output/index.html
@@ -179,6 +179,13 @@
         <p style="font-size: 24px; margin-bottom: 0px;">Latest News</p>
         
         
+        <div class="row latest-news-item">
+          <div class="col-sm-12" style="margin-bottom: 5px">
+           <span style="font-size: 12px; margin-right: 5px;">Jun 2022</span>
+           <a href="/blog/2022/06/22/2.1.0-metrics-and-tracing.html">2.1.0 Metrics and Tracing Changes</a>
+          </div>
+        </div>
+        
         <div class="row latest-news-item">
           <div class="col-sm-12" style="margin-bottom: 5px">
            <span style="font-size: 12px; margin-right: 5px;">Feb 2022</span>
@@ -207,13 +214,6 @@
           </div>
         </div>
         
-        <div class="row latest-news-item">
-          <div class="col-sm-12" style="margin-bottom: 5px">
-           <span style="font-size: 12px; margin-right: 5px;">Dec 2020</span>
-           <a href="/release/accumulo-1.10.1/">Apache Accumulo 1.10.1</a>
-          </div>
-        </div>
-        
         <div id="news-archive-link">
          <p>View all posts in the <a href="/news">news archive</a></p>
         </div>
diff --git a/output/news/index.html b/output/news/index.html
index 7af942e7..9a55eea5 100644
--- a/output/news/index.html
+++ b/output/news/index.html
@@ -149,6 +149,13 @@
 
   
   
+  <div class="row" style="margin-top: 15px">
+    <div class="col-md-1">Jun 22</div>
+    <div class="col-md-10"><a href="/blog/2022/06/22/2.1.0-metrics-and-tracing.html">2.1.0 Metrics and Tracing Changes</a></div>
+  </div>
+
+  
+  
   <div class="row" style="margin-top: 15px">
     <div class="col-md-1">Feb 13</div>
     <div class="col-md-10"><a href="/release/accumulo-1.10.2/">Apache Accumulo 1.10.2</a></div>
diff --git a/output/search_data.json b/output/search_data.json
index 43c1dc9d..2367f81a 100644
--- a/output/search_data.json
+++ b/output/search_data.json
@@ -302,6 +302,14 @@
     },
   
   
+    "blog-2022-06-22-2-1-0-metrics-and-tracing-html": {
+      "title": "2.1.0 Metrics and Tracing Changes",
+      "content"	 : "Metrics and Tracing changed in 2.1.0. This post explains the new implementations and provides examples on how to configure them.MetricsAccumulo was modified in version 1.7.0 (2015) to use the Hadoop Metrics2 framework for capturing and emitting internal Accumulo metrics. Micrometer, a newer metrics framework, supports sending metrics to many popular monitoring systems. In Accumulo 2.1.0 support for the Hadoop Metrics2 framework has been removed in favor of using Micro [...]
+      "url": " /blog/2022/06/22/2.1.0-metrics-and-tracing.html",
+      "categories": "blog"
+    }
+    ,
+  
     "release-accumulo-2-1-0": {
       "title": "Apache Accumulo 2.1.0",
       "content"	 : "** DRAFT RELEASE NOTES **AboutTODO high level description of the releaseTODO summarize contributionsTODO Version Upgrade guidanceMinimum RequirementsTODO describe requirementsBinary IncompatibilityThis release is known to be incompatible with prior versions of the clientlibraries. That is, the 2.0.0 or 2.0.1 version of the client libraries will notbe able to communicate with a 2.1.0 or later installation of Accumulo, nor willthe 2.1.0 or later version of the client li [...]