banner



How To Clean Up Gitlab Prometheus Database

In this tutorial, nosotros volition learn about monitoring Gitlab metrics with Prometheus and Grafana. Grafana is a data visualization and monitoring tool and supports fourth dimension series datastores such as Graphite, InfluxDB, Prometheus, Elasticsearch. Prometheus is a powerful time-series monitoring service, providing a flexible platform for monitoring GitLab and other software products. GitLab provides out of the box monitoring with Prometheus, providing easy access to high quality time-series monitoring of GitLab services. Grafana can exist used to achieve meliorate visualization of the metrics nerveless by the Prometheus.

Want more than Grafana and Prometheus? Check the links below;

Prometheus: Up & Running: Infrastructure and Application Performance Monitoring

Learn Grafana 7.0: A beginner's guide to getting well versed in analytics, interactive dashboards, and monitoring

Monitoring Gitlab Metrics with Prometheus and Grafana

Earlier you can proceed, we assume you have a Gitlab server up and running. However, you lot can follow the link below to install and setup Gitlab server on an Ubuntu 20.04 arrangement;

Install Gitlab with SSL/TLS Certificate on Ubuntu 20.04

By default, Omnibus Gitlab installations comes bundled with Grafana and Prometheus. To confirm this, simply check the status of Gitlab services;

gitlab-ctl status
run: alertmanager: (pid 4248) 22043s; run: log: (pid 4158) 22046s run: gitaly: (pid 4273) 22042s; run: log: (pid 4147) 22046s run: gitlab-exporter: (pid 4285) 22042s; run: log: (pid 4151) 22046s run: gitlab-workhorse: (pid 4297) 22042s; run: log: (pid 4157) 22046s run: grafana: (pid 96055) 13581s; run: log: (pid 4152) 22046s run: logrotate: (pid 190276) 422s; run: log: (pid 4156) 22046s run: nginx: (pid 96045) 13583s; run: log: (pid 4155) 22047s run: node-exporter: (pid 4352) 22041s; run: log: (pid 4148) 22047s run: postgres-exporter: (pid 4384) 22041s; run: log: (pid 4159) 22047s run: postgresql: (pid 4425) 22038s; run: log: (pid 4149) 22047s run: prometheus: (pid 78644) 15085s; run: log: (pid 4160) 22047s run: puma: (pid 95895) 13594s; run: log: (pid 4150) 22047s run: redis: (pid 4469) 22036s; run: log: (pid 4153) 22047s run: redis-exporter: (pid 4477) 22036s; run: log: (pid 4161) 22047s run: sidekiq: (pid 95784) 13602s; run: log: (pid 4154) 22047s        

Every bit you lot can come across, we have Grafana and Prometheus services upwards and running. Similarly, you lot tin can see that we have various exporters such equally node-exporter , gitlab-exporter for collecting host and Gitlab operation metrics.

You can cheque the status of the private service as follows;

gitlab-ctl condition prometheus
gitlab-ctl status grafana

Configuring Prometheus on Gitlab Server

To start monitoring Gitlab metrics with Prometheus and Grafana, you need to start with configuring Prometheus Gitlab server.

Past default, Prometheus is configured to be locally accessible from the Gitlab server itself. If y'all want to be able to admission Prometheus externally, edit the configuration file and accommodate the lines beneath appropriately.

vim /etc/gitlab/gitlab.rb
          ##! Avant-garde settings. Should exist inverse only if absolutely needed. #prometheus['listen_address'] = 'localhost:9090'            prometheus['listen_address'] = '192.168.57.3:9090'            # ...        

You lot can supersede localhost with a FQDN or an IP address.

If yous do not want to let external access to Gitlab Prometheus, and then you tin skip the above.

Once you have made the changes, exist sure to reconfigure Gitlab services for the changes to take effect;

gitlab-ctl reconfigure
... Recipe: gitlab::gitlab-rails   * execute[articulate the gitlab-rail cache] action run     - execute /opt/gitlab/bin/gitlab-rake cache:articulate Recipe: monitoring::prometheus   * execute[reload prometheus] action run     - execute /opt/gitlab/bin/gitlab-ctl hup prometheus  Running handlers: Running handlers complete Chef Infra Client finished, 9/811 resources updated in 01 minutes 09 seconds gitlab Reconfigured!        

Viewing Gitlab Performance Metrics on Prometheus

You can access Prometheus dashboard, either locally or externally depending on your setup. In my case, we have configured Prometheus for external access.

To permit external admission, ensure that port 9090/tcp is opened on firewall if firewall is running.

Ubuntu systems and the likes;

ufw allow 9090/tcp

CentOS systems and the likes;

firewall-cmd --add together-port=9090/tcp --permanent firewall-cmd --reload

Then navigate to the Prometheus dashboard locally, ( http://localhost:9090 ) or externally ( http://fqdn-or-IP:9090 ).

Monitoring Gitlab Metrics with Prometheus and Grafana

In that location are a sample Prometheus dashboard queries y'all take been provided with on Gitlab documentation page;

  • % Memory bachelor:((node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) or ((node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes) / node_memory_MemTotal_bytes)) * 100
  • % CPU utilization:1 - avg without (mode,cpu) (charge per unit(node_cpu_seconds_total{style="idle"}[5m]))
  • Data transmitted:rate(node_network_transmit_bytes_total{device!="lo"}[5m])
  • Information received:rate(node_network_receive_bytes_total{device!="lo"}[5m])

Yous can execute and view the study on Prometheus dashboard. For example, let usa execute the memory utilization query (Percentage retention bachelor on the system) above. You lot should become such sample panel values and graph as shown in the screenshots below;

The Console

Monitoring Gitlab Metrics with Prometheus and Grafana

The Graph

Monitoring Gitlab Metrics with Prometheus and Grafana

Y'all tin read more than about Prometheus Queries.

Monitoring Gitlab Metrics with Prometheus and Grafana

Every bit y'all tin see to a higher place, nosotros got the metrics yes, but the visualization is not upward to the par, -:).

We desire to feel the goodness of Grafana visualization. Note that, in this setup, we are utilizing the Grafana that comes bundled with Gitlab server itself.

Enable Grafana Login using username and password

By default, the Grafana is enabled and single sign on with Gitlab is automatically enabled as well. Nonetheless in this setup, we enable login using username and password.

Authentication to Grafana using username/password is disabled by default. Hence, open the configuration file and navigate to Grafana Dashboards section and enable username/password authentication by uncommenting the line, grafana['disable_login_form'] = false .

vim /etc/gitlab/gitlab.rb
... ################################################################################ ## Grafana Dashboards ##! Docs: https://docs.gitlab.com/ee/administration/monitoring/prometheus/#prometheus-equally-a-grafana-data-source ################################################################################  #grafana['enable'] = true # grafana['log_directory'] = '/var/log/gitlab/grafana' # grafana['home'] = '/var/opt/gitlab/grafana' # grafana['admin_password'] = 'admin' # grafana['allow_user_sign_up'] = false # grafana['basic_auth_enabled'] = false grafana['disable_login_form'] = simulated        

Save and exit the file.

Reconfigure Gitlab to upshot the changes;

gitlab-ctl reconfigure

Accessing Gitlab Grafana Dashboard

Once you have enabled username/password hallmark, navigate to the Gitlab Grafana URL, http://FQDN-or-IP/-/grafana.

Monitoring Gitlab Metrics with Prometheus and Grafana

The username for logging in is admin. For the password, you tin can reset it by running the command below;

gitlab-ctl set-grafana-password

Then login to Grafana. Upon successful login, you lot are welcomed into Grafana dashboard.

Monitoring Gitlab Metrics with Prometheus and Grafana

Add together Prometheus Datasource to Grafana

In order for Grafana to collect metrics from Prometheus and provide visualizations, you need to add together Prometheus datasource. By default, you will find that Prometheus datasource has been added automatically. Yous can check by navigating toConfiguration >Datasources.

Monitoring Gitlab Metrics with Prometheus and Grafana

Still, if you lot demand to add a new datasource;

  • Navigate toConfiguration >Datasources >Add data source.
  • From the data source types, select Prometheus. This opens upwards Prometheus datasource configuration page.
  • Enter the Prometheus server URL. If you are running Grafana and Prometheus on the aforementioned server, utilise the addresshttp://localhost:9090 otherwise, use the addresshttp://<prometheus-server-IP>:9090.
  • After that, clickSave & Exam.

Import Gitlab Grafana Dashboards

Similarly, at that place are some default dashboards that the Prometheus datasource ships with. If you navigate to Configuration >Datasources > click on Gitlab Omnibus datasource > Dashboards. Click Import to import the dashboard. The button changes to Re-import after importing.

Monitoring Gitlab Metrics with Prometheus and Grafana

Viewing Gitlab Grafana Dashboards

Once you take imported the dashboards, you tin at present view them. Click the search push button and select the dashboard y'all want to view its visualizations. For example, let us view the Prometheus 2.0 stats dashboard.

Monitoring Gitlab Metrics with Prometheus and Grafana

Similarly, you can monitor the Gitlab server system metrics such as cpu usage, RAM, disk I/O e.t.c. See the dashboard below;

Monitoring Gitlab Metrics with Prometheus and Grafana
Monitoring Gitlab Metrics with Prometheus and Grafana
Monitoring Gitlab Metrics with Prometheus and Grafana

For the above dashboards, below is a modified json configuration file (modified version of Gitlab organization dashboard for Grafana).

{   "annotations": {     "listing": [       {         "builtIn": 1,         "datasource": "-- Grafana --",         "enable": true,         "hide": true,         "iconColor": "rgba(0, 211, 255, 1)",         "name": "Annotations & Alerts",         "type": "dashboard"       },       {         "datasource": "GitLab Jitney",         "enable": false,         "expr": "ALERTS{allonym=\"$host\", alertstate=\"firing\"}",         "iconColor": "rgb(252, v, 0)",         "name": "Alarm",         "tagKeys": "severity",         "textFormat": "{{ alias }} : {{alertstate}}",         "titleFormat": "{{ alertname }}"       },       {         "datasource": "GitLab Double-decker",         "enable": true,         "expr": "ALERTS{alias=\"$host\",alertstate=\"awaiting\"}",         "iconColor": "rgb(228, 242, ix)",         "name": "Alert",         "tagKeys": "severity",         "textFormat": "{{ allonym }} : {{ alertstate }}",         "titleFormat": "{{ alertname }}"       }     ]   },   "description": "GitLab Prometheus for system metrics. \r\nLoad, CPU, RAM, network, process ... ",   "editable": true,   "gnetId": 7697,   "graphTooltip": 1,   "id": 17,   "iteration": 1606596413793,   "links": [],   "panels": [     {       "cacheTimeout": nix,       "colorBackground": fake,       "colorValue": truthful,       "colors": [         "rgba(245, 54, 54, 0.9)",         "rgba(237, 129, xl, 0.89)",         "rgba(50, 172, 45, 0.97)"       ],       "datasource": "GitLab Omnibus",       "decimals": ane,       "editable": truthful,       "error": false,       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "format": "s",       "approximate": {         "maxValue": 100,         "minValue": 0,         "testify": false,         "thresholdLabels": false,         "thresholdMarkers": true       },       "height": "50px",       "id": nineteen,       "interval": nada,       "links": [],       "mappingType": 1,       "mappingTypes": [         {           "name": "value to text",           "value": 1         },         {           "name": "range to text",           "value": 2         }       ],       "maxDataPoints": 100,       "nullPointMode": "connected",       "nullText": goose egg,       "postfix": "s",       "postfixFontSize": "80%",       "prefix": "",       "prefixFontSize": "80%",       "rangeMaps": [         {           "from": "null",           "text": "N/A",           "to": "null"         }       ],       "sparkline": {         "fillColor": "rgba(31, 118, 189, 0.18)",         "total": imitation,         "lineColor": "rgb(31, 120, 193)",         "show": false       },       "tableColumn": "{example=\"192.168.57.3:9090\", job=\"prometheus\"}",       "targets": [         {           "calculatedInterval": "10m",           "datasourceErrors": {},           "errors": {},           "expr": "(time() - process_start_time_seconds{chore=\"prometheus\"})",           "format": "time_series",           "interval": "5m",           "intervalFactor": 1,           "legendFormat": "",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_time%7Balias%3D%5C%22%24host%5C%22%7D%xx-%20node_boot_time%7Balias%3D%5C%22%24host%5C%22%7D%22%2C%22range_input%22%3A%2243200s%22%2C%22end_input%22%3A%222015-nine-18%2013%3A25%22%2C%22step_input%22%3A%22%22%2C%22tab%22%3A0%7D%5D",           "refId": "A",           "step": 300         }       ],       "thresholds": "300,3600",       "championship": "Organization Uptime",       "type": "singlestat",       "valueFontSize": "fourscore%",       "valueMaps": [],       "valueName": "current"     },     {       "cacheTimeout": null,       "colorBackground": false,       "colorValue": false,       "colors": [         "rgba(245, 54, 54, 0.9)",         "rgba(237, 129, 40, 0.89)",         "rgba(50, 172, 45, 0.97)"       ],       "datasource": "GitLab Charabanc",       "editable": true,       "error": imitation,       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "format": "none",       "gauge": {         "maxValue": 100,         "minValue": 0,         "show": false,         "thresholdLabels": false,         "thresholdMarkers": true       },       "gridPos": {         "h": three,         "w": 4,         "x": half dozen,         "y": 0       },       "height": "55px",       "id": 25,       "interval": zippo,       "links": [],       "mappingType": 1,       "mappingTypes": [         {           "proper name": "value to text",           "value": 1         },         {           "name": "range to text",           "value": 2         }       ],       "maxDataPoints": 100,       "nullPointMode": "connected",       "nullText": null,       "postfix": "",       "postfixFontSize": "fifty%",       "prefix": "",       "prefixFontSize": "80%",       "rangeMaps": [         {           "from": "cipher",           "text": "N/A",           "to": "zilch"         }       ],       "sparkline": {         "fillColor": "rgba(31, 118, 189, 0.18)",         "full": false,         "lineColor": "rgb(31, 120, 193)",         "show": imitation       },       "tableColumn": "instance:node_cpus:count{example=\"localhost:9100\", job=\"node\"}",       "targets": [         {           "expr": "instance:node_cpus:count{instance=\"localhost:9100\",job=\"node\"}",           "format": "time_series",           "interval": "5m",           "intervalFactor": 1,           "legendFormat": "",           "refId": "A",           "step": 300         }       ],       "thresholds": "",       "title": "Virtual CPUs",       "type": "singlestat",       "valueFontSize": "eighty%",       "valueMaps": [         {           "op": "=",           "text": "N/A",           "value": "null"         }       ],       "valueName": "electric current"     },     {       "cacheTimeout": zip,       "colorBackground": fake,       "colorValue": truthful,       "colors": [         "rgba(245, 54, 54, 0.9)",         "rgba(237, 129, forty, 0.89)",         "rgba(50, 172, 45, 0.97)"       ],       "datasource": "GitLab Omnibus",       "decimals": 2,       "editable": true,       "error": false,       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "format": "bytes",       "gauge": {         "maxValue": 100,         "minValue": 0,         "show": false,         "thresholdLabels": false,         "thresholdMarkers": true       },       "gridPos": {         "h": 3,         "w": 4,         "x": 10,         "y": 0       },       "top": "55px",       "id": 26,       "interval": null,       "links": [],       "mappingType": i,       "mappingTypes": [         {           "name": "value to text",           "value": 1         },         {           "name": "range to text",           "value": 2         }       ],       "maxDataPoints": 100,       "nullPointMode": "continued",       "nullText": naught,       "postfix": "",       "postfixFontSize": "50%",       "prefix": "",       "prefixFontSize": "80%",       "rangeMaps": [         {           "from": "null",           "text": "N/A",           "to": "zippo"         }       ],       "sparkline": {         "fillColor": "rgba(31, 118, 189, 0.eighteen)",         "full": false,         "lineColor": "rgb(31, 120, 193)",         "show": false       },       "tableColumn": "node_memory_MemAvailable_bytes{instance=\"localhost:9100\", task=\"node\"}",       "targets": [         {           "expr": "node_memory_MemAvailable_bytes{instance=\"localhost:9100\",job=\"node\"}",           "format": "time_series",           "interval": "",           "intervalFactor": one,           "legendFormat": "",           "metric": "node_memory_MemAvailable",           "refId": "A",           "pace": 30         }       ],       "thresholds": "",       "title": "RAM available",       "blazon": "singlestat",       "valueFontSize": "80%",       "valueMaps": [         {           "op": "=",           "text": "N/A",           "value": "null"         }       ],       "valueName": "current"     },     {       "cacheTimeout": cipher,       "colorBackground": fake,       "colorValue": true,       "colors": [         "rgba(245, 54, 54, 0.9)",         "rgba(237, 129, forty, 0.89)",         "rgba(l, 172, 45, 0.97)"       ],       "datasource": "GitLab Omnibus",       "decimals": 2,       "editable": truthful,       "error": faux,       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "format": "bytes",       "estimate": {         "maxValue": 100,         "minValue": 0,         "show": fake,         "thresholdLabels": fake,         "thresholdMarkers": truthful       },       "gridPos": {         "h": 3,         "w": 4,         "x": 14,         "y": 0       },       "peak": "55px",       "id": 34,       "interval": null,       "links": [],       "mappingType": 1,       "mappingTypes": [         {           "proper noun": "value to text",           "value": ane         },         {           "name": "range to text",           "value": 2         }       ],       "maxDataPoints": 100,       "nullPointMode": "connected",       "nullText": nix,       "postfix": "",       "postfixFontSize": "l%",       "prefix": "",       "prefixFontSize": "fourscore%",       "rangeMaps": [         {           "from": "nix",           "text": "North/A",           "to": "null"         }       ],       "sparkline": {         "fillColor": "rgba(31, 118, 189, 0.18)",         "full": false,         "lineColor": "rgb(31, 120, 193)",         "testify": false       },       "tableColumn": "node_memory_MemFree_bytes{instance=\"localhost:9100\", job=\"node\"}",       "targets": [         {           "expr": "node_memory_MemFree_bytes{instance=\"localhost:9100\",job=\"node\"}",           "format": "time_series",           "interval": "",           "intervalFactor": i,           "legendFormat": "",           "metric": "node_memory_MemAvailable",           "refId": "A",           "footstep": 30         }       ],       "thresholds": "",       "title": "Free RAM",       "type": "singlestat",       "valueFontSize": "80%",       "valueMaps": [         {           "op": "=",           "text": "Due north/A",           "value": "nada"         }       ],       "valueName": "current"     },     {       "cacheTimeout": null,       "colorBackground": false,       "colorValue": truthful,       "colors": [         "rgba(245, 54, 54, 0.9)",         "rgba(237, 129, 40, 0.89)",         "rgba(50, 172, 45, 0.97)"       ],       "datasource": "GitLab Omnibus",       "decimals": 0,       "editable": true,       "error": simulated,       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "format": "percent",       "judge": {         "maxValue": 100,         "minValue": 0,         "testify": false,         "thresholdLabels": imitation,         "thresholdMarkers": truthful       },       "gridPos": {         "h": 3,         "west": 6,         "x": 18,         "y": 0       },       "height": "50px",       "id": 9,       "interval": cipher,       "links": [],       "mappingType": i,       "mappingTypes": [         {           "proper name": "value to text",           "value": 1         },         {           "name": "range to text",           "value": two         }       ],       "maxDataPoints": 100,       "nullPointMode": "connected",       "nullText": nix,       "postfix": "",       "postfixFontSize": "50%",       "prefix": "",       "prefixFontSize": "80%",       "rangeMaps": [         {           "from": "nothing",           "text": "N/A",           "to": "zilch"         }       ],       "sparkline": {         "fillColor": "rgba(31, 118, 189, 0.18)",         "full": true,         "lineColor": "rgb(31, 120, 193)",         "show": true       },       "tableColumn": "{instance=\"localhost:9100\", job=\"node\"}",       "targets": [         {           "calculatedInterval": "10m",           "datasourceErrors": {},           "errors": {},           "expr": "(node_memory_MemAvailable_bytes{instance=\"localhost:9100\",job=\"node\"} or (node_memory_MemFree_bytes{instance=\"localhost:9100\",chore=\"node\"} + node_memory_Buffers_bytes{instance=\"localhost:9100\",job=\"node\"} + node_memory_Cached_bytes{instance=\"localhost:9100\",job=\"node\"})) / node_memory_MemTotal_bytes{case=\"localhost:9100\",chore=\"node\"} * 100",           "format": "time_series",           "interval": "5m",           "intervalFactor": 1,           "legendFormat": "",           "metric": "node_mem",           "prometheusLink": "/api/datasources/proxy/one/graph#%5B%7B%22expr%22%3A%22(node_memory_MemFree%7Balias%3D%5C%22%24host%5C%22%7D%twenty%2B%20node_memory_Buffers%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Cached%7Balias%3D%5C%22%24host%5C%22%7D)%xx%2F%20node_memory_MemTotal%7Balias%3D%5C%22%24host%5C%22%7D%20*%20100%22%2C%22range_input%22%3A%2243201s%22%2C%22end_input%22%3A%222015-9-fifteen%2013%3A54%22%2C%22step_input%22%3A%22%22%2C%22tab%22%3A0%7D%5D",           "refId": "A",           "step": 300         }       ],       "thresholds": "ten,l",       "title": "% RAM Available",       "type": "singlestat",       "valueFontSize": "fourscore%",       "valueMaps": [],       "valueName": "electric current"     },     {       "aliasColors": {},       "bars": false,       "dashLength": 10,       "dashes": fake,       "datasource": "GitLab Bus",       "decimals": 2,       "editable": true,       "fault": false,       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "fill": 6,       "fillGradient": 0,       "filigree": {},       "gridPos": {         "h": vii,         "west": 24,         "x": 0,         "y": 3       },       "height": "260px",       "hiddenSeries": false,       "id": ii,       "legend": {         "alignAsTable": true,         "avg": true,         "electric current": false,         "hideEmpty": false,         "max": truthful,         "min": true,         "rightSide": true,         "show": truthful,         "total": simulated,         "values": true       },       "lines": true,       "linewidth": 2,       "links": [],       "nullPointMode": "aught",       "options": {         "dataLinks": []       },       "percent": simulated,       "pointradius": v,       "points": imitation,       "renderer": "flot",       "seriesOverrides": [],       "spaceLength": 10,       "stack": true,       "steppedLine": false,       "targets": [         {           "calculatedInterval": "2s",           "datasourceErrors": {},           "errors": {},           "expr": "sum(rate(node_cpu_seconds_total{instance='localhost:9100',task='node'}[$interval])) by (mode) * 100 / count(node_cpu{instance='localhost:9100',job='node'}) past (mode) or sum(irate(node_cpu_seconds_total{instance='localhost:9100',job='node'}[5m])) by (mode) * 100 / count(node_cpu_seconds_total{instance='localhost:9100',job='node'}) by (way)",           "format": "time_series",           "interval": "",           "intervalFactor": 1,           "legendFormat": "{{ manner }}",           "metric": "",           "prometheusLink": "/api/datasources/proxy/i/graph#%5B%7B%22expr%22%3A%22sum(rate(node_cpu%7Balias%3D%5C%22%24host%5C%22%7D%5B%24interval%5D))%20by%20(mode)%twenty*%20100%22%2C%22range_input%22%3A%223600s%22%2C%22end_input%22%3A%222015-10-22%2015%3A27%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "A",           "stride": 2         }       ],       "thresholds": [],       "timeFrom": null,       "timeRegions": [],       "timeShift": null,       "title": "CPU Usage",       "tooltip": {         "msResolution": false,         "shared": true,         "sort": 0,         "value_type": "individual"       },       "blazon": "graph",       "xaxis": {         "buckets": cypher,         "fashion": "time",         "name": null,         "show": truthful,         "values": []       },       "yaxes": [         {           "format": "percent",           "characterization": "",           "logBase": 1,           "max": 100,           "min": 0,           "testify": true         },         {           "format": "short",           "logBase": ane,           "max": null,           "min": 0,           "show": true         }       ],       "yaxis": {         "marshal": false,         "alignLevel": null       }     },     {       "aliasColors": {},       "bars": false,       "dashLength": 10,       "dashes": false,       "datasource": "GitLab Omnibus",       "decimals": 2,       "editable": true,       "mistake": false,       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "fill": 2,       "fillGradient": 0,       "grid": {},       "gridPos": {         "h": 7,         "w": 24,         "x": 0,         "y": 10       },       "hiddenSeries": false,       "id": 18,       "fable": {         "alignAsTable": true,         "avg": true,         "current": fake,         "hideEmpty": false,         "max": true,         "min": true,         "rightSide": true,         "bear witness": truthful,         "sortDesc": true,         "total": false,         "values": truthful       },       "lines": true,       "linewidth": ii,       "links": [],       "nullPointMode": "null",       "options": {         "dataLinks": []       },       "percentage": false,       "pointradius": 5,       "points": false,       "renderer": "flot",       "seriesOverrides": [         {           "alias": "Load 1m",           "color": "#E24D42"         },         {           "alias": "Load 5m",           "color": "#E0752D"         },         {           "allonym": "Load 15m",           "colour": "#E5AC0E"         }       ],       "spaceLength": 10,       "stack": simulated,       "steppedLine": false,       "targets": [         {           "calculatedInterval": "10s",           "datasourceErrors": {},           "errors": {},           "expr": "node_load1{example='localhost:9100',job='node'}",           "format": "time_series",           "interval": "",           "intervalFactor": i,           "legendFormat": "Load 1m",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_load1%7Balias%3D%5C%22%24host%5C%22%7D%22%2C%22range_input%22%3A%223601s%22%2C%22end_input%22%3A%222015-10-22%2015%3A27%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Afalse%2C%22tab%22%3A0%7D%5D",           "refId": "A",           "step": 2,           "target": ""         },         {           "calculatedInterval": "10s",           "datasourceErrors": {},           "errors": {},           "expr": "node_load5{instance='localhost:9100',job='node'}",           "format": "time_series",           "interval": "",           "intervalFactor": i,           "legendFormat": "Load 5m",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_load5%7Balias%3D%5C%22%24host%5C%22%7D%22%2C%22range_input%22%3A%223600s%22%2C%22end_input%22%3A%222015-10-22%2015%3A27%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Afalse%2C%22tab%22%3A0%7D%5D",           "refId": "B",           "stride": 2,           "target": ""         },         {           "calculatedInterval": "10s",           "datasourceErrors": {},           "errors": {},           "expr": "node_load15{instance='localhost:9100',job='node'}",           "format": "time_series",           "interval": "",           "intervalFactor": 1,           "legendFormat": "Load 15m",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_load15%7Balias%3D%5C%22%24host%5C%22%7D%22%2C%22range_input%22%3A%223600s%22%2C%22end_input%22%3A%222015-x-22%2015%3A27%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Afalse%2C%22tab%22%3A0%7D%5D",           "refId": "C",           "pace": 2,           "target": ""         }       ],       "thresholds": [],       "timeFrom": null,       "timeRegions": [],       "timeShift": null,       "championship": "Load Average",       "tooltip": {         "msResolution": false,         "shared": truthful,         "sort": 0,         "value_type": "private"       },       "type": "graph",       "xaxis": {         "buckets": null,         "mode": "time",         "proper name": nix,         "testify": true,         "values": []       },       "yaxes": [         {           "format": "none",           "label": "",           "logBase": one,           "max": nothing,           "min": 0,           "show": true         },         {           "format": "none",           "logBase": 1,           "max": aught,           "min": 0,           "show": true         }       ],       "yaxis": {         "align": fake,         "alignLevel": null       }     },     {       "aliasColors": {},       "bars": false,       "dashLength": 10,       "dashes": false,       "datasource": "GitLab Coach",       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "fill": 4,       "fillGradient": 0,       "gridPos": {         "h": 8,         "westward": 12,         "ten": 0,         "y": 17       },       "hiddenSeries": false,       "id": 33,       "fable": {         "alignAsTable": true,         "avg": true,         "current": false,         "max": true,         "min": true,         "testify": true,         "total": false,         "values": true       },       "lines": true,       "linewidth": 2,       "links": [],       "nullPointMode": "null",       "options": {         "dataLinks": []       },       "percent": faux,       "pointradius": v,       "points": simulated,       "renderer": "flot",       "seriesOverrides": [],       "spaceLength": x,       "stack": true,       "steppedLine": simulated,       "targets": [         {           "alias": "",           "expr": "node_memory_MemTotal_bytes{job='node',instance='localhost:9100'}",           "format": "time_series",           "intervalFactor": i,           "legendFormat": "Full",           "rawSql": "SELECT\n  UNIX_TIMESTAMP() as time_sec,\n                          equally value,\n                              as metric\nFROM \nWHERE $__timeFilter(time_column)\nORDER BY                                  ASC\n",           "refId": "A"         },         {           "expr": "node_memory_MemTotal_bytes{job='node',instance='localhost:9100'} - (node_memory_MemAvailable_bytes{task='node',instance='localhost:9100'} or (node_memory_MemFree_bytes{task='node',instance='localhost:9100'} + node_memory_Buffers_bytes{job='node',case='localhost:9100'} + node_memory_Cached_bytes{chore='node',case='localhost:9100'}))",           "format": "time_series",           "intervalFactor": 1,           "legendFormat": "Used",           "refId": "B"         },         {           "expr": "node_memory_MemAvailable_bytes{job='node',example='localhost:9100'} or (node_memory_MemFree_bytes{job='node',example='localhost:9100'} + node_memory_Buffers_bytes{job='node',instance='localhost:9100'} + node_memory_Cached_bytes{job='node',example='localhost:9100'})",           "format": "time_series",           "intervalFactor": 1,           "legendFormat": "Bachelor",           "refId": "C"         }       ],       "thresholds": [],       "timeFrom": null,       "timeRegions": [],       "timeShift": zip,       "title": "Memory",       "tooltip": {         "shared": truthful,         "sort": 0,         "value_type": "individual"       },       "type": "graph",       "xaxis": {         "buckets": nix,         "way": "fourth dimension",         "name": null,         "show": true,         "values": []       },       "yaxes": [         {           "format": "bytes",           "label": naught,           "logBase": 1,           "max": null,           "min": "0",           "prove": true         },         {           "format": "bytes",           "label": cipher,           "logBase": 1,           "max": null,           "min": "0",           "prove": true         }       ],       "yaxis": {         "marshal": false,         "alignLevel": nada       }     },     {       "aliasColors": {},       "confined": faux,       "dashLength": 10,       "dashes": imitation,       "datasource": "GitLab Omnibus",       "decimals": ii,       "editable": truthful,       "error": imitation,       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "fill up": half dozen,       "fillGradient": 0,       "grid": {},       "gridPos": {         "h": 8,         "due west": 12,         "x": 12,         "y": 17       },       "height": "",       "hiddenSeries": faux,       "id": 29,       "legend": {         "alignAsTable": true,         "avg": true,         "electric current": false,         "hideEmpty": false,         "max": true,         "min": true,         "rightSide": simulated,         "prove": truthful,         "total": simulated,         "values": true       },       "lines": truthful,       "linewidth": 2,       "links": [],       "nullPointMode": "null",       "options": {         "dataLinks": []       },       "percentage": false,       "pointradius": 5,       "points": false,       "renderer": "flot",       "seriesOverrides": [],       "spaceLength": ten,       "stack": true,       "steppedLine": faux,       "targets": [         {           "calculatedInterval": "2s",           "datasourceErrors": {},           "errors": {},           "expr": "node_memory_MemTotal_bytes{job='node',instance='localhost:9100'} - (node_memory_MemFree_bytes{chore='node',instance='localhost:9100'} + node_memory_Buffers_bytes{job='node',case='localhost:9100'} + node_memory_Cached_bytes{job='node',instance='localhost:9100'})",           "format": "time_series",           "intervalFactor": 1,           "legendFormat": "Used",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_memory_MemTotal%7Balias%3D%5C%22%24host%5C%22%7D%xx-%twenty(node_memory_MemFree%7Balias%3D%5C%22%24host%5C%22%7D%xx%2B%20node_memory_Buffers%7Balias%3D%5C%22%24host%5C%22%7D%xx%2B%20node_memory_Cached%7Balias%3D%5C%22%24host%5C%22%7D)%22%2C%22range_input%22%3A%22900s%22%2C%22end_input%22%3A%222015-10-22%2015%3A25%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "A",           "step": 5,           "target": ""         },         {           "calculatedInterval": "2s",           "datasourceErrors": {},           "errors": {},           "expr": "node_memory_MemFree_bytes{task='node',instance='localhost:9100'}",           "format": "time_series",           "intervalFactor": 1,           "legendFormat": "Gratis",           "metric": "",           "prometheusLink": "/api/datasources/proxy/one/graph#%5B%7B%22expr%22%3A%22node_memory_MemFree%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Buffers%7Balias%3D%5C%22%24host%5C%22%7D%xx%2B%20node_memory_Cached%7Balias%3D%5C%22%24host%5C%22%7D%22%2C%22range_input%22%3A%22900s%22%2C%22end_input%22%3A%222015-10-22%2015%3A25%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "B",           "pace": 5,           "target": ""         },         {           "calculatedInterval": "2s",           "datasourceErrors": {},           "errors": {},           "expr": "node_memory_Buffers_bytes{chore='node',instance='localhost:9100'}",           "format": "time_series",           "intervalFactor": i,           "legendFormat": "Buffers",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_memory_MemFree%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Buffers%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Cached%7Balias%3D%5C%22%24host%5C%22%7D%22%2C%22range_input%22%3A%22900s%22%2C%22end_input%22%3A%222015-10-22%2015%3A25%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "D",           "step": five,           "target": ""         },         {           "calculatedInterval": "2s",           "datasourceErrors": {},           "errors": {},           "expr": "node_memory_Cached_bytes{chore='node',case='localhost:9100'}",           "format": "time_series",           "intervalFactor": 1,           "legendFormat": "Cached",           "metric": "",           "prometheusLink": "/api/datasources/proxy/ane/graph#%5B%7B%22expr%22%3A%22node_memory_MemFree%7Balias%3D%5C%22%24host%5C%22%7D%twenty%2B%20node_memory_Buffers%7Balias%3D%5C%22%24host%5C%22%7D%twenty%2B%20node_memory_Cached%7Balias%3D%5C%22%24host%5C%22%7D%22%2C%22range_input%22%3A%22900s%22%2C%22end_input%22%3A%222015-x-22%2015%3A25%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "East",           "step": 5,           "target": ""         }       ],       "thresholds": [],       "timeFrom": nil,       "timeRegions": [],       "timeShift": nothing,       "title": "Retentivity Distribution",       "tooltip": {         "msResolution": false,         "shared": true,         "sort": 0,         "value_type": "private"       },       "type": "graph",       "xaxis": {         "buckets": null,         "mode": "time",         "name": nil,         "testify": true,         "values": []       },       "yaxes": [         {           "format": "bytes",           "label": "",           "logBase": one,           "max": null,           "min": 0,           "prove": true         },         {           "format": "bytes",           "logBase": i,           "max": null,           "min": 0,           "prove": true         }       ],       "yaxis": {         "align": false,         "alignLevel": null       }     },     {       "aliasColors": {},       "bars": fake,       "dashLength": ten,       "dashes": false,       "datasource": "GitLab Omnibus",       "decimals": 2,       "editable": truthful,       "error": false,       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "fill": half dozen,       "fillGradient": 0,       "grid": {},       "gridPos": {         "h": 8,         "west": 12,         "x": 0,         "y": 25       },       "hiddenSeries": false,       "id": 21,       "legend": {         "alignAsTable": true,         "avg": true,         "current": false,         "hideEmpty": false,         "max": truthful,         "min": true,         "rightSide": simulated,         "prove": truthful,         "full": false,         "values": truthful       },       "lines": true,       "linewidth": 2,       "links": [],       "nullPointMode": "nil",       "options": {         "dataLinks": []       },       "percentage": false,       "pointradius": 5,       "points": false,       "renderer": "flot",       "seriesOverrides": [],       "spaceLength": x,       "stack": true,       "steppedLine": false,       "targets": [         {           "calculatedInterval": "2s",           "datasourceErrors": {},           "errors": {},           "expr": "rate(node_network_receive_bytes_total{job='node',instance='localhost:9100', device!=\"lo\"}[$interval]) or irate(node_network_receive_bytes_total{job='node',case='localhost:9100', device!=\"lo\"}[5m])",           "format": "time_series",           "interval": "",           "intervalFactor": one,           "legendFormat": "Inbound: {{ device }}",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_memory_MemFree%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Buffers%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Cached%7Balias%3D%5C%22%24host%5C%22%7D%22%2C%22range_input%22%3A%22900s%22%2C%22end_input%22%3A%222015-10-22%2015%3A25%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "B",           "step": 5,           "target": ""         },         {           "calculatedInterval": "2s",           "datasourceErrors": {},           "errors": {},           "expr": "charge per unit(node_network_transmit_bytes_total{job='node',example='localhost:9100', device!=\"lo\"}[$interval]) or irate(node_network_transmit_bytes_total{alias=\"$host\", device!=\"lo\"}[5m])",           "format": "time_series",           "intervalFactor": 1,           "legendFormat": "Outbound: {{ device }}",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_memory_MemTotal%7Balias%3D%5C%22%24host%5C%22%7D%20-%xx(node_memory_MemFree%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Buffers%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Cached%7Balias%3D%5C%22%24host%5C%22%7D)%22%2C%22range_input%22%3A%22900s%22%2C%22end_input%22%3A%222015-10-22%2015%3A25%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "A",           "footstep": 5,           "target": ""         }       ],       "thresholds": [],       "timeFrom": zip,       "timeRegions": [],       "timeShift": aught,       "championship": "Network Traffic",       "tooltip": {         "msResolution": fake,         "shared": truthful,         "sort": 0,         "value_type": "individual"       },       "blazon": "graph",       "xaxis": {         "buckets": null,         "mode": "time",         "name": nil,         "show": true,         "values": []       },       "yaxes": [         {           "format": "Bps",           "label": "",           "logBase": 1,           "max": goose egg,           "min": 0,           "show": truthful         },         {           "format": "bytes",           "logBase": ane,           "max": nil,           "min": 0,           "show": true         }       ],       "yaxis": {         "align": false,         "alignLevel": zero       }     },     {       "aliasColors": {},       "bars": true,       "dashLength": x,       "dashes": false,       "datasource": "GitLab Omnibus",       "decimals": 2,       "editable": true,       "fault": imitation,       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "fill": 6,       "fillGradient": 0,       "grid": {},       "gridPos": {         "h": eight,         "w": 12,         "x": 12,         "y": 25       },       "hiddenSeries": false,       "id": 22,       "legend": {         "alignAsTable": true,         "avg": true,         "electric current": faux,         "hideEmpty": false,         "max": true,         "min": true,         "rightSide": false,         "show": true,         "sort": "min",         "sortDesc": true,         "total": faux,         "values": truthful       },       "lines": false,       "linewidth": ii,       "links": [],       "nullPointMode": "goose egg",       "options": {         "dataLinks": []       },       "pct": imitation,       "pointradius": v,       "points": false,       "renderer": "flot",       "seriesOverrides": [],       "spaceLength": x,       "stack": true,       "steppedLine": false,       "targets": [         {           "calculatedInterval": "2s",           "datasourceErrors": {},           "errors": {},           "expr": "sum(increase(node_network_receive_bytes_total{job='node',instance='localhost:9100', device!=\"lo\"}[1h]))",           "format": "time_series",           "interval": "1h",           "intervalFactor": 1,           "legendFormat": "Received",           "metric": "",           "prometheusLink": "/api/datasources/proxy/ane/graph#%5B%7B%22expr%22%3A%22node_memory_MemTotal%7Balias%3D%5C%22%24host%5C%22%7D%20-%20(node_memory_MemFree%7Balias%3D%5C%22%24host%5C%22%7D%xx%2B%20node_memory_Buffers%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Cached%7Balias%3D%5C%22%24host%5C%22%7D)%22%2C%22range_input%22%3A%22900s%22%2C%22end_input%22%3A%222015-ten-22%2015%3A25%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "A",           "step": 3600,           "target": ""         },         {           "calculatedInterval": "2s",           "datasourceErrors": {},           "errors": {},           "expr": "sum(increment(node_network_transmit_bytes_total{job='node',instance='localhost:9100', device!=\"lo\"}[1h]))",           "format": "time_series",           "hide": false,           "interval": "1h",           "intervalFactor": one,           "legendFormat": "Sent",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_memory_MemTotal%7Balias%3D%5C%22%24host%5C%22%7D%twenty-%20(node_memory_MemFree%7Balias%3D%5C%22%24host%5C%22%7D%twenty%2B%20node_memory_Buffers%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Cached%7Balias%3D%5C%22%24host%5C%22%7D)%22%2C%22range_input%22%3A%22900s%22%2C%22end_input%22%3A%222015-10-22%2015%3A25%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "B",           "pace": 3600,           "target": ""         }       ],       "thresholds": [],       "timeFrom": "24h",       "timeRegions": [],       "timeShift": null,       "championship": "Network Utilization Hourly",       "tooltip": {         "msResolution": false,         "shared": truthful,         "sort": 0,         "value_type": "private"       },       "blazon": "graph",       "xaxis": {         "buckets": null,         "mode": "time",         "name": null,         "prove": true,         "values": []       },       "yaxes": [         {           "format": "bytes",           "label": "",           "logBase": 1,           "max": zero,           "min": 0,           "show": true         },         {           "format": "bytes",           "logBase": 1,           "max": zip,           "min": 0,           "testify": true         }       ],       "yaxis": {         "align": false,         "alignLevel": nada       }     },     {       "aliasColors": {},       "bars": false,       "dashLength": x,       "dashes": false,       "datasource": "GitLab Coach",       "decimals": two,       "editable": truthful,       "error": false,       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "fill": 2,       "fillGradient": 0,       "grid": {},       "gridPos": {         "h": 8,         "due west": 12,         "x": 0,         "y": 33       },       "hiddenSeries": false,       "id": 27,       "legend": {         "alignAsTable": true,         "avg": true,         "current": false,         "hideEmpty": false,         "max": true,         "min": true,         "rightSide": faux,         "show": true,         "total": false,         "values": true       },       "lines": truthful,       "linewidth": 2,       "links": [],       "nullPointMode": "zip",       "options": {         "dataLinks": []       },       "percentage": false,       "pointradius": 5,       "points": false,       "renderer": "flot",       "seriesOverrides": [],       "spaceLength": 10,       "stack": fake,       "steppedLine": false,       "targets": [         {           "calculatedInterval": "2m",           "datasourceErrors": {},           "errors": {},           "expr": "charge per unit(node_context_switches_total{job='node',instance='localhost:9100'}[$interval]) or irate(node_context_switches_total{chore='node',instance='localhost:9100'}[5m])",           "format": "time_series",           "intervalFactor": 1,           "legendFormat": "Context Switches",           "metric": "",           "prometheusLink": "/api/datasources/proxy/ane/graph#%5B%7B%22expr%22%3A%22node_procs_running%7Balias%3D%5C%22%24host%5C%22%7D%22%2C%22range_input%22%3A%2243200s%22%2C%22end_input%22%3A%222015-9-eighteen%2013%3A46%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "A",           "step": 5,           "target": ""         }       ],       "thresholds": [],       "timeFrom": null,       "timeRegions": [],       "timeShift": cipher,       "title": "Context Switches",       "tooltip": {         "msResolution": false,         "shared": truthful,         "sort": 0,         "value_type": "private"       },       "type": "graph",       "xaxis": {         "buckets": cipher,         "fashion": "time",         "name": null,         "show": true,         "values": []       },       "yaxes": [         {           "format": "none",           "label": "",           "logBase": ane,           "max": null,           "min": 0,           "bear witness": true         },         {           "format": "none",           "logBase": 1,           "max": null,           "min": 0,           "show": truthful         }       ],       "yaxis": {         "marshal": false,         "alignLevel": zip       }     },     {       "aliasColors": {},       "bars": truthful,       "dashLength": 10,       "dashes": false,       "datasource": "GitLab Omnibus",       "decimals": 2,       "editable": true,       "fault": imitation,       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "fill": 2,       "fillGradient": 0,       "grid": {},       "gridPos": {         "h": 8,         "w": 12,         "10": 12,         "y": 33       },       "hiddenSeries": false,       "id": 20,       "legend": {         "alignAsTable": true,         "avg": truthful,         "current": false,         "hideEmpty": simulated,         "max": truthful,         "min": truthful,         "rightSide": false,         "show": true,         "total": false,         "values": truthful       },       "lines": fake,       "linewidth": 2,       "links": [],       "nullPointMode": "nada",       "options": {         "dataLinks": []       },       "per centum": false,       "pointradius": 5,       "points": imitation,       "renderer": "flot",       "seriesOverrides": [         {           "alias": "Processes blocked waiting for I/O to complete",           "color": "#E24D42"         },         {           "alias": "Processes in runnable state",           "color": "#6ED0E0"         }       ],       "spaceLength": 10,       "stack": true,       "steppedLine": false,       "targets": [         {           "calculatedInterval": "2m",           "datasourceErrors": {},           "errors": {},           "expr": "node_procs_running{job='node',case='localhost:9100'}",           "format": "time_series",           "intervalFactor": 1,           "legendFormat": "Processes in runnable land",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_procs_running%7Balias%3D%5C%22%24host%5C%22%7D%22%2C%22range_input%22%3A%2243200s%22%2C%22end_input%22%3A%222015-9-18%2013%3A46%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "A",           "step": v,           "target": ""         },         {           "calculatedInterval": "2m",           "datasourceErrors": {},           "errors": {},           "expr": "node_procs_blocked{job='node',instance='localhost:9100'}",           "format": "time_series",           "intervalFactor": 1,           "legendFormat": "Processes blocked waiting for I/O to complete",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_procs_blocked%7Balias%3D%5C%22%24host%5C%22%7D%22%2C%22range_input%22%3A%2243200s%22%2C%22end_input%22%3A%222015-9-xviii%2013%3A46%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "B",           "step": five,           "target": ""         }       ],       "thresholds": [],       "timeFrom": null,       "timeRegions": [],       "timeShift": null,       "title": "Processes",       "tooltip": {         "msResolution": false,         "shared": true,         "sort": 0,         "value_type": "individual"       },       "type": "graph",       "xaxis": {         "buckets": null,         "mode": "time",         "proper noun": null,         "show": true,         "values": []       },       "yaxes": [         {           "format": "none",           "characterization": "",           "logBase": 1,           "max": zilch,           "min": 0,           "show": truthful         },         {           "format": "none",           "logBase": one,           "max": aught,           "min": 0,           "show": true         }       ],       "yaxis": {         "marshal": false,         "alignLevel": null       }     },     {       "aliasColors": {},       "bars": simulated,       "dashLength": ten,       "dashes": false,       "datasource": "GitLab Autobus",       "decimals": two,       "editable": true,       "error": false,       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "fill": two,       "fillGradient": 0,       "grid": {},       "gridPos": {         "h": 8,         "w": 12,         "x": 0,         "y": 41       },       "hiddenSeries": false,       "id": 31,       "fable": {         "alignAsTable": truthful,         "avg": true,         "current": faux,         "hideEmpty": imitation,         "max": truthful,         "min": true,         "rightSide": false,         "show": true,         "full": faux,         "values": true       },       "lines": true,       "linewidth": 2,       "links": [],       "nullPointMode": "null",       "options": {         "dataLinks": []       },       "percent": false,       "pointradius": v,       "points": false,       "renderer": "flot",       "seriesOverrides": [],       "spaceLength": ten,       "stack": false,       "steppedLine": false,       "targets": [         {           "calculatedInterval": "2s",           "datasourceErrors": {},           "errors": {},           "expr": "rate(node_vmstat_pgpgin{task='node'}[$interval]) * 1024 or irate(node_vmstat_pgpgin{task='node'}[5m]) * 1024",           "format": "time_series",           "hide": false,           "intervalFactor": 1,           "legendFormat": "Page In",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_memory_MemTotal%7Balias%3D%5C%22%24host%5C%22%7D%20-%xx(node_memory_MemFree%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Buffers%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Cached%7Balias%3D%5C%22%24host%5C%22%7D)%22%2C%22range_input%22%3A%22900s%22%2C%22end_input%22%3A%222015-10-22%2015%3A25%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "A",           "step": five,           "target": ""         },         {           "calculatedInterval": "2s",           "datasourceErrors": {},           "errors": {},           "expr": "rate(node_vmstat_pgpgout{job='node'}[$interval]) * 1024 or irate(node_vmstat_pgpgout{job='node'}[5m]) * 1024",           "format": "time_series",           "hide": false,           "intervalFactor": 1,           "legendFormat": "Page Out",           "metric": "",           "prometheusLink": "/api/datasources/proxy/one/graph#%5B%7B%22expr%22%3A%22node_memory_MemFree%7Balias%3D%5C%22%24host%5C%22%7D%twenty%2B%20node_memory_Buffers%7Balias%3D%5C%22%24host%5C%22%7D%xx%2B%20node_memory_Cached%7Balias%3D%5C%22%24host%5C%22%7D%22%2C%22range_input%22%3A%22900s%22%2C%22end_input%22%3A%222015-ten-22%2015%3A25%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "B",           "footstep": 5,           "target": ""         }       ],       "thresholds": [],       "timeFrom": cypher,       "timeRegions": [],       "timeShift": null,       "title": "I/O Activity",       "tooltip": {         "msResolution": simulated,         "shared": true,         "sort": 0,         "value_type": "private"       },       "blazon": "graph",       "xaxis": {         "buckets": null,         "fashion": "time",         "name": null,         "testify": true,         "values": []       },       "yaxes": [         {           "format": "Bps",           "characterization": "",           "logBase": 1,           "max": null,           "min": 0,           "prove": true         },         {           "format": "bytes",           "logBase": 1,           "max": null,           "min": 0,           "show": true         }       ],       "yaxis": {         "align": fake,         "alignLevel": cypher       }     },     {       "aliasColors": {},       "bars": false,       "dashLength": x,       "dashes": false,       "datasource": "GitLab Coach",       "decimals": two,       "editable": true,       "error": simulated,       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "fill": ii,       "fillGradient": 0,       "grid": {},       "gridPos": {         "h": viii,         "w": 12,         "x": 12,         "y": 41       },       "hiddenSeries": imitation,       "id": 28,       "legend": {         "alignAsTable": true,         "avg": true,         "electric current": false,         "hideEmpty": false,         "max": true,         "min": true,         "rightSide": false,         "show": true,         "full": false,         "values": truthful       },       "lines": true,       "linewidth": 2,       "links": [],       "nullPointMode": "null",       "options": {         "dataLinks": []       },       "pct": false,       "pointradius": 5,       "points": false,       "renderer": "flot",       "seriesOverrides": [         {           "allonym": "Interrupts",           "color": "#D683CE"         }       ],       "spaceLength": ten,       "stack": false,       "steppedLine": simulated,       "targets": [         {           "calculatedInterval": "2m",           "datasourceErrors": {},           "errors": {},           "expr": "charge per unit(node_intr_total{instance=\":9100\",job=\"node\"}[$interval]) or irate(node_intr_total{job=\"node\"}[5m])",           "format": "time_series",           "intervalFactor": 1,           "legendFormat": "Interrupts",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_procs_running%7Balias%3D%5C%22%24host%5C%22%7D%22%2C%22range_input%22%3A%2243200s%22%2C%22end_input%22%3A%222015-nine-xviii%2013%3A46%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "A",           "step": 5,           "target": ""         }       ],       "thresholds": [],       "timeFrom": null,       "timeRegions": [],       "timeShift": null,       "title": "Interrupts",       "tooltip": {         "msResolution": true,         "shared": true,         "sort": 0,         "value_type": "private"       },       "blazon": "graph",       "xaxis": {         "buckets": zippo,         "mode": "time",         "proper noun": null,         "show": true,         "values": []       },       "yaxes": [         {           "format": "none",           "characterization": "",           "logBase": ane,           "max": cypher,           "min": 0,           "testify": truthful         },         {           "format": "none",           "logBase": 1,           "max": zippo,           "min": 0,           "show": true         }       ],       "yaxis": {         "align": imitation,         "alignLevel": null       }     },     {       "aliasColors": {},       "bars": false,       "dashLength": 10,       "dashes": fake,       "datasource": "GitLab Omnibus",       "decimals": ii,       "editable": true,       "error": false,       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "fill": 6,       "fillGradient": 0,       "grid": {},       "gridPos": {         "h": viii,         "w": 12,         "x": 0,         "y": 49       },       "hiddenSeries": false,       "id": 23,       "legend": {         "alignAsTable": true,         "avg": true,         "electric current": false,         "hideEmpty": faux,         "max": truthful,         "min": true,         "rightSide": faux,         "show": true,         "total": simulated,         "values": true       },       "lines": truthful,       "linewidth": 2,       "links": [],       "nullPointMode": "nada",       "options": {         "dataLinks": []       },       "percentage": false,       "pointradius": five,       "points": false,       "renderer": "flot",       "seriesOverrides": [         {           "alias": "Used",           "color": "#584477"         },         {           "allonym": "Free",           "color": "#AEA2E0"         }       ],       "spaceLength": 10,       "stack": true,       "steppedLine": faux,       "targets": [         {           "calculatedInterval": "2s",           "datasourceErrors": {},           "errors": {},           "expr": "node_memory_SwapTotal_bytes{job='node',instance='localhost:9100'} - node_memory_SwapFree_bytes{chore='node',example='localhost:9100'}",           "format": "time_series",           "intervalFactor": 1,           "legendFormat": "Used",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_memory_MemTotal%7Balias%3D%5C%22%24host%5C%22%7D%twenty-%20(node_memory_MemFree%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Buffers%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Cached%7Balias%3D%5C%22%24host%5C%22%7D)%22%2C%22range_input%22%3A%22900s%22%2C%22end_input%22%3A%222015-10-22%2015%3A25%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "A",           "stride": v,           "target": ""         },         {           "calculatedInterval": "2s",           "datasourceErrors": {},           "errors": {},           "expr": "node_memory_SwapFree_bytes{task='node',example='localhost:9100'}",           "format": "time_series",           "hide": imitation,           "intervalFactor": ane,           "legendFormat": "Costless",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_memory_MemFree%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Buffers%7Balias%3D%5C%22%24host%5C%22%7D%twenty%2B%20node_memory_Cached%7Balias%3D%5C%22%24host%5C%22%7D%22%2C%22range_input%22%3A%22900s%22%2C%22end_input%22%3A%222015-ten-22%2015%3A25%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "B",           "pace": 5,           "target": ""         }       ],       "thresholds": [],       "timeFrom": goose egg,       "timeRegions": [],       "timeShift": null,       "title": "Swap",       "tooltip": {         "msResolution": false,         "shared": true,         "sort": 0,         "value_type": "individual"       },       "type": "graph",       "xaxis": {         "buckets": null,         "mode": "time",         "name": null,         "show": true,         "values": []       },       "yaxes": [         {           "format": "bytes",           "label": "",           "logBase": 1,           "max": null,           "min": 0,           "show": truthful         },         {           "format": "bytes",           "logBase": ane,           "max": null,           "min": 0,           "show": truthful         }       ],       "yaxis": {         "align": fake,         "alignLevel": null       }     },     {       "aliasColors": {},       "bars": false,       "dashLength": 10,       "dashes": fake,       "datasource": "GitLab Omnibus",       "decimals": 2,       "editable": true,       "fault": false,       "fieldConfig": {         "defaults": {           "custom": {}         },         "overrides": []       },       "fill": 2,       "fillGradient": 0,       "grid": {},       "gridPos": {         "h": 8,         "w": 12,         "x": 12,         "y": 49       },       "hiddenSeries": imitation,       "id": 30,       "legend": {         "alignAsTable": truthful,         "avg": true,         "current": imitation,         "hideEmpty": fake,         "max": true,         "min": true,         "rightSide": false,         "bear witness": true,         "total": false,         "values": true       },       "lines": true,       "linewidth": 2,       "links": [],       "nullPointMode": "null",       "options": {         "dataLinks": []       },       "percentage": false,       "pointradius": 5,       "points": false,       "renderer": "flot",       "seriesOverrides": [],       "spaceLength": ten,       "stack": false,       "steppedLine": false,       "targets": [         {           "calculatedInterval": "2s",           "datasourceErrors": {},           "errors": {},           "expr": "charge per unit(node_vmstat_pswpin{task='node',instance='localhost:9100'}[$interval]) * 4096 or irate(node_vmstat_pswpin{chore='node',example='localhost:9100'}[5m]) * 4096",           "format": "time_series",           "intervalFactor": ane,           "legendFormat": "Swap In",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_memory_MemTotal%7Balias%3D%5C%22%24host%5C%22%7D%20-%20(node_memory_MemFree%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Buffers%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Cached%7Balias%3D%5C%22%24host%5C%22%7D)%22%2C%22range_input%22%3A%22900s%22%2C%22end_input%22%3A%222015-10-22%2015%3A25%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "A",           "pace": 5,           "target": ""         },         {           "calculatedInterval": "2s",           "datasourceErrors": {},           "errors": {},           "expr": "charge per unit(node_vmstat_pswpout{job='node',example='localhost:9100'}[$interval]) * 4096 or irate(node_vmstat_pswpout{chore='node',instance='localhost:9100'}[5m]) * 4096",           "format": "time_series",           "intervalFactor": 1,           "legendFormat": "Swap Out",           "metric": "",           "prometheusLink": "/api/datasources/proxy/1/graph#%5B%7B%22expr%22%3A%22node_memory_MemFree%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Buffers%7Balias%3D%5C%22%24host%5C%22%7D%20%2B%20node_memory_Cached%7Balias%3D%5C%22%24host%5C%22%7D%22%2C%22range_input%22%3A%22900s%22%2C%22end_input%22%3A%222015-10-22%2015%3A25%22%2C%22step_input%22%3A%22%22%2C%22stacked%22%3Atrue%2C%22tab%22%3A0%7D%5D",           "refId": "B",           "step": 5,           "target": ""         }       ],       "thresholds": [],       "timeFrom": null,       "timeRegions": [],       "timeShift": null,       "title": "Swap Activity",       "tooltip": {         "msResolution": false,         "shared": true,         "sort": 0,         "value_type": "individual"       },       "type": "graph",       "xaxis": {         "buckets": nada,         "mode": "fourth dimension",         "proper noun": null,         "testify": true,         "values": []       },       "yaxes": [         {           "format": "Bps",           "characterization": "",           "logBase": 1,           "max": null,           "min": 0,           "show": true         },         {           "format": "bytes",           "logBase": 1,           "max": zero,           "min": 0,           "testify": truthful         }       ],       "yaxis": {         "marshal": false,         "alignLevel": zilch       }     }   ],   "refresh": "30s",   "schemaVersion": 25,   "way": "dark",   "tags": [     "arrangement",     "prometheus",     "online",     "GetLab"   ],   "templating": {     "listing": [       {         "allFormat": "glob",         "auto": true,         "auto_count": 200,         "auto_min": "1s",         "current": {           "selected": fake,           "text": "5s",           "value": "5s"         },         "datasource": "GitLab Passenger vehicle",         "hide": 0,         "includeAll": false,         "label": "Interval",         "multi": false,         "multiFormat": "glob",         "proper noun": "interval",         "options": [           {             "selected": fake,             "text": "auto",             "value": "$__auto_interval_interval"           },           {             "selected": false,             "text": "1s",             "value": "1s"           },           {             "selected": true,             "text": "5s",             "value": "5s"           },           {             "selected": false,             "text": "1m",             "value": "1m"           },           {             "selected": false,             "text": "5m",             "value": "5m"           },           {             "selected": false,             "text": "1h",             "value": "1h"           },           {             "selected": false,             "text": "6h",             "value": "6h"           },           {             "selected": false,             "text": "1d",             "value": "1d"           }         ],         "query": "1s,5s,1m,5m,1h,6h,1d",         "refresh": 2,         "skipUrlSync": simulated,         "type": "interval"       }     ]   },   "time": {     "from": "now-1h",     "to": "now"   },   "timepicker": {     "plummet": false,     "enable": true,     "notice": imitation,     "now": true,     "refresh_intervals": [       "5s",       "10s",       "30s",       "1m",       "5m",       "15m",       "30m",       "1h",       "2h",       "1d"     ],     "condition": "Stable",     "time_options": [       "5m",       "15m",       "1h",       "6h",       "12h",       "24h",       "2d",       "7d",       "30d"     ],     "type": "timepicker"   },   "timezone": "",   "title": "Gitlab System",   "uid": "4W5aRFAGz",   "version": 2 }                                                            

And in that location you go. Yous tin can further enable and collect various Gitlab metric information and visualize them on Grafana. That marks the stop of our tutorial on monitoring Gitlab metrics with Prometheus and Grafana.

Reference

Monitoring Gitlab with Prometheus

Other Tutorials

Monitor OpenVPN Connections with Prometheus and Grafana

Install Latest Grafana on CentOS 8

Integrate Prometheus with Grafana for Monitoring

Monitor Squid logs with Grafana and Graylog

Source: https://kifarunix.com/monitoring-gitlab-metrics-with-prometheus-and-grafana/

Posted by: dejongbuther.blogspot.com

0 Response to "How To Clean Up Gitlab Prometheus Database"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel