<!doctype html>
<!--
  Minimal Mistakes Jekyll Theme 4.4.1 by Michael Rose
  Copyright 2017 Michael Rose - mademistakes.com | @mmistakes
  Free for personal and commercial use under the MIT license
  https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt
-->
<html lang="en" class="no-js">
  <head>
    <meta charset="utf-8">

<!-- begin SEO -->









<title>Metrics how integration with prometheus in 1.0.0-m1 - Apache ServiceComb</title>




<meta name="description" content="Metrics how integration with prometheus in 1.0.0-m1">




<meta name="author" content="">

<meta property="og:locale" content="en">
<meta property="og:site_name" content="Apache ServiceComb">
<meta property="og:title" content="Metrics how integration with prometheus in 1.0.0-m1">


  <link rel="canonical" href="https://github.com/pages/apache/incubator-servicecomb-website/docs/users/metrics-integration-with-prometheus-in-1.0.0-m1/">
  <meta property="og:url" content="https://github.com/pages/apache/incubator-servicecomb-website/docs/users/metrics-integration-with-prometheus-in-1.0.0-m1/">



  <meta property="og:description" content="Metrics how integration with prometheus in 1.0.0-m1">



  <meta name="twitter:site" content="@ServiceComb">
  <meta name="twitter:title" content="Metrics how integration with prometheus in 1.0.0-m1">
  <meta name="twitter:description" content="Metrics how integration with prometheus in 1.0.0-m1">
  <meta name="twitter:url" content="">

  
    <meta name="twitter:card" content="summary">
    
  

  



  

  












  <script type="application/ld+json">
    {
      "@context" : "http://schema.org",
      "@type" : "Person",
      "name" : "Apache ServiceComb",
      "url" : "https://github.com/pages/apache/incubator-servicecomb-website",
      "sameAs" : null
    }
  </script>



  <meta name="google-site-verification" content="HvJjNd7vvJ-yjSTHlBiIWEYxp_Hrz-PYEY5Idz9LRcA" />




<!-- end SEO -->


<link href="/feed.xml" type="application/atom+xml" rel="alternate" title="Apache ServiceComb Feed">

<!-- http://t.co/dKP3o1e -->
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<script>
  document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"></script>
<script src="/assets/vendor/prism/prism.js"></script>

<script type="text/javascript" async
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML">
</script>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">

<script src="https://www.apachecon.com/event-images/snippet.js"></script>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
<!-- For all browsers -->
<link rel="stylesheet" href="/assets/css/main.css">
<link rel="stylesheet" href="/assets/vendor/prism/prism.css">

<!--[if lte IE 9]>
  <style>
    /* old IE unsupported flexbox fixes */
    .greedy-nav .site-title {
      padding-right: 3em;
    }
    .greedy-nav button {
      position: absolute;
      top: 0;
      right: 0;
      height: 100%;
    }
  </style>
<![endif]-->

<meta http-equiv="cleartype" content="on">

    <!-- start custom head snippets -->

<!-- insert favicons. use http://realfavicongenerator.net/ -->
<link href="https://fonts.loli.net/css?family=Roboto:400,500,700|Source+Code+Pro" rel="stylesheet">
<script src="/assets/js/custom.js"></script>
<!-- end custom head snippets -->

  </head>

  <body class="layout--single">

    <!--[if lt IE 9]>
<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]-->
    <div class="masthead" onmouseleave="$('#childrenShow').css('display', 'none')">
  <div class="masthead__inner-wrap">
    <div class="masthead__menu">
      <nav id="site-nav" class="greedy-nav">
	      
          <a class="site-title active" href="/"><img src="https://www.apache.org/img/servicecomb.png"></a>
	      
        <ul class="visible-links">
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/">Home</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/developers/">Projects</a>
                
              </li>
            
          
            
          
          
            
            <li class="def-nav-li" onmouseenter="$('#childrenShow').css('display', 'block')">
              
              
              

              
                <a class="active" href="/docs/users/">Documentation</a>
              

              <ul id="childrenShow" class="def-children-show-en" onmouseleave="$('#childrenShow').css('display', 'none')">
                
                <li><a href="/docs/getting-started/" class="">Getting started</a></li>
                
                <li><a href="/docs/users/" class="">Docs</a></li>
                
                <li><a href="/slides/" class="">Video</a></li>
                
                <li><a href="/faqs/" class="">FAQ</a></li>
                
              </ul>
            </li>
          
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/year-archive/">Blogs</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/release/">Downloads</a>
                
              </li>
            
          
        </ul>
        <button><div class="navicon"></div></button>
        <ul class="hidden-links hidden"></ul>
        <div class="nav-lang">
          
            
            <a href=/cn/docs/users/metrics-integration-with-prometheus-in-1.0.0-m1/>中文</a>
          
        </div>
      </nav>
    </div>
  </div>
</div>


    



<div id="main" role="main">
  
  <div class="sidebar sticky">
      
      <div class="back-to-home"><a href="/">Home</a> > Metrics how integration with prometheus in 1.0.0-m1</div>
      
  
  
    
      
      
      
    
    
      

<nav class="nav__list">
  
  <input id="ac-toc" name="accordion-toc" type="checkbox" />
  <label for="ac-toc">Toggle Menu</label>
  <ul class="nav__items">
    
      <li>
        
          <span class="nav__sub-title">Java Chassis User Guide</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="/references/java-chassis/zh_CN/index.html" class="">Java Chassis 3</a></li>
          
            
            

            
            

            <li><a href="/references/java-chassis/2.x/zh_CN/index.html" class="">Java Chassis 2</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Pack User Guide</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="https://github.com/apache/servicecomb-pack/blob/master/docs/user_guide.md" class="">0.5.0</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">ServiceCenter User Guide</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="https://service-center.readthedocs.io/en/latest/user-guides.html" class="">2.0.0</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Kie User Guide</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="https://kie.readthedocs.io/en/latest/" class="">0.2.0</a></li>
          
        </ul>
        
      </li>
    
      <li>
        
          <span class="nav__sub-title">Mesher User Guide</span>
        

        
        <ul>
          
            
            

            
            

            <li><a href="https://mesher.readthedocs.io/en/latest/" class="">1.6.3</a></li>
          
        </ul>
        
      </li>
    
  </ul>
</nav>

    
  
  </div>



  <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
    <meta itemprop="headline" content="Metrics how integration with prometheus in 1.0.0-m1">
    <meta itemprop="description" content="Metrics how integration with prometheus in 1.0.0-m1">
    
    <meta itemprop="dateModified" content="January 02, 2018">

    <div class="page__inner-wrap">
      
        
          <header>
            <h1 class="page__title" itemprop="headline">Metrics how integration with prometheus in 1.0.0-m1
</h1>
            
          </header>
        
      

      <section class="page__content" itemprop="text">
        <aside class="sidebar__right">
<nav class="toc">
    <!-- <header><h4 class="nav__title"><i class="fa fa-file-text"></i> On This Page</h4></header> -->
<ul class="toc__menu" id="markdown-toc">
  <li><a href="#background" id="markdown-toc-background">Background</a></li>
  <li><a href="#integration-principles" id="markdown-toc-integration-principles">Integration Principles</a></li>
  <li><a href="#how-configuration" id="markdown-toc-how-configuration">How Configuration</a>    <ul>
      <li><a href="#global-configuration" id="markdown-toc-global-configuration">Global Configuration</a></li>
      <li><a href="#maven-configuration" id="markdown-toc-maven-configuration">Maven Configuration</a></li>
      <li><a href="#config-prometheusyml-in-prometheus" id="markdown-toc-config-prometheusyml-in-prometheus">Config prometheus.yml in Prometheus</a></li>
      <li><a href="#verify-output" id="markdown-toc-verify-output">Verify Output</a></li>
      <li><a href="#config-grafanaoptional" id="markdown-toc-config-grafanaoptional">Config Grafana(optional)</a></li>
    </ul>
  </li>
  <li><a href="#effect-show" id="markdown-toc-effect-show">Effect Show</a></li>
</ul>

  </nav>
</aside>

<p>Metrics had supported from Java chassis version 0.5.0,in version 1.0.0-m1,we had reconstruction it and add some more features,please checkout the user guide and <a href="https://github.com/apache/servicecomb-java-chassis/releases">release note</a> for more information.Also subscribe ServiceComb mail-list(dev-subscribe@servicecomb.apache.org) and join discussion is welcome.</p>

<h2 id="background">Background</h2>
<p><a href="http://www.prometheus.io/">Prometheus</a> is a opensource open-source monitoring solution like Google Borgmon,also member of <a href="https://www.cncf.io/">CNCF</a>,community is very active.Java chassis metrics support integration with prometheus in 1.0.0-m1,and can use <a href="https://grafana.com/">Grafana</a> to query metrics data further.</p>

<h2 id="integration-principles">Integration Principles</h2>
<p>We known Java chassis developed by Java,so we use Simple Client in  <a href="https://github.com/prometheus/client_java">prometheus java client</a> as SDK,the version we use is 0.1.0.<br />
Prometheus use pull mode collect metrics data,microservice act as producer,we use Simple HTTP Server(also in client java SDK) publish them;<br />
As an integration(optional) module,the implementation code is in metrics-integration/metrics-prometheus,you can get it’s dependency:</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  <span class="nt">&lt;dependency&gt;</span>
    <span class="nt">&lt;groupId&gt;</span>io.prometheus<span class="nt">&lt;/groupId&gt;</span>
    <span class="nt">&lt;artifactId&gt;</span>simpleclient<span class="nt">&lt;/artifactId&gt;</span>
  <span class="nt">&lt;/dependency&gt;</span>
  <span class="nt">&lt;dependency&gt;</span>
    <span class="nt">&lt;groupId&gt;</span>io.prometheus<span class="nt">&lt;/groupId&gt;</span>
    <span class="nt">&lt;artifactId&gt;</span>simpleclient_httpserver<span class="nt">&lt;/artifactId&gt;</span>
  <span class="nt">&lt;/dependency&gt;</span>

  <span class="nt">&lt;dependency&gt;</span>
    <span class="nt">&lt;groupId&gt;</span>org.apache.servicecomb<span class="nt">&lt;/groupId&gt;</span>
    <span class="nt">&lt;artifactId&gt;</span>metrics-core<span class="nt">&lt;/artifactId&gt;</span>
  <span class="nt">&lt;/dependency&gt;</span>
</code></pre></div></div>
<p>So if we import metrics-prometheus,no longer need to add metrics-core dependence.</p>

<h2 id="how-configuration">How Configuration</h2>
<p>Enable prometheus integration is very easy:</p>
<h3 id="global-configuration">Global Configuration</h3>
<p>Please add prometheus port config in microservice.yaml:</p>
<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">APPLICATION_ID</span><span class="pi">:</span> <span class="s">demo</span>
<span class="na">service_description</span><span class="pi">:</span>
  <span class="na">name</span><span class="pi">:</span> <span class="s">demoService</span>
  <span class="na">version</span><span class="pi">:</span> <span class="s">0.0.1</span>

<span class="na">servicecomb</span><span class="pi">:</span>
  <span class="na">metrics</span><span class="pi">:</span>
    <span class="na">prometheus</span><span class="pi">:</span>
      <span class="c1">#prometheus provider port</span>
      <span class="na">port</span><span class="pi">:</span> <span class="m">9696</span>
</code></pre></div></div>
<p><em>If do not config,default value is 9696</em></p>
<h3 id="maven-configuration">Maven Configuration</h3>
<p>We just only need add metrics-prometheus dependency:</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code>    <span class="nt">&lt;dependency&gt;</span>
      <span class="nt">&lt;groupId&gt;</span>org.apache.servicecomb<span class="nt">&lt;/groupId&gt;</span>
      <span class="nt">&lt;artifactId&gt;</span>metrics-prometheus<span class="nt">&lt;/artifactId&gt;</span>
      <span class="nt">&lt;version&gt;</span>1.0.0-m1<span class="nt">&lt;/version&gt;</span>
    <span class="nt">&lt;/dependency&gt;</span>
</code></pre></div></div>
<h3 id="config-prometheusyml-in-prometheus">Config prometheus.yml in Prometheus</h3>
<p>You need add job in prometheus.yml,like:</p>
<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">scrape_configs</span><span class="pi">:</span>
  <span class="c1"># The job name is added as a label `job=&lt;job_name&gt;` to any timeseries scraped from this config.</span>
  <span class="pi">-</span> <span class="na">job_name</span><span class="pi">:</span> <span class="s1">'</span><span class="s">prometheus'</span>

    <span class="c1"># metrics_path defaults to '/metrics'</span>
    <span class="c1"># scheme defaults to 'http'.</span>

    <span class="na">static_configs</span><span class="pi">:</span>
      <span class="pi">-</span> <span class="na">targets</span><span class="pi">:</span> <span class="pi">[</span><span class="s1">'</span><span class="s">localhost:9090'</span><span class="pi">]</span>

  <span class="pi">-</span> <span class="na">job_name</span><span class="pi">:</span> <span class="s1">'</span><span class="s">servicecomb'</span>

    <span class="c1"># metrics_path defaults to '/metrics'</span>
    <span class="c1"># scheme defaults to 'http'.</span>

    <span class="na">static_configs</span><span class="pi">:</span>
      <span class="pi">-</span> <span class="na">targets</span><span class="pi">:</span> <span class="pi">[</span><span class="s1">'</span><span class="s">localhost:9696'</span><span class="pi">]</span>
</code></pre></div></div>
<p>The job_name: ‘servicecomb’ is our custom job,it will collect metrics data from local microservice localhost:9696,more information about configuration of prometheus can found <a href="https://prometheus.io/docs/prometheus/latest/configuration/configuration/">here</a>.</p>

<h3 id="verify-output">Verify Output</h3>
<p>Prometheus Simple HTTP Server use /metrics as default URL,metrics-prometheus will use 9696 as default port,after microservice start up you can get metrics data at http://localhost:9696/metrics.</p>

<p>Prometheus Simple HTTP Server provider interface will publish the standard format which prometheus needed:</p>
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code># HELP ServiceComb Metrics ServiceComb Metrics
# TYPE ServiceComb Metrics untyped
jvm{name="cpuRunningThreads",statistic="gauge",} 45.0
jvm{name="heapMax",statistic="gauge",} 3.786407936E9
jvm{name="heapCommit",statistic="gauge",} 6.12892672E8
servicecomb_invocation_calculator_calculatorRestEndpoint_calculate{role="producer",stage="total",statistic="max",status="200",unit="MILLISECONDS",} 1.0
servicecomb_invocation_calculator_calculatorRestEndpoint_calculate{role="producer",stage="total",statistic="tps",status="200",} 0.4
jvm{name="nonHeapCommit",statistic="gauge",} 6.1104128E7
jvm{name="nonHeapInit",statistic="gauge",} 2555904.0
servicecomb_invocation_calculator_calculatorRestEndpoint_calculate{role="producer",stage="execution",statistic="max",status="200",unit="MILLISECONDS",} 0.0
jvm{name="heapUsed",statistic="gauge",} 2.82814088E8
servicecomb_invocation_calculator_calculatorRestEndpoint_calculate{role="producer",stage="total",statistic="latency",status="200",unit="MILLISECONDS",} 1.0
servicecomb_invocation_calculator_calculatorRestEndpoint_calculate{role="producer",stage="execution",statistic="latency",status="200",unit="MILLISECONDS",} 0.0
jvm{name="heapInit",statistic="gauge",} 2.66338304E8
servicecomb_invocation_calculator_calculatorRestEndpoint_calculate{role="producer",stage="queue",statistic="waitInQueue",} 0.0
servicecomb_invocation_calculator_calculatorRestEndpoint_calculate{role="producer",stage="total",statistic="count",status="200",} 39.0
jvm{name="nonHeapUsed",statistic="gauge",} 5.9361032E7
servicecomb_invocation_calculator_calculatorRestEndpoint_calculate{role="producer",stage="queue",statistic="latency",status="200",unit="MILLISECONDS",} 0.0
servicecomb_invocation_calculator_calculatorRestEndpoint_calculate{role="producer",stage="queue",statistic="max",status="200",unit="MILLISECONDS",} 0.0
</code></pre></div></div>

<h3 id="config-grafanaoptional">Config Grafana(optional)</h3>
<p>How add prometheus as a datasource in grafana can found <a href="https://prometheus.io/docs/visualization/grafana/">here</a>.</p>
<h2 id="effect-show">Effect Show</h2>
<p>After complete prometheus config and start up microservice,we can open prometheus web site(default address is http://localhost:9090/),in metrics list java chassis metrics with prefix ‘servicecomb’ can be seen:</p>

<p><img src="/assets/images/MetricsInPrometheus.png" alt="MetricsInPrometheus" /></p>

<p>For get more better data query experience,add prometheus as a datasource in grafana then query metrics data by it:</p>

<p><img src="/assets/images/MetricsInGrafana.png" alt="MetricsInGrafana" /></p>

        
      </section>

      <footer class="page__meta">
        
        


        
      </footer>

      

      

    </div>

    
  </article>

  
  
</div>


    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    <div align="center" style="margin: 0 0;">
    <ins class="adsbygoogle"
         style="display:block; border-bottom: initial;"
         data-ad-client="ca-pub-7328585512091257"
         data-ad-slot="3049671934"
         data-ad-format="auto"></ins>
    </div>

    <div class="page__footer">
      <footer>
        <!-- start custom footer snippets -->

<!-- end custom footer snippets -->

        <div class="container">
  <div class="row justify-content-md-center">
    
    <div class="col">
      <ul>
        <p class="header">Events</p>
        <a class="acevent" data-format="square" data-mode="dark" data-event="random"></a>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">Resources</p>
        <li><a href="/docs/getting-started/">Getting started</a></li>
        <li><a href="/docs/users/">User Guide</a></li>
        <li><a href="/slides/">Slides</a></li>
        <li><a href="/users/faq/">Common Questions</a></li>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">ASF</p>
        <li><a href="http://www.apache.org">Foundation</a></li>
        <li><a href="http://www.apache.org/licenses/">License</a></li>
        <li><a href="http://www.apache.org/events/current-event">Events</a></li>
        <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
        <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">Contribute</p>
        <li><a href="http://issues.apache.org/jira/browse/SCB">Report a Doc Issue</a></li>
        <li><a href="https://github.com/apache/servicecomb-website/edit/master/_users/metrics-integration-with-prometheus-in-1.0.0-m1.md">Edit This Page on Github</a></li>
        <li><a href="/developers/submit-codes/">Code Submit Guide</a></li>
        <li><a href="/security">Security</a></li>
      </ul>
    </div>
    <div class="col">
      <ul class="social-icons">
        <p class="header">Community</p>
        <li>
            <a href="mailto:dev-subscribe@servicecomb.incubator.apache.org" rel="nofollow"><span class="mail">Mailing List</span></a>
        </li>
        <li>
            <a href="https://github.com/apache?q=ServiceComb" target="_blank"><span class="github">Github</span></a>
        </li>
        <li>
            <a href="https://twitter.com/ServiceComb" target="_blank"><span class="twitter">Twitter</span></a>
        </li>
        <li>
            <a href="/feed.xml" target="_blank"><span class="rss">Feed</span></a>
        </li>
      </ul>
    </div>
  </div>
</div>
<div class="page__footer-bottom">
  <div>&copy; 2024 Apache ServiceComb. Powered by <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> &amp; <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div>
  <div>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
</div>

      </footer>
    </div>

    <script src="/assets/js/main.min.js"></script>




  <script>
  (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','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-101622733-1', 'auto');
  ga('send', 'pageview');
</script>







  </body>
</html>
