mirror of
https://github.com/telekom-security/tpotce.git
synced 2025-04-29 11:48:52 +00:00
275 lines
22 KiB
Text
275 lines
22 KiB
Text
![]() |
<!DOCTYPE html>
|
||
|
|
||
|
<html class="" lang="en">
|
||
|
<head prefix="og: http://ogp.me/ns#">
|
||
|
<meta charset="utf-8"/>
|
||
|
<meta content="IE=edge" http-equiv="X-UA-Compatible"/>
|
||
|
<meta content="object" property="og:type"/>
|
||
|
<meta content="GitLab" property="og:site_name"/>
|
||
|
<meta content="Prometheus · Integrations · Project · User · Help" property="og:title"/>
|
||
|
<meta content="GitLab Community Edition" property="og:description"/>
|
||
|
<meta content="http://172.20.254.127/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="og:image"/>
|
||
|
<meta content="64" property="og:image:width"/>
|
||
|
<meta content="64" property="og:image:height"/>
|
||
|
<meta content="http://172.20.254.127/help/user/project/integrations/prometheus.md" property="og:url"/>
|
||
|
<meta content="summary" property="twitter:card"/>
|
||
|
<meta content="Prometheus · Integrations · Project · User · Help" property="twitter:title"/>
|
||
|
<meta content="GitLab Community Edition" property="twitter:description"/>
|
||
|
<meta content="http://172.20.254.127/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="twitter:image"/>
|
||
|
<title>Prometheus · Integrations · Project · User · Help · GitLab</title>
|
||
|
<meta content="GitLab Community Edition" name="description"/>
|
||
|
<link data-original-href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" id="favicon" rel="shortcut icon" type="image/png"/>
|
||
|
<link href="/assets/application-266f2bfa52ff531258d13c702895a14fd5994ca591fa2df7338da00ab18c99ac.css" media="all" rel="stylesheet"/>
|
||
|
<link href="/assets/print-c8ff536271f8974b8a9a5f75c0ca25d2b8c1dceb4cff3c01d1603862a0bdcbfc.css" media="print" rel="stylesheet"/>
|
||
|
<script>
|
||
|
//<![CDATA[
|
||
|
window.gon={};gon.api_version="v4";gon.default_avatar_url="http://172.20.254.127/assets/no_avatar-849f9c04a3a0d0cea2424ae97b27447dc64a7dbfae83c036c45b403392f0e8ba.png";gon.max_file_size=10;gon.asset_host=null;gon.webpack_public_path="/assets/webpack/";gon.relative_url_root="";gon.shortcuts_path="/help/shortcuts";gon.user_color_scheme="white";gon.gitlab_url="http://172.20.254.127";gon.revision="63daf37";gon.gitlab_logo="/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png";gon.sprite_icons="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg";gon.sprite_file_icons="/assets/file_icons-7262fc6897e02f1ceaf8de43dc33afa5e4f9a2067f4f68ef77dcc87946575e9e.svg";gon.emoji_sprites_css_path="/assets/emoji_sprites-289eccffb1183c188b630297431be837765d9ff4aed6130cf738586fb307c170.css";gon.test_env=false;gon.suggested_label_colors=["#0033CC","#428BCA","#44AD8E","#A8D695","#5CB85C","#69D100","#004E00","#34495E","#7F8C8D","#A295D6","#5843AD","#8E44AD","#FFECDB","#AD4363","#D10069","#CC0033","#FF0000","#D9534F","#D1D100","#F0AD4E","#AD8D43"];
|
||
|
//]]>
|
||
|
</script>
|
||
|
<script defer="defer" src="/assets/webpack/runtime.9fcb75d4.bundle.js"></script>
|
||
|
<script defer="defer" src="/assets/webpack/main.a66b6c66.chunk.js"></script>
|
||
|
<script defer="defer" src="/assets/webpack/pages.help.show.c42c0700.chunk.js"></script>
|
||
|
<meta content="authenticity_token" name="csrf-param">
|
||
|
<meta content="xbPwTUf3rz1jsxoWyoeQoxu5CHrnVFn0Ufd5odi1SoBYsRZsYuqrxeY7gTyZwQpLWBnrIsb+PG8HaKJaGljj7A==" name="csrf-token">
|
||
|
<meta content="origin-when-cross-origin" name="referrer"/>
|
||
|
<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport"/>
|
||
|
<meta content="#474D57" name="theme-color"/>
|
||
|
<link href="/assets/touch-icon-iphone-5a9cee0e8a51212e70b90c87c12f382c428870c0ff67d1eb034d884b78d2dae7.png" rel="apple-touch-icon" type="image/x-icon"/>
|
||
|
<link href="/assets/touch-icon-ipad-a6eec6aeb9da138e507593b464fdac213047e49d3093fc30e90d9a995df83ba3.png" rel="apple-touch-icon" sizes="76x76" type="image/x-icon"/>
|
||
|
<link href="/assets/touch-icon-iphone-retina-72e2aadf86513a56e050e7f0f2355deaa19cc17ed97bbe5147847f2748e5a3e3.png" rel="apple-touch-icon" sizes="120x120" type="image/x-icon"/>
|
||
|
<link href="/assets/touch-icon-ipad-retina-8ebe416f5313483d9c1bc772b5bbe03ecad52a54eba443e5215a22caed2a16a2.png" rel="apple-touch-icon" sizes="152x152" type="image/x-icon"/>
|
||
|
<link color="rgb(226, 67, 41)" href="/assets/logo-d36b5212042cebc89b96df4bf6ac24e43db316143e89926c0db839ff694d2de4.svg" rel="mask-icon"/>
|
||
|
<meta content="/assets/msapplication-tile-1196ec67452f618d39cdd85e2e3a542f76574c071051ae7effbfde01710eb17d.png" name="msapplication-TileImage"/>
|
||
|
<meta content="#30353E" name="msapplication-TileColor"/>
|
||
|
</meta></meta></head>
|
||
|
<body class="ui-indigo " data-group="" data-page="help:show" data-project="">
|
||
|
<header class="navbar navbar-gitlab qa-navbar navbar-expand-sm">
|
||
|
<a class="sr-only gl-accessibility" href="#content-body" tabindex="1">Skip to content</a>
|
||
|
<div class="container-fluid">
|
||
|
<div class="header-content">
|
||
|
<div class="title-container">
|
||
|
<h1 class="title">
|
||
|
<a href="/" id="logo" title="Dashboard"><svg class="tanuki-logo" height="24" viewbox="0 0 36 36" width="24">
|
||
|
<path class="tanuki-shape tanuki-left-ear" d="M2 14l9.38 9v-9l-4-12.28c-.205-.632-1.176-.632-1.38 0z" fill="#e24329"></path>
|
||
|
<path class="tanuki-shape tanuki-right-ear" d="M34 14l-9.38 9v-9l4-12.28c.205-.632 1.176-.632 1.38 0z" fill="#e24329"></path>
|
||
|
<path class="tanuki-shape tanuki-nose" d="M18,34.38 3,14 33,14 Z" fill="#e24329"></path>
|
||
|
<path class="tanuki-shape tanuki-left-eye" d="M18,34.38 11.38,14 2,14 6,25Z" fill="#fc6d26"></path>
|
||
|
<path class="tanuki-shape tanuki-right-eye" d="M18,34.38 24.62,14 34,14 30,25Z" fill="#fc6d26"></path>
|
||
|
<path class="tanuki-shape tanuki-left-cheek" d="M2 14L.1 20.16c-.18.565 0 1.2.5 1.56l17.42 12.66z" fill="#fca326"></path>
|
||
|
<path class="tanuki-shape tanuki-right-cheek" d="M34 14l1.9 6.16c.18.565 0 1.2-.5 1.56L18 34.38z" fill="#fca326"></path>
|
||
|
</svg>
|
||
|
<span class="logo-text d-none d-sm-block">
|
||
|
<svg viewbox="0 0 617 169" xmlns="http://www.w3.org/2000/svg"><path d="M315.26 2.97h-21.8l.1 162.5h88.3v-20.1h-66.5l-.1-142.4M465.89 136.95c-5.5 5.7-14.6 11.4-27 11.4-16.6 0-23.3-8.2-23.3-18.9 0-16.1 11.2-23.8 35-23.8 4.5 0 11.7.5 15.4 1.2v30.1h-.1m-22.6-98.5c-17.6 0-33.8 6.2-46.4 16.7l7.7 13.4c8.9-5.2 19.8-10.4 35.5-10.4 17.9 0 25.8 9.2 25.8 24.6v7.9c-3.5-.7-10.7-1.2-15.1-1.2-38.2 0-57.6 13.4-57.6 41.4 0 25.1 15.4 37.7 38.7 37.7 15.7 0 30.8-7.2 36-18.9l4 15.9h15.4v-83.2c-.1-26.3-11.5-43.9-44-43.9M557.63 149.1c-8.2 0-15.4-1-20.8-3.5V70.5c7.4-6.2 16.6-10.7 28.3-10.7 21.1 0 29.2 14.9 29.2 39 0 34.2-13.1 50.3-36.7 50.3m9.2-110.6c-19.5 0-30 13.3-30 13.3v-21l-.1-27.8h-21.3l.1 158.5c10.7 4.5 25.3 6.9 41.2 6.9 40.7 0 60.3-26 60.3-70.9-.1-35.5-18.2-59-50.2-59M77.9 20.6c19.3 0 31.8 6.4 39.9 12.9l9.4-16.3C114.5 6 97.3 0 78.9 0 32.5 0 0 28.3 0 85.4c0 59.8 35.1 83.1 75.2 83.1 20.1 0 37.2-4.7 48.4-9.4l-.5-63.9V75.1H63.6v20.1h38l.5 48.5c-5 2.5-13.6 4.5-25.3 4.5-32.2 0-53.8-20.3-53.8-63-.1-43.5 22.2-64.6 54.9-64.6M231.43 2.95h-21.3l.1 27.3v94.3c0 26.3 11.4 43.9 43.9 43.9 4.5 0 8.9-.4 13.1-1.2v-19.1c-3.1.5-6.4.7-9.9.7-17.9 0-25.8-9.2-25.8-24.6v-65h35.7v-17.8h-35.7l-.1-38.5M155.96 165.47h21.3v-124h-21.3v124M155.96 24.37h21.3V3.07h-21.3v21.3"></path></svg>
|
||
|
</span>
|
||
|
</a></h1>
|
||
|
<ul class="list-unstyled navbar-sub-nav">
|
||
|
<li class="home"><a class="dashboard-shortcuts-projects" href="/explore" title="Projects">Projects
|
||
|
</a></li><li class=""><a class="dashboard-shortcuts-groups" href="/explore/groups" title="Groups">Groups
|
||
|
</a></li><li class=""><a class="dashboard-shortcuts-snippets" href="/explore/snippets" title="Snippets">Snippets
|
||
|
</a></li><li>
|
||
|
<a href="/help" title="About GitLab CE">Help</a>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
<div class="navbar-collapse collapse">
|
||
|
<ul class="nav navbar-nav">
|
||
|
<li class="nav-item d-none d-sm-none d-md-block m-auto">
|
||
|
<div class="search search-form">
|
||
|
<form accept-charset="UTF-8" action="/search" class="form-inline" method="get"><input name="utf8" type="hidden" value="✓"/><div class="search-input-container">
|
||
|
<div class="search-input-wrap">
|
||
|
<div class="dropdown" data-url="/search/autocomplete">
|
||
|
<input aria-label="Search" autocomplete="off" class="search-input dropdown-menu-toggle no-outline js-search-dashboard-options" data-issues-path="/dashboard/issues" data-mr-path="/dashboard/merge_requests" id="search" name="search" placeholder="Search" spellcheck="false" tabindex="1" type="search"/>
|
||
|
<button class="hidden js-dropdown-search-toggle" data-toggle="dropdown" type="button"></button>
|
||
|
<div class="dropdown-menu dropdown-select">
|
||
|
<div class="dropdown-content"><ul>
|
||
|
<li class="dropdown-menu-empty-item">
|
||
|
<a>
|
||
|
Loading...
|
||
|
</a>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</div><div class="dropdown-loading"><i aria-hidden="true" class="fa fa-spinner fa-spin" data-hidden="true"></i></div>
|
||
|
</div>
|
||
|
<svg class="s16 search-icon"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#search"></use></svg>
|
||
|
<svg class="s16 clear-icon js-clear-input"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#close"></use></svg>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<input class="js-search-group-options" id="group_id" name="group_id" type="hidden"/>
|
||
|
<input class="js-search-project-options" id="search_project_id" name="project_id" type="hidden" value=""/>
|
||
|
<input id="repository_ref" name="repository_ref" type="hidden"/>
|
||
|
<div class="search-autocomplete-opts hide" data-autocomplete-path="/search/autocomplete"></div>
|
||
|
</form></div>
|
||
|
</li>
|
||
|
<li class="nav-item d-inline-block d-sm-none d-md-none">
|
||
|
<a aria-label="Search" data-container="body" data-placement="bottom" data-toggle="tooltip" href="/search" title="Search"><svg class="s16"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#search"></use></svg>
|
||
|
</a></li>
|
||
|
<li class="nav-item">
|
||
|
<div>
|
||
|
<a class="btn btn-sign-in" href="/users/sign_in?redirect_to_referer=yes">Sign in / Register</a>
|
||
|
</div>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
<button class="navbar-toggler d-block d-sm-none" type="button">
|
||
|
<span class="sr-only">Toggle navigation</span>
|
||
|
<svg class="s12 more-icon js-navbar-toggle-right"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#more"></use></svg>
|
||
|
<svg class="s12 close-icon js-navbar-toggle-left"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#close"></use></svg>
|
||
|
</button>
|
||
|
</div>
|
||
|
</div>
|
||
|
</header>
|
||
|
<div class="layout-page">
|
||
|
<div class="content-wrapper">
|
||
|
<div class="mobile-overlay"></div>
|
||
|
<div class="alert-wrapper">
|
||
|
<nav class="breadcrumbs container-fluid container-limited" role="navigation">
|
||
|
<div class="breadcrumbs-container">
|
||
|
<div class="breadcrumbs-links js-title-container">
|
||
|
<ul class="list-unstyled breadcrumbs-list js-breadcrumbs-list">
|
||
|
<li><a href="/help">Help</a><svg class="s8 breadcrumbs-list-angle"><use xlink:href="/assets/icons-07542808fffaf82e9b57b144464ea42620b32f65ce441c01528d23d4b96d5f11.svg#angle-right"></use></svg></li>
|
||
|
<li>
|
||
|
<h2 class="breadcrumbs-sub-title"><a href="/help/user/project/integrations/prometheus.md">Help</a></h2>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
</div>
|
||
|
</nav>
|
||
|
<div class="flash-container flash-container-page">
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="container-fluid container-limited ">
|
||
|
<div class="content" id="content-body">
|
||
|
<div class="documentation wiki prepend-top-default">
|
||
|
<h1 dir="auto">
|
||
|
<a aria-hidden="true" class="anchor" href="#prometheus-integration" id="user-content-prometheus-integration"></a>Prometheus integration</h1>
|
||
|
<blockquote dir="auto">
|
||
|
<p><a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/8935" rel="nofollow noreferrer noopener" target="_blank">Introduced</a> in GitLab 9.0.</p>
|
||
|
</blockquote>
|
||
|
<p dir="auto">GitLab offers powerful integration with <a href="https://prometheus.io" rel="nofollow noreferrer noopener" target="_blank">Prometheus</a> for monitoring key metrics of your apps, directly within GitLab.
|
||
|
Metrics for each environment are retrieved from Prometheus, and then displayed
|
||
|
within the GitLab interface.</p>
|
||
|
<p dir="auto"><a class="no-attachment-icon" href="/img/prometheus_dashboard.png" rel="noopener noreferrer" target="_blank"><img alt="Environment Dashboard" class="lazy" data-src="img/prometheus_dashboard.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
|
||
|
<p dir="auto">There are two ways to setup Prometheus integration, depending on where your apps are running:</p>
|
||
|
<ul dir="auto">
|
||
|
<li>For deployments on Kubernetes, GitLab can automatically <a href="#managed-prometheus-on-kubernetes">deploy and manage Prometheus</a>
|
||
|
</li>
|
||
|
<li>For other deployment targets, simply <a href="#manual-configuration-of-prometheus">specify the Prometheus server</a>.</li>
|
||
|
</ul>
|
||
|
<p dir="auto">Once enabled, GitLab will automatically detect metrics from known services in the <a href="#monitoring-ci-cd-environments">metric library</a>.</p>
|
||
|
<h2 dir="auto">
|
||
|
<a aria-hidden="true" class="anchor" href="#enabling-prometheus-integration" id="user-content-enabling-prometheus-integration"></a>Enabling Prometheus Integration</h2>
|
||
|
<h3 dir="auto">
|
||
|
<a aria-hidden="true" class="anchor" href="#managed-prometheus-on-kubernetes" id="user-content-managed-prometheus-on-kubernetes"></a>Managed Prometheus on Kubernetes</h3>
|
||
|
<blockquote dir="auto">
|
||
|
<p><strong>Note</strong>: <a href="https://gitlab.com/gitlab-org/gitlab-ce/issues/28916" rel="nofollow noreferrer noopener" target="_blank">Introduced</a> in GitLab 10.5</p>
|
||
|
</blockquote>
|
||
|
<p dir="auto">GitLab can seamlessly deploy and manage Prometheus on a <a href="/clusters/index.md">connected Kubernetes cluster</a>, making monitoring of your apps easy.</p>
|
||
|
<h4 dir="auto">
|
||
|
<a aria-hidden="true" class="anchor" href="#requirements" id="user-content-requirements"></a>Requirements</h4>
|
||
|
<ul dir="auto">
|
||
|
<li>A <a href="/clusters/index.md">connected Kubernetes cluster</a>
|
||
|
</li>
|
||
|
<li>Helm Tiller <a href="../clusters/index.md#installing-applications">installed by GitLab</a>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<h4 dir="auto">
|
||
|
<a aria-hidden="true" class="anchor" href="#getting-started" id="user-content-getting-started"></a>Getting started</h4>
|
||
|
<p dir="auto">Once you have a connected Kubernetes cluster with Helm installed, deploying a managed Prometheus is as easy as a single click.</p>
|
||
|
<ol dir="auto">
|
||
|
<li>Go to the <code>Operations > Kubernetes</code> page, to view your connected clusters</li>
|
||
|
<li>Select the cluster you would like to deploy Prometheus to</li>
|
||
|
<li>Click the <strong>Install</strong> button to deploy Prometheus to the cluster</li>
|
||
|
</ol>
|
||
|
<p dir="auto"><a class="no-attachment-icon" href="/img/prometheus_deploy.png" rel="noopener noreferrer" target="_blank"><img alt="Managed Prometheus Deploy" class="lazy" data-src="img/prometheus_deploy.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
|
||
|
<h4 dir="auto">
|
||
|
<a aria-hidden="true" class="anchor" href="#about-managed-prometheus-deployments" id="user-content-about-managed-prometheus-deployments"></a>About managed Prometheus deployments</h4>
|
||
|
<p dir="auto">Prometheus is deployed into the <code>gitlab-managed-apps</code> namespace, using the <a href="https://github.com/kubernetes/charts/tree/master/stable/prometheus" rel="nofollow noreferrer noopener" target="_blank">official Helm chart</a>. Prometheus is only accessible within the cluster, with GitLab communicating through the <a href="https://kubernetes.io/docs/concepts/overview/kubernetes-api/" rel="nofollow noreferrer noopener" target="_blank">Kubernetes API</a>.</p>
|
||
|
<p dir="auto">The Prometheus server will <a href="https://prometheus.io/docs/prometheus/latest/configuration/configuration/#%3Ckubernetes_sd_config%3E" rel="nofollow noreferrer noopener" target="_blank">automatically detect and monitor</a> nodes, pods, and endpoints. To configure a resource to be monitored by Prometheus, simply set the following <a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/" rel="nofollow noreferrer noopener" target="_blank">Kubernetes annotations</a>:</p>
|
||
|
<ul dir="auto">
|
||
|
<li>
|
||
|
<code>prometheus.io/scrape</code> to <code>true</code> to enable monitoring of the resource.</li>
|
||
|
<li>
|
||
|
<code>prometheus.io/port</code> to define the port of the metrics endpoint.</li>
|
||
|
<li>
|
||
|
<code>prometheus.io/path</code> to define the path of the metrics endpoint. Defaults to <code>/metrics</code>.</li>
|
||
|
</ul>
|
||
|
<p dir="auto">CPU and Memory consumption is monitored, but requires <a href="prometheus_library/kubernetes.html#specifying-the-environment">naming conventions</a> in order to determine the environment. If you are using <a href="/topics/autodevops/">Auto DevOps</a>, this is handled automatically.</p>
|
||
|
<p dir="auto">The <a href="../clusters/index.md#installing-applications">NGINX Ingress</a> that is deployed by GitLab to clusters, is automatically annotated for monitoring providing key response metrics: latency, throughput, and error rates.</p>
|
||
|
<h3 dir="auto">
|
||
|
<a aria-hidden="true" class="anchor" href="#manual-configuration-of-prometheus" id="user-content-manual-configuration-of-prometheus"></a>Manual configuration of Prometheus</h3>
|
||
|
<h4 dir="auto">
|
||
|
<a aria-hidden="true" class="anchor" href="#requirements-1" id="user-content-requirements-1"></a>Requirements</h4>
|
||
|
<p dir="auto">Integration with Prometheus requires the following:</p>
|
||
|
<ol dir="auto">
|
||
|
<li>GitLab 9.0 or higher</li>
|
||
|
<li>Prometheus must be configured to collect one of the <a href="/prometheus_library/metrics.md">supported metrics</a>
|
||
|
</li>
|
||
|
<li>Each metric must be have a label to indicate the environment</li>
|
||
|
<li>GitLab must have network connectivity to the Prometheus server</li>
|
||
|
</ol>
|
||
|
<h4 dir="auto">
|
||
|
<a aria-hidden="true" class="anchor" href="#getting-started-1" id="user-content-getting-started-1"></a>Getting started</h4>
|
||
|
<p dir="auto">Installing and configuring Prometheus to monitor applications is fairly straight forward.</p>
|
||
|
<ol dir="auto">
|
||
|
<li><a href="https://prometheus.io/docs/introduction/install/" rel="nofollow noreferrer noopener" target="_blank">Install Prometheus</a></li>
|
||
|
<li>Set up one of the <a href="/prometheus_library/metrics.md">supported monitoring targets</a>
|
||
|
</li>
|
||
|
<li>Configure the Prometheus server to <a href="https://prometheus.io/docs/operating/configuration/#scrape_config" rel="nofollow noreferrer noopener" target="_blank">collect their metrics</a>
|
||
|
</li>
|
||
|
</ol>
|
||
|
<h4 dir="auto">
|
||
|
<a aria-hidden="true" class="anchor" href="#configuration-in-gitlab" id="user-content-configuration-in-gitlab"></a>Configuration in GitLab</h4>
|
||
|
<p dir="auto">The actual configuration of Prometheus integration within GitLab is very simple.
|
||
|
All you will need is the DNS or IP address of the Prometheus server you'd like
|
||
|
to integrate with.</p>
|
||
|
<ol dir="auto">
|
||
|
<li>Navigate to the <a href="project_services.md#accessing-the-project-services">Integrations page</a>
|
||
|
</li>
|
||
|
<li>Click the <strong>Prometheus</strong> service</li>
|
||
|
<li>Provide the base URL of the your server, for example <code>http://prometheus.example.com/</code>.
|
||
|
The <strong>Test Settings</strong> button can be used to confirm connectivity from GitLab
|
||
|
to the Prometheus server.</li>
|
||
|
</ol>
|
||
|
<p dir="auto"><a class="no-attachment-icon" href="/img/prometheus_service_configuration.png" rel="noopener noreferrer" target="_blank"><img alt="Configure Prometheus Service" class="lazy" data-src="img/prometheus_service_configuration.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
|
||
|
<h2 dir="auto">
|
||
|
<a aria-hidden="true" class="anchor" href="#monitoring-cicd-environments" id="user-content-monitoring-cicd-environments"></a>Monitoring CI/CD Environments</h2>
|
||
|
<p dir="auto">Once configured, GitLab will attempt to retrieve performance metrics for any
|
||
|
environment which has had a successful deployment.</p>
|
||
|
<p dir="auto">GitLab will automatically scan the Prometheus server for metrics from known serves like Kubernetes and NGINX, and attempt to identify individual environment. The supported metrics and scan process is detailed in our <a href="/prometheus_library/metrics.html">Prometheus Metric Library documentation</a>.</p>
|
||
|
<p dir="auto">You can view the performance dashboard for an environment by <a href="../../../ci/environments.md#monitoring-environments">clicking on the monitoring button</a>.</p>
|
||
|
<h2 dir="auto">
|
||
|
<a aria-hidden="true" class="anchor" href="#determining-the-performance-impact-of-a-merge" id="user-content-determining-the-performance-impact-of-a-merge"></a>Determining the performance impact of a merge</h2>
|
||
|
<blockquote dir="auto">
|
||
|
<p><a href="https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10408" rel="nofollow noreferrer noopener" target="_blank">Introduced</a> in GitLab 9.2.
|
||
|
GitLab 9.3 added the <a href="https://gitlab.com/gitlab-org/gitlab-ce/issues/27439" rel="nofollow noreferrer noopener" target="_blank">numeric comparison</a> of the 30 minute averages.
|
||
|
Requires <a href="/prometheus_library/kubernetes.md">Kubernetes</a> metrics</p>
|
||
|
</blockquote>
|
||
|
<p dir="auto">Developers can view the performance impact of their changes within the merge
|
||
|
request workflow. When a source branch has been deployed to an environment, a sparkline and numeric comparison of the average memory consumption will appear. On the sparkline, a dot
|
||
|
indicates when the current changes were deployed, with up to 30 minutes of
|
||
|
performance data displayed before and after. The comparison shows the difference between the 30 minute average before and after the deployment. This information is updated after
|
||
|
each commit has been deployed.</p>
|
||
|
<p dir="auto">Once merged and the target branch has been redeployed, the metrics will switch
|
||
|
to show the new environments this revision has been deployed to.</p>
|
||
|
<p dir="auto">Performance data will be available for the duration it is persisted on the
|
||
|
Prometheus server.</p>
|
||
|
<p dir="auto"><a class="no-attachment-icon" href="/img/merge_request_performance.png" rel="noopener noreferrer" target="_blank"><img alt="Merge Request with Performance Impact" class="lazy" data-src="img/merge_request_performance.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="/></a></p>
|
||
|
<h2 dir="auto">
|
||
|
<a aria-hidden="true" class="anchor" href="#troubleshooting" id="user-content-troubleshooting"></a>Troubleshooting</h2>
|
||
|
<p dir="auto">If the "No data found" screen continues to appear, it could be due to:</p>
|
||
|
<ul dir="auto">
|
||
|
<li>No successful deployments have occurred to this environment.</li>
|
||
|
<li>Prometheus does not have performance data for this environment, or the metrics
|
||
|
are not labeled correctly. To test this, connect to the Prometheus server and
|
||
|
<a href="#gitlab-prometheus-queries">run a query</a>, replacing <code>$CI_ENVIRONMENT_SLUG</code>
|
||
|
with the name of your environment.</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</body>
|
||
|
</html>
|