Skip to content

Instantly share code, notes, and snippets.

@pjankemetricfire
Created October 28, 2020 19:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pjankemetricfire/9fd4c9faa2d5d4caa284fcf75db77a7e to your computer and use it in GitHub Desktop.
Save pjankemetricfire/9fd4c9faa2d5d4caa284fcf75db77a7e to your computer and use it in GitHub Desktop.
Heroku Dashboard Template
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": 1,
"links": [],
"panels": [
{
"content": "<h2 style=\"text-align:center;\"><img src=\"https://static.hostedgraphite.com/img/heroku/herokuavatar.png\" style=\"margin-bottom:5px;margin-right:20px;vertical-align:middle;\"/>Heroku Dashboard</h2>\n<p>Thanks for using the <a href=\"https://addons.heroku.com/hostedgraphite\">Hosted Graphite add-on for Heroku</a>! </p>\n<p>This Dashboard has been automatically created from the metrics provided from your <a href=\"https://dashboard.heroku.com/apps\">Heroku Apps</a> - For more information on these metrics and their collection check out the <a href=\"https://devcenter.heroku.com/articles/log-runtime-metrics\">Heroku documentation</a></p>",
"editable": true,
"error": false,
"gridPos": {
"h": 3,
"w": 24,
"x": 0,
"y": 0
},
"id": 1,
"loadingEditor": false,
"mode": "html",
"options": {},
"style": {},
"title": "Heroku Dashboard Overview",
"type": "text"
},
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"editable": true,
"fill": 6,
"fillGradient": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 7,
"w": 6,
"x": 0,
"y": 3
},
"id": 2,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"loadingEditor": false,
"nullPointMode": "connected",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"hide": false,
"refId": "A",
"target": "aliasByNode(heroku.*.router.status.2*:sum, 1, 4)"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "HTTP success counts",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"show": true
},
{
"format": "short",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
},
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"editable": true,
"fill": 6,
"fillGradient": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 7,
"w": 6,
"x": 6,
"y": 3
},
"id": 3,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"loadingEditor": false,
"nullPointMode": "connected",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refId": "A",
"target": "aliasByNode(heroku.*.router.status.4*:sum, 1, 4)"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "HTTP Client Error counts",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"show": true
},
{
"format": "short",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
},
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"editable": true,
"fill": 6,
"fillGradient": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 7,
"w": 6,
"x": 12,
"y": 3
},
"id": 4,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"loadingEditor": false,
"nullPointMode": "connected",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refId": "A",
"target": "aliasByNode(heroku.*.router.status.5*:sum, 1, 4)"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "HTTP Server Error counts",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"show": true
},
{
"format": "short",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
},
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"editable": true,
"fill": 6,
"fillGradient": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 7,
"w": 6,
"x": 18,
"y": 3
},
"id": 5,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"loadingEditor": false,
"nullPointMode": "connected",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refId": "A",
"target": "aliasByNode(heroku.*.router.method.*:sum, 1, 4)"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "HTTP request counts by method",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"show": true
},
{
"format": "short",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
},
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"editable": true,
"fill": 6,
"fillGradient": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 10
},
"id": 6,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"loadingEditor": false,
"nullPointMode": "null as zero",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"hide": true,
"refCount": 0,
"refId": "A",
"target": "heroku.*.router.connect"
},
{
"refCount": 0,
"refId": "B",
"target": "heroku.{www,app,api,preview,shots}.router.service:max",
"textEditor": true
},
{
"refCount": 0,
"refId": "C",
"target": "heroku.{www,app,api,preview,shots}.router.service:95pct",
"textEditor": true
},
{
"refCount": 0,
"refId": "D",
"target": "heroku.{www,app,api,preview,shots}.router.service:50pct",
"textEditor": true
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "HTTP router connect/service times",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "ms",
"show": true
},
{
"format": "short",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
},
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"editable": true,
"fill": 6,
"fillGradient": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 10
},
"id": 7,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"loadingEditor": false,
"nullPointMode": "null as zero",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refId": "A",
"target": "heroku.*.router.bytes"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "HTTP router data transfer",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"show": true
},
{
"format": "short",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
},
{
"content": "<h2><img src=\"https://avatars3.githubusercontent.com/u/23211?s=35\" style=\"margin-bottom:5px;margin-right:20px;vertical-align:middle;\"/>Heroku Router Metrics</h2>\n<p>These show metrics for the HTTP router's interaction with your <a href=\"https://dashboard.heroku.com/apps\" title=\"Heroku Web Apps\">Heroku web apps</a>. </p>\n<p>The \"service\" metric shows the amount of time after connecting to the backend that it took for the router to receive a response. This is therefore the response time of your application from the router's point of view.</p>\n\n<strong>Connect times</strong> measures the time the HTTP router spent connecting to a web process. When you're experiencing a spike in \"service\" metric times, then you may see a spike here too.\n<p />\n<p>The <strong>HTTP router data transfer</strong> panel shows the amount of data being transferred between the router and your web app in the servicing of a request. </p>\n<p>For more information see the Heroku <a href=\"https://devcenter.heroku.com/articles/http-routing#heroku-router-log-format\">documentation.</a></p>",
"editable": true,
"error": false,
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 10
},
"id": 8,
"loadingEditor": false,
"mode": "html",
"options": {},
"style": {},
"title": "Heroku router metrics",
"type": "text"
},
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"editable": true,
"fill": 6,
"fillGradient": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 17
},
"id": 9,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"loadingEditor": false,
"nullPointMode": "connected",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refCount": 0,
"refId": "B",
"target": "heroku.*.*.*.cpu.load_avg_1m",
"textEditor": true
},
{
"hide": true,
"refCount": 0,
"refId": "A",
"target": "heroku.web.*.cpu.load_avg_1m",
"textEditor": true
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Load Average (1 min)",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"show": true
},
{
"format": "short",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
},
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"editable": true,
"fill": 6,
"fillGradient": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 17
},
"id": 10,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"loadingEditor": false,
"nullPointMode": "connected",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refCount": 0,
"refId": "B",
"target": "heroku.*.*.*.cpu.load_avg_5m",
"textEditor": true
},
{
"hide": true,
"refCount": 0,
"refId": "A",
"target": "heroku.web.*.cpu.load_avg_5m",
"textEditor": true
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Load Average (5 min)",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"show": true
},
{
"format": "short",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
},
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"editable": true,
"fill": 6,
"fillGradient": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 17
},
"id": 11,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"loadingEditor": false,
"nullPointMode": "connected",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refCount": 0,
"refId": "B",
"target": "heroku.*.*.*.cpu.load_avg_15m",
"textEditor": true
},
{
"hide": true,
"refCount": 0,
"refId": "A",
"target": "heroku.web.*.cpu.load_avg_15m",
"textEditor": true
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Load Average (15 min)",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"show": true
},
{
"format": "short",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
},
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"editable": true,
"fill": 1,
"fillGradient": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 24
},
"id": 12,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"loadingEditor": false,
"nullPointMode": "null as zero",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"hide": false,
"refCount": 0,
"refId": "E",
"target": "heroku.*.*.*.memory.memory_rss",
"textEditor": true
},
{
"hide": true,
"refCount": 0,
"refId": "F",
"target": "heroku.*.*.*.memory.memory_swap",
"textEditor": true
},
{
"hide": true,
"refCount": 0,
"refId": "G",
"target": "heroku.*.*.*.memory.memory_cache",
"textEditor": true
},
{
"hide": true,
"refCount": 0,
"refId": "A",
"target": "heroku.web.*.memory.memory_rss",
"textEditor": false
},
{
"hide": true,
"refCount": 0,
"refId": "B",
"target": "heroku.web.*.memory.memory_swap"
},
{
"hide": true,
"refCount": 0,
"refId": "C",
"target": "heroku.web.*.memory.memory_cache"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Memory Usage (web dynos)",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "decmbytes",
"label": "",
"show": true
},
{
"format": "short",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
},
{
"aliasColors": {},
"annotate": {
"enable": false
},
"bars": false,
"dashLength": 10,
"dashes": false,
"editable": true,
"fill": 6,
"fillGradient": 0,
"grid": {
"max": null,
"min": null
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 24
},
"id": 13,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"loadingEditor": false,
"nullPointMode": "connected",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 5,
"points": false,
"renderer": "flot",
"resolution": 100,
"scale": 1,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"refCount": 0,
"refId": "D",
"target": "heroku.*.*.*.memory.memory_pgpgin",
"textEditor": true
},
{
"hide": false,
"refCount": 0,
"refId": "C",
"target": "heroku.*.*.*.memory.memory_pgpgout",
"textEditor": true
},
{
"hide": true,
"refCount": 0,
"refId": "A",
"target": "heroku.web.*.*.*.memory.memory_pgpgin",
"textEditor": true
},
{
"hide": true,
"refCount": 0,
"refId": "B",
"target": "heroku.web.*.*.*,memory.memory_pgpgout",
"textEditor": true
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Memory Paging",
"tooltip": {
"query_as_alias": true,
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"show": true
},
{
"format": "short",
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"zerofill": true
}
],
"refresh": false,
"schemaVersion": 19,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {
"collapse": false,
"enable": true,
"notice": false,
"now": true,
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
],
"status": "Stable",
"time_options": [
"5m",
"15m",
"1h",
"6h",
"12h",
"24h",
"2d",
"7d",
"30d"
],
"type": "timepicker"
},
"timezone": "browser",
"title": "Heroku",
"uid": "p2_YEctMk",
"version": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment