Last active
May 15, 2019 17:55
-
-
Save Vikaspogu/4a67495acf8dba5dc94837e031129fde to your computer and use it in GitHub Desktop.
OpenShift Grafana template
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: v1 | |
kind: Template | |
metadata: | |
name: grafana | |
labels: | |
app: grafana | |
annotations: | |
"openshift.io/display-name": Grafana | |
description: Grafana Graphical Dashboard. | |
iconClass: icon-cogs | |
tags: "monitoring,grafana" | |
parameters: | |
- name: IMAGE_GRAFANA | |
displayName: Grafana Image | |
description: The location of the grafana image | |
value: grafana/grafana:latest | |
required: true | |
- name: VOLUME_CAPACITY | |
displayName: Volume Capacity | |
description: Volume space available for data, e.g. 512Mi, 2Gi. | |
value: 512Mi | |
required: true | |
- name: DS_PROMETHEUS | |
displayName: Application Prometheus DataSource | |
description: Application Prometheus DataSource | |
value: App-Prometheus | |
required: true | |
objects: | |
- apiVersion: v1 | |
kind: Route | |
metadata: | |
labels: | |
app: grafana | |
name: grafana | |
spec: | |
to: | |
name: grafana | |
- apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
app: grafana | |
name: grafana | |
spec: | |
ports: | |
- name: grafana | |
port: 3000 | |
protocol: TCP | |
targetPort: 3000 | |
selector: | |
app: grafana | |
- apiVersion: v1 | |
kind: DeploymentConfig | |
metadata: | |
labels: | |
app: grafana | |
name: grafana | |
spec: | |
replicas: 1 | |
selector: | |
app: grafana | |
deploymentconfig: grafana | |
template: | |
metadata: | |
labels: | |
app: grafana | |
deploymentconfig: grafana | |
name: grafana | |
spec: | |
containers: | |
- name: grafana | |
image: ${IMAGE_GRAFANA} | |
imagePullPolicy: Always | |
livenessProbe: | |
failureThreshold: 3 | |
httpGet: | |
path: /login | |
port: 3000 | |
scheme: HTTP | |
initialDelaySeconds: 30 | |
periodSeconds: 10 | |
successThreshold: 1 | |
timeoutSeconds: 1 | |
readinessProbe: | |
failureThreshold: 3 | |
httpGet: | |
path: /login | |
port: 3000 | |
scheme: HTTP | |
initialDelaySeconds: 10 | |
periodSeconds: 10 | |
successThreshold: 1 | |
timeoutSeconds: 1 | |
volumeMounts: | |
- mountPath: /etc/grafana | |
name: grafana-etc-volume | |
- mountPath: /etc/grafana/provisioning/datasources | |
name: grafana-datasources-volume | |
- mountPath: /etc/grafana/provisioning/dashboards | |
name: grafana-dashboard-config-volume | |
- mountPath: /var/lib/grafana/dashboards | |
name: grafana-dashboards | |
- mountPath: /var/lib/grafana | |
name: grafana-lib-volume | |
restartPolicy: Always | |
volumes: | |
- name: grafana-etc-volume | |
configMap: | |
defaultMode: 420 | |
name: grafana | |
- name: grafana-datasources-volume | |
configMap: | |
name: grafana-datasources | |
defaultMode: 420 | |
- name: grafana-dashboard-config-volume | |
configMap: | |
name: grafana-dashboard-config | |
defaultMode: 420 | |
- name: grafana-dashboards | |
configMap: | |
name: grafana-dashboards | |
defaultMode: 420 | |
- name: grafana-lib-volume | |
persistentVolumeClaim: | |
claimName: grafana-lib-pvc | |
- apiVersion: v1 | |
kind: PersistentVolumeClaim | |
metadata: | |
annotations: | |
volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/glusterfs | |
name: grafana-lib-pvc | |
spec: | |
accessModes: | |
- ReadWriteMany | |
resources: | |
requests: | |
storage: "${VOLUME_CAPACITY}" | |
- apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: grafana | |
data: | |
grafana.ini: | | |
##################### Grafana Configuration Defaults ##################### | |
# | |
# Do not modify this file in grafana installs | |
# | |
# possible values : production, development | |
app_mode = production | |
# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty | |
instance_name = ${HOSTNAME} | |
#################################### Paths ############################### | |
[paths] | |
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used) | |
# | |
data = data | |
# | |
# Directory where grafana can store logs | |
# | |
logs = data/log | |
# | |
# Directory where grafana will automatically scan and look for plugins | |
# | |
plugins = data/plugins | |
# Directory where grafana will look for provisioning files (Data Sources, Dashboards) | |
provisioning = provisioning | |
#################################### Server ############################## | |
[server] | |
# Protocol (http, https, socket) | |
protocol = http | |
# The ip address to bind to, empty will bind to all interfaces | |
http_addr = | |
# The http port to use | |
http_port = 3000 | |
# The public facing domain name used to access grafana from a browser | |
domain = localhost | |
# Redirect to correct domain if host header does not match domain | |
# Prevents DNS rebinding attacks | |
enforce_domain = false | |
# The full public facing url | |
root_url = %(protocol)s://%(domain)s:%(http_port)s/ | |
# Log web requests | |
router_logging = false | |
# the path relative working path | |
static_root_path = public | |
# enable gzip | |
enable_gzip = false | |
# https certs & key file | |
cert_file = | |
cert_key = | |
# Unix socket path | |
socket = /tmp/grafana.sock | |
#################################### Database ############################ | |
[database] | |
# You can configure the database connection by specifying type, host, name, user and password | |
# as separate properties or as on string using the url property. | |
# Either "mysql", "postgres" or "sqlite3", it's your choice | |
type = sqlite3 | |
host = 127.0.0.1:3306 | |
name = grafana | |
user = root | |
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;""" | |
password = | |
# Use either URL or the previous fields to configure the database | |
# Example: mysql://user:secret@host:port/database | |
url = | |
# Max conn setting default is 0 (mean not set) | |
max_idle_conn = | |
max_open_conn = | |
# For "postgres", use either "disable", "require" or "verify-full" | |
# For "mysql", use either "true", "false", or "skip-verify". | |
ssl_mode = disable | |
ca_cert_path = | |
client_key_path = | |
client_cert_path = | |
server_cert_name = | |
# For "sqlite3" only, path relative to data_path setting | |
path = grafana.db | |
#################################### Session ############################# | |
[session] | |
# Either "memory", "file", "redis", "mysql", "postgres", "memcache", default is "file" | |
provider = file | |
# Provider config options | |
# memory: not have any config yet | |
# file: session dir path, is relative to grafana data_path | |
# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana` | |
# postgres: user=a password=b host=localhost port=5432 dbname=c sslmode=disable | |
# mysql: go-sql-driver/mysql dsn config string, examples: | |
# `user:password@tcp(127.0.0.1:3306)/database_name` | |
# `user:password@unix(/var/run/mysqld/mysqld.sock)/database_name` | |
# memcache: 127.0.0.1:11211 | |
provider_config = sessions | |
# Session cookie name | |
cookie_name = grafana_sess | |
# If you use session in https only, default is false | |
cookie_secure = false | |
# Session life time, default is 86400 | |
session_life_time = 86400 | |
gc_interval_time = 86400 | |
#################################### Data proxy ########################### | |
[dataproxy] | |
# This enables data proxy logging, default is false | |
logging = false | |
#################################### Analytics ########################### | |
[analytics] | |
# Server reporting, sends usage counters to stats.grafana.org every 24 hours. | |
# No ip addresses are being tracked, only simple counters to track | |
# running instances, dashboard and error counts. It is very helpful to us. | |
# Change this option to false to disable reporting. | |
reporting_enabled = true | |
# Set to false to disable all checks to https://grafana.com | |
# for new versions (grafana itself and plugins), check is used | |
# in some UI views to notify that grafana or plugin update exists | |
# This option does not cause any auto updates, nor send any information | |
# only a GET request to https://grafana.com to get latest versions | |
check_for_updates = true | |
# Google Analytics universal tracking code, only enabled if you specify an id here | |
google_analytics_ua_id = | |
# Google Tag Manager ID, only enabled if you specify an id here | |
google_tag_manager_id = | |
#################################### Security ############################ | |
[security] | |
# default admin user, created on startup | |
admin_user = admin | |
# default admin password, can be changed before first start of grafana, or in profile settings | |
admin_password = admin | |
# used for signing | |
secret_key = SW2YcwTIb9zpOOhoPsMm | |
# Auto-login remember days | |
login_remember_days = 7 | |
cookie_username = grafana_user | |
cookie_remember_name = grafana_remember | |
# disable gravatar profile images | |
disable_gravatar = false | |
# data source proxy whitelist (ip_or_domain:port separated by spaces) | |
data_source_proxy_whitelist = | |
[snapshots] | |
# snapshot sharing options | |
external_enabled = true | |
external_snapshot_url = https://snapshots-origin.raintank.io | |
external_snapshot_name = Publish to snapshot.raintank.io | |
# remove expired snapshot | |
snapshot_remove_expired = true | |
# remove snapshots after 90 days | |
snapshot_TTL_days = 90 | |
#################################### Users #################################### | |
[users] | |
# disable user signup / registration | |
allow_sign_up = true | |
# Allow non admin users to create organizations | |
allow_org_create = true | |
# Set to true to automatically assign new users to the default organization (id 1) | |
auto_assign_org = true | |
# Default role new users will be automatically assigned (if auto_assign_org above is set to true) | |
auto_assign_org_role = Viewer | |
# Require email validation before sign up completes | |
verify_email_enabled = false | |
# Background text for the user field on the login page | |
login_hint = email or username | |
# Default UI theme ("dark" or "light") | |
default_theme = dark | |
[auth] | |
# Set to true to disable (hide) the login form, useful if you use OAuth | |
disable_login_form = false | |
# Set to true to disable the signout link in the side menu. useful if you use auth.proxy | |
disable_signout_menu = false | |
#################################### Anonymous Auth ###################### | |
[auth.anonymous] | |
# enable anonymous access | |
enabled = false | |
# specify organization name that should be used for unauthenticated users | |
org_name = Main Org. | |
# specify role for unauthenticated users | |
org_role = Viewer | |
#################################### Github Auth ######################### | |
[auth.github] | |
enabled = false | |
allow_sign_up = true | |
client_id = some_id | |
client_secret = some_secret | |
scopes = user:email | |
auth_url = https://github.com/login/oauth/authorize | |
token_url = https://github.com/login/oauth/access_token | |
api_url = https://api.github.com/user | |
team_ids = | |
allowed_organizations = | |
#################################### Google Auth ######################### | |
[auth.google] | |
enabled = false | |
allow_sign_up = true | |
client_id = some_client_id | |
client_secret = some_client_secret | |
scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email | |
auth_url = https://accounts.google.com/o/oauth2/auth | |
token_url = https://accounts.google.com/o/oauth2/token | |
api_url = https://www.googleapis.com/oauth2/v1/userinfo | |
allowed_domains = | |
hosted_domain = | |
#################################### Grafana.com Auth #################### | |
# legacy key names (so they work in env variables) | |
[auth.grafananet] | |
enabled = false | |
allow_sign_up = true | |
client_id = some_id | |
client_secret = some_secret | |
scopes = user:email | |
allowed_organizations = | |
[auth.grafana_com] | |
enabled = false | |
allow_sign_up = true | |
client_id = some_id | |
client_secret = some_secret | |
scopes = user:email | |
allowed_organizations = | |
#################################### Generic OAuth ####################### | |
[auth.generic_oauth] | |
name = OAuth | |
enabled = false | |
allow_sign_up = true | |
client_id = some_id | |
client_secret = some_secret | |
scopes = user:email | |
auth_url = | |
token_url = | |
api_url = | |
team_ids = | |
allowed_organizations = | |
#################################### Basic Auth ########################## | |
[auth.basic] | |
enabled = true | |
#################################### Auth Proxy ########################## | |
[auth.proxy] | |
enabled = false | |
header_name = X-WEBAUTH-USER | |
header_property = username | |
auto_sign_up = true | |
ldap_sync_ttl = 60 | |
whitelist = | |
#################################### Auth LDAP ########################### | |
[auth.ldap] | |
enabled = false | |
config_file = /etc/grafana/ldap.toml | |
allow_sign_up = true | |
#################################### SMTP / Emailing ##################### | |
[smtp] | |
enabled = false | |
host = localhost:25 | |
user = | |
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;""" | |
password = | |
cert_file = | |
key_file = | |
skip_verify = false | |
from_address = admin@grafana.localhost | |
from_name = Grafana | |
[emails] | |
welcome_email_on_sign_up = false | |
templates_pattern = emails/*.html | |
#################################### Logging ########################## | |
[log] | |
# Either "console", "file", "syslog". Default is console and file | |
# Use space to separate multiple modes, e.g. "console file" | |
mode = console file | |
# Either "debug", "info", "warn", "error", "critical", default is "info" | |
level = info | |
# optional settings to set different levels for specific loggers. Ex filters = sqlstore:debug | |
filters = | |
# For "console" mode only | |
[log.console] | |
level = | |
# log line format, valid options are text, console and json | |
format = console | |
# For "file" mode only | |
[log.file] | |
level = | |
# log line format, valid options are text, console and json | |
format = text | |
# This enables automated log rotate(switch of following options), default is true | |
log_rotate = true | |
# Max line number of single file, default is 1000000 | |
max_lines = 1000000 | |
# Max size shift of single file, default is 28 means 1 << 28, 256MB | |
max_size_shift = 28 | |
# Segment log daily, default is true | |
daily_rotate = true | |
# Expired days of log file(delete after max days), default is 7 | |
max_days = 7 | |
[log.syslog] | |
level = | |
# log line format, valid options are text, console and json | |
format = text | |
# Syslog network type and address. This can be udp, tcp, or unix. If left blank, the default unix endpoints will be used. | |
network = | |
address = | |
# Syslog facility. user, daemon and local0 through local7 are valid. | |
facility = | |
# Syslog tag. By default, the process' argv[0] is used. | |
tag = | |
#################################### AMQP Event Publisher ################ | |
[event_publisher] | |
enabled = false | |
rabbitmq_url = amqp://localhost/ | |
exchange = grafana_events | |
#################################### Dashboard JSON files ################ | |
[dashboards.json] | |
enabled = false | |
path = /var/lib/grafana/dashboards | |
#################################### Usage Quotas ######################## | |
[quota] | |
enabled = false | |
#### set quotas to -1 to make unlimited. #### | |
# limit number of users per Org. | |
org_user = 10 | |
# limit number of dashboards per Org. | |
org_dashboard = 100 | |
# limit number of data_sources per Org. | |
org_data_source = 10 | |
# limit number of api_keys per Org. | |
org_api_key = 10 | |
# limit number of orgs a user can create. | |
user_org = 10 | |
# Global limit of users. | |
global_user = -1 | |
# global limit of orgs. | |
global_org = -1 | |
# global limit of dashboards | |
global_dashboard = -1 | |
# global limit of api_keys | |
global_api_key = -1 | |
# global limit on number of logged in users. | |
global_session = -1 | |
#################################### Alerting ############################ | |
[alerting] | |
# Disable alerting engine & UI features | |
enabled = true | |
# Makes it possible to turn off alert rule execution but alerting UI is visible | |
execute_alerts = true | |
#################################### Internal Grafana Metrics ############ | |
# Metrics available at HTTP API Url /api/metrics | |
[metrics] | |
enabled = true | |
interval_seconds = 10 | |
# Send internal Grafana metrics to graphite | |
[metrics.graphite] | |
# Enable by setting the address setting (ex localhost:2003) | |
address = | |
prefix = prod.grafana.%(instance_name)s. | |
[grafana_net] | |
url = https://grafana.com | |
[grafana_com] | |
url = https://grafana.com | |
#################################### External Image Storage ############## | |
[external_image_storage] | |
# You can choose between (s3, webdav) | |
provider = | |
[external_image_storage.s3] | |
bucket_url = | |
access_key = | |
secret_key = | |
[external_image_storage.webdav] | |
url = | |
username = | |
password = | |
public_url = | |
- apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: grafana-datasources | |
data: | |
prometheus.yml: | | |
# config file version | |
apiVersion: 1 | |
# list of datasources to insert/update depending | |
# whats available in the database | |
datasources: | |
# <string, required> name of the datasource. Required | |
- name: ${DS_PROMETHEUS} | |
# <string, required> datasource type. Required | |
type: prometheus | |
# <string, required> access mode. direct or proxy. Required | |
access: proxy | |
# <int> org id. will default to orgId 1 if not specified | |
orgId: 1 | |
# <string> url | |
url: http://prometheus:9090 | |
version: 1 | |
# <bool> mark as default datasource. Max one per org | |
isDefault: true | |
# <bool> allow users to edit datasources from the UI. | |
editable: true | |
- apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboard-config | |
data: | |
spring-boot-metrics-dashboard.yaml: | | |
apiVersion: 1 | |
providers: | |
- name: 'default' | |
orgId: 1 | |
folder: '' | |
type: file | |
disableDeletion: false | |
editable: false | |
options: | |
path: /var/lib/grafana/dashboards | |
- apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: grafana-dashboards | |
data: | |
spring-boot-metrics-dashboard.json: | | |
{ | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", | |
"type": "dashboard" | |
} | |
] | |
}, | |
"description": "Dashboard for Spring Boot application with Micrometer", | |
"editable": true, | |
"gnetId": 9845, | |
"graphTooltip": 1, | |
"id": 2, | |
"iteration": 1557930720437, | |
"links": [], | |
"panels": [ | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 2, | |
"panels": [], | |
"title": "Application", | |
"type": "row" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": null, | |
"format": "locale", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 5, | |
"x": 0, | |
"y": 1 | |
}, | |
"id": 28, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": " Requests", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(increase(http_server_requests_seconds_count{application=\"$application\", instance=~\"$instance\"}[$__interval]))", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Total Requests", | |
"type": "singlestat", | |
"valueFontSize": "100%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": true, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 6, | |
"w": 7, | |
"x": 5, | |
"y": 1 | |
}, | |
"id": 31, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(increase(http_server_requests_seconds_count{application=\"$application\", instance=~\"$instance\", status!=\"200\"}[$__interval])) / sum(increase(http_server_requests_seconds_count{application=\"$application\", instance=~\"$instance\"}[$__interval])) * 100", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "5, 15", | |
"title": "Error Rate", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "0%", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 12, | |
"y": 1 | |
}, | |
"id": 24, | |
"legend": { | |
"alignAsTable": true, | |
"avg": false, | |
"current": true, | |
"max": true, | |
"min": false, | |
"rightSide": true, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "error", | |
"color": "#bf1b00", | |
"yaxis": 1 | |
}, | |
{ | |
"alias": "warn", | |
"color": "#c15c17", | |
"yaxis": 1 | |
} | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "increase(logback_events_total{application=\"$application\", instance=~\"$instance\"}[1m])", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{level}}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Log Event (1m)", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": null, | |
"format": "locale", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 5, | |
"x": 0, | |
"y": 4 | |
}, | |
"id": 29, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": " Requests", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(increase(http_server_requests_seconds_count{application=\"$application\", instance=~\"$instance\", status!=\"200\"}[$__interval]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "Failed Requests", | |
"type": "singlestat", | |
"valueFontSize": "100%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "0", | |
"value": "null" | |
} | |
], | |
"valueName": "range" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": null, | |
"format": "locale", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 5, | |
"x": 0, | |
"y": 7 | |
}, | |
"id": 39, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": " Requests", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(http_server_requests_seconds_count{application=\"$application\", instance=~\"$instance\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "Req / sec", | |
"type": "singlestat", | |
"valueFontSize": "100%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorPrefix": false, | |
"colorValue": true, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 3, | |
"x": 5, | |
"y": 7 | |
}, | |
"id": 41, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "up{instance='$instance'}", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "Status", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "Down", | |
"value": "null" | |
}, | |
{ | |
"op": "=", | |
"text": "Down", | |
"value": "0" | |
}, | |
{ | |
"op": "=", | |
"text": "UP", | |
"value": "1" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": 1, | |
"format": "s", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 4, | |
"x": 8, | |
"y": 7 | |
}, | |
"id": 43, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "process_uptime_seconds{application=\"$application\", instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "Up Time", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 10 | |
}, | |
"id": 6, | |
"panels": [], | |
"title": "Http Server Requests", | |
"type": "row" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"format": "dtdurations", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 4, | |
"x": 0, | |
"y": 11 | |
}, | |
"id": 17, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(irate(http_server_requests_seconds_sum{application=\"$application\", instance=~\"$instance\"}[1m])) / sum(irate(http_server_requests_seconds_count{application=\"$application\", instance=~\"$instance\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "Avg", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"format": "dtdurations", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 4, | |
"x": 4, | |
"y": 11 | |
}, | |
"id": 19, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(http_server_requests_seconds{application=\"$application\", instance=~\"$instance\", quantile=\"0.5\"})", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "Median", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"format": "dtdurations", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 4, | |
"x": 8, | |
"y": 11 | |
}, | |
"id": 18, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(http_server_requests_seconds{application=\"$application\", instance=~\"$instance\", quantile=\"0.9\"})", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "p90", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"format": "dtdurations", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 4, | |
"x": 12, | |
"y": 11 | |
}, | |
"id": 22, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(http_server_requests_seconds{application=\"$application\", instance=~\"$instance\", quantile=\"0.95\"})", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "p95", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"format": "dtdurations", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 4, | |
"x": 16, | |
"y": 11 | |
}, | |
"id": 20, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(http_server_requests_seconds{application=\"$application\", instance=~\"$instance\", quantile=\"0.99\"})", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "p99", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"format": "dtdurations", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 4, | |
"x": 20, | |
"y": 11 | |
}, | |
"id": 21, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(http_server_requests_seconds_max{application=\"$application\", instance=~\"$instance\"})", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "Max", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 11, | |
"w": 12, | |
"x": 0, | |
"y": 14 | |
}, | |
"id": 35, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": true, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"sort": "current", | |
"sortDesc": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "histogram_quantile(0.5, sum(rate(http_server_requests_seconds_bucket{application=\"$application\", instance=~\"$instance\"}[15s])) by (le))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "50%", | |
"refId": "A" | |
}, | |
{ | |
"expr": "histogram_quantile(0.9, sum(rate(http_server_requests_seconds_bucket{application=\"$application\", instance=~\"$instance\"}[15s])) by (le))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "90%", | |
"refId": "B" | |
}, | |
{ | |
"expr": "histogram_quantile(0.95, sum(rate(http_server_requests_seconds_bucket{application=\"$application\", instance=~\"$instance\"}[15s])) by (le))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "95%", | |
"refId": "C" | |
}, | |
{ | |
"expr": "histogram_quantile(0.99, sum(rate(http_server_requests_seconds_bucket{application=\"$application\", instance=~\"$instance\"}[15s])) by (le))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "99%", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Response Time (percentile)", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"decimals": null, | |
"format": "dtdurations", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": true, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 11, | |
"w": 12, | |
"x": 12, | |
"y": 14 | |
}, | |
"id": 26, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": true, | |
"values": true | |
}, | |
"lines": false, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "404", | |
"color": "#ef843c" | |
}, | |
{ | |
"alias": "200", | |
"color": "#508642" | |
}, | |
{ | |
"alias": "500", | |
"color": "#bf1b00" | |
} | |
], | |
"spaceLength": 10, | |
"stack": true, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "increase(http_server_requests_seconds_count{application=\"$application\", instance=~\"$instance\"}[15s]) ", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 1, | |
"legendFormat": "{{status}}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "HTTP Status Code", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": false | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 0, | |
"y": 25 | |
}, | |
"id": 37, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "topk(10, sum by(uri, method) (rate(http_server_requests_seconds_count{application=\"$application\", instance=~\"$instance\"}[1m])))", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Top 10 Most Used API endpoints", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 12, | |
"x": 12, | |
"y": 25 | |
}, | |
"id": 38, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": false, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": false, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "topk(10, sum by(uri, method) (rate(http_server_requests_seconds_max{application=\"$application\", instance=~\"$instance\"}[1m])))", | |
"format": "time_series", | |
"instant": false, | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Top 10 Slowest API endpoints", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 34 | |
}, | |
"id": 4, | |
"panels": [], | |
"title": "Http Client Requests", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 9, | |
"w": 16, | |
"x": 0, | |
"y": 35 | |
}, | |
"id": 8, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(http_client_requests_seconds_sum{application=\"$application\", instance=~\"$instance\"}[1m])) / sum(rate(http_client_requests_seconds_count{application=\"$application\", instance=~\"$instance\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Average Response Time", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": false, | |
"colors": [ | |
"#299c46", | |
"rgba(237, 129, 40, 0.89)", | |
"#d44a3a" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"format": "none", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 9, | |
"w": 8, | |
"x": 16, | |
"y": 35 | |
}, | |
"id": 10, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "50%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(http_client_requests_seconds_max{application=\"$application\", instance=~\"$instance\"})", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"refId": "A" | |
} | |
], | |
"thresholds": "", | |
"title": "Max Response Time", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "avg" | |
} | |
], | |
"refresh": "5s", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allValue": null, | |
"current": { | |
"text": "dropbox-store", | |
"value": "dropbox-store" | |
}, | |
"datasource": "${DS_PROMETHEUS}", | |
"definition": "label_values(application)", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Application", | |
"multi": false, | |
"name": "application", | |
"options": [], | |
"query": "label_values(application)", | |
"refresh": 1, | |
"regex": "", | |
"skipUrlSync": false, | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": { | |
"text": "dropbox-store:8080", | |
"value": "dropbox-store:8080" | |
}, | |
"datasource": "${DS_PROMETHEUS}", | |
"definition": "label_values(http_server_requests_seconds_count{application=\"$application\"}, instance)", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Instance", | |
"multi": false, | |
"name": "instance", | |
"options": [], | |
"query": "label_values(http_server_requests_seconds_count{application=\"$application\"}, instance)", | |
"refresh": 1, | |
"regex": "", | |
"skipUrlSync": false, | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allValue": null, | |
"current": { | |
"text": "All", | |
"value": "$__all" | |
}, | |
"datasource": "${DS_PROMETHEUS}", | |
"definition": "label_values(http_server_requests_seconds{application=\"$application\", instance=~\"$instance\"}, uri)", | |
"hide": 0, | |
"includeAll": true, | |
"label": "URI", | |
"multi": false, | |
"name": "uri", | |
"options": [], | |
"query": "label_values(http_server_requests_seconds{application=\"$application\", instance=~\"$instance\"}, uri)", | |
"refresh": 1, | |
"regex": "", | |
"skipUrlSync": false, | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-15m", | |
"to": "now" | |
}, | |
"timepicker": { | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "", | |
"title": "Spring Boot Application", | |
"version": 1 | |
} | |
jvm-actuator-dashboard.json: | | |
{ | |
"__inputs": [ | |
{ | |
"name": "DS_PROMETHEUS", | |
"label": "Prometheus", | |
"description": "", | |
"type": "datasource", | |
"pluginId": "prometheus", | |
"pluginName": "Prometheus" | |
} | |
], | |
"__requires": [ | |
{ | |
"type": "grafana", | |
"id": "grafana", | |
"name": "Grafana", | |
"version": "5.3.2" | |
}, | |
{ | |
"type": "panel", | |
"id": "graph", | |
"name": "Graph", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "datasource", | |
"id": "prometheus", | |
"name": "Prometheus", | |
"version": "5.0.0" | |
}, | |
{ | |
"type": "panel", | |
"id": "singlestat", | |
"name": "Singlestat", | |
"version": "5.0.0" | |
} | |
], | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"limit": 100, | |
"name": "Annotations & Alerts", | |
"showIn": 0, | |
"type": "dashboard" | |
}, | |
{ | |
"datasource": "${DS_PROMETHEUS}", | |
"enable": true, | |
"expr": "resets(process_uptime_seconds{instance=\"$instance\"}[1m]) > 0", | |
"iconColor": "rgba(255, 96, 96, 1)", | |
"name": "Restart Detection", | |
"showIn": 0, | |
"step": "1m", | |
"tagKeys": "restart-tag", | |
"textFormat": "uptime reset", | |
"titleFormat": "Restart" | |
} | |
] | |
}, | |
"description": "Dashboard for Micrometer(Java, Spring Boot, Actuator)", | |
"editable": true, | |
"gnetId": 9568, | |
"graphTooltip": 1, | |
"id": null, | |
"iteration": 1545644183445, | |
"links": [], | |
"panels": [ | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 125, | |
"panels": [], | |
"repeat": null, | |
"title": "Quick Facts", | |
"type": "row" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": 1, | |
"editable": true, | |
"error": false, | |
"format": "s", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 0, | |
"y": 1 | |
}, | |
"height": "", | |
"id": 63, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "70%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "process_uptime_seconds{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"metric": "", | |
"refId": "A", | |
"step": 14400 | |
} | |
], | |
"thresholds": "", | |
"title": "Uptime", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(245, 54, 54, 0.9)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(50, 172, 45, 0.97)" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": null, | |
"editable": true, | |
"error": false, | |
"format": "dateTimeAsIso", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 6, | |
"y": 1 | |
}, | |
"height": "", | |
"id": 92, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "70%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "process_start_time_seconds{instance=\"$instance\"}*1000", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"metric": "", | |
"refId": "A", | |
"step": 14400 | |
} | |
], | |
"thresholds": "", | |
"title": "Start time", | |
"transparent": false, | |
"type": "singlestat", | |
"valueFontSize": "70%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": 2, | |
"editable": true, | |
"error": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 12, | |
"y": 1 | |
}, | |
"id": 65, | |
"interval": null, | |
"links": [], | |
"mappingType": 1, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "70%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(jvm_memory_used_bytes{instance=\"$instance\", area=\"heap\"})*100/sum(jvm_memory_max_bytes{instance=\"$instance\", area=\"heap\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 14400 | |
} | |
], | |
"thresholds": "70,90", | |
"title": "Heap used", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"cacheTimeout": null, | |
"colorBackground": false, | |
"colorValue": true, | |
"colors": [ | |
"rgba(50, 172, 45, 0.97)", | |
"rgba(237, 129, 40, 0.89)", | |
"rgba(245, 54, 54, 0.9)" | |
], | |
"datasource": "${DS_PROMETHEUS}", | |
"decimals": 2, | |
"editable": true, | |
"error": false, | |
"format": "percent", | |
"gauge": { | |
"maxValue": 100, | |
"minValue": 0, | |
"show": false, | |
"thresholdLabels": false, | |
"thresholdMarkers": true | |
}, | |
"gridPos": { | |
"h": 3, | |
"w": 6, | |
"x": 18, | |
"y": 1 | |
}, | |
"id": 75, | |
"interval": null, | |
"links": [], | |
"mappingType": 2, | |
"mappingTypes": [ | |
{ | |
"name": "value to text", | |
"value": 1 | |
}, | |
{ | |
"name": "range to text", | |
"value": 2 | |
} | |
], | |
"maxDataPoints": 100, | |
"nullPointMode": "connected", | |
"nullText": null, | |
"postfix": "", | |
"postfixFontSize": "50%", | |
"prefix": "", | |
"prefixFontSize": "70%", | |
"rangeMaps": [ | |
{ | |
"from": "null", | |
"text": "N/A", | |
"to": "null" | |
}, | |
{ | |
"from": "-99999999999999999999999999999999", | |
"text": "N/A", | |
"to": "0" | |
} | |
], | |
"sparkline": { | |
"fillColor": "rgba(31, 118, 189, 0.18)", | |
"full": false, | |
"lineColor": "rgb(31, 120, 193)", | |
"show": false | |
}, | |
"tableColumn": "", | |
"targets": [ | |
{ | |
"expr": "sum(jvm_memory_used_bytes{instance=\"$instance\", area=\"nonheap\"})*100/sum(jvm_memory_max_bytes{instance=\"$instance\", area=\"nonheap\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "", | |
"refId": "A", | |
"step": 14400 | |
} | |
], | |
"thresholds": "70,90", | |
"title": "Non-Heap used", | |
"type": "singlestat", | |
"valueFontSize": "80%", | |
"valueMaps": [ | |
{ | |
"op": "=", | |
"text": "N/A", | |
"value": "null" | |
}, | |
{ | |
"op": "=", | |
"text": "x", | |
"value": "" | |
} | |
], | |
"valueName": "current" | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 4 | |
}, | |
"id": 126, | |
"panels": [], | |
"repeat": null, | |
"title": "I/O Overview", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 5 | |
}, | |
"id": 111, | |
"legend": { | |
"avg": false, | |
"current": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(http_server_requests_seconds_count{instance=\"$instance\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "HTTP", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Rate", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"decimals": null, | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": { | |
"HTTP": "#890f02", | |
"HTTP - 5xx": "#bf1b00" | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 5 | |
}, | |
"id": 112, | |
"legend": { | |
"avg": false, | |
"current": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(http_server_requests_seconds_count{instance=\"$instance\", status=~\"5..\"}[1m]))", | |
"format": "time_series", | |
"intervalFactor": 1, | |
"legendFormat": "HTTP - 5xx", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Errors", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"decimals": null, | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 12, | |
"y": 5 | |
}, | |
"id": 113, | |
"legend": { | |
"avg": false, | |
"current": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(rate(http_server_requests_seconds_sum{instance=\"$instance\", status!~\"5..\"}[1m]))/sum(rate(http_server_requests_seconds_count{instance=\"$instance\", status!~\"5..\"}[1m]))", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "HTTP - AVG", | |
"refId": "A" | |
}, | |
{ | |
"expr": "max(http_server_requests_seconds_max{instance=\"$instance\", status!~\"5..\"})", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "HTTP - MAX", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Duration", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"description": "", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 5 | |
}, | |
"id": 119, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": true, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "tomcat_threads_busy{instance=\"$instance\"} or tomcat_threads_busy_threads{instance=\"$instance\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "TOMCAT - BSY", | |
"refId": "A" | |
}, | |
{ | |
"expr": "tomcat_threads_current{instance=\"$instance\"} or tomcat_threads_current_threads{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "TOMCAT - CUR", | |
"refId": "B" | |
}, | |
{ | |
"expr": "tomcat_threads_config_max{instance=\"$instance\"} or tomcat_threads_config_max_threads{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "TOMCAT - MAX", | |
"refId": "C" | |
}, | |
{ | |
"expr": "jetty_threads_busy{instance=\"$instance\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "JETTY - BSY", | |
"refId": "D" | |
}, | |
{ | |
"expr": "jetty_threads_current{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "JETTY - CUR", | |
"refId": "E" | |
}, | |
{ | |
"expr": "jetty_threads_config_max{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "JETTY - MAX", | |
"refId": "F" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Utilisation", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 12 | |
}, | |
"id": 127, | |
"panels": [], | |
"repeat": null, | |
"title": "JVM Memory", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 13 | |
}, | |
"id": 24, | |
"legend": { | |
"avg": false, | |
"current": true, | |
"max": true, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(jvm_memory_used_bytes{instance=\"$instance\", area=\"heap\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "used", | |
"metric": "", | |
"refId": "A", | |
"step": 2400 | |
}, | |
{ | |
"expr": "sum(jvm_memory_committed_bytes{instance=\"$instance\", area=\"heap\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "committed", | |
"refId": "B", | |
"step": 2400 | |
}, | |
{ | |
"expr": "sum(jvm_memory_max_bytes{instance=\"$instance\", area=\"heap\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "max", | |
"refId": "C", | |
"step": 2400 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "JVM Heap", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"mbytes", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": 0, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 13 | |
}, | |
"id": 25, | |
"legend": { | |
"avg": false, | |
"current": true, | |
"max": true, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(jvm_memory_used_bytes{instance=\"$instance\", area=\"nonheap\"})", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "used", | |
"metric": "", | |
"refId": "A", | |
"step": 2400 | |
}, | |
{ | |
"expr": "sum(jvm_memory_committed_bytes{instance=\"$instance\", area=\"nonheap\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "committed", | |
"refId": "B", | |
"step": 2400 | |
}, | |
{ | |
"expr": "sum(jvm_memory_max_bytes{instance=\"$instance\", area=\"nonheap\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "max", | |
"refId": "C", | |
"step": 2400 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "JVM Non-Heap", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"mbytes", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": 0, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 12, | |
"y": 13 | |
}, | |
"id": 26, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": true, | |
"max": true, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "sum(jvm_memory_used_bytes{instance=\"$instance\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "used", | |
"metric": "", | |
"refId": "A", | |
"step": 2400 | |
}, | |
{ | |
"expr": "sum(jvm_memory_committed_bytes{instance=\"$instance\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "committed", | |
"refId": "B", | |
"step": 2400 | |
}, | |
{ | |
"expr": "sum(jvm_memory_max_bytes{instance=\"$instance\"})", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "max", | |
"refId": "C", | |
"step": 2400 | |
}, | |
{ | |
"expr": "process_memory_vss_bytes{instance=\"$instance\"}", | |
"format": "time_series", | |
"hide": true, | |
"intervalFactor": 2, | |
"legendFormat": "vss", | |
"metric": "", | |
"refId": "D", | |
"step": 2400 | |
}, | |
{ | |
"expr": "process_memory_rss_bytes{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "rss", | |
"refId": "E", | |
"step": 2400 | |
}, | |
{ | |
"expr": "process_memory_pss_bytes{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "pss", | |
"refId": "F", | |
"step": 2400 | |
}, | |
{ | |
"expr": "process_memory_swap_bytes{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "swap", | |
"refId": "G", | |
"step": 2400 | |
}, | |
{ | |
"expr": "process_memory_swappss_bytes{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "swappss", | |
"refId": "H", | |
"step": 2400 | |
}, | |
{ | |
"expr": "process_memory_pss_bytes{instance=\"$instance\"} + process_memory_swap_bytes{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "phys (pss+swap)", | |
"refId": "I", | |
"step": 2400 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "JVM Total", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"mbytes", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": 0, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 13 | |
}, | |
"id": 86, | |
"legend": { | |
"avg": false, | |
"current": true, | |
"max": true, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "(process_memory_pss_bytes{instance=\"$instance\"} + process_memory_swap_bytes{instance=\"$instance\"} - on(instance) sum(jvm_memory_committed_bytes{instance=\"$instance\"}) by(instance)) >= 0", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "native", | |
"metric": "", | |
"refId": "A", | |
"step": 2400 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "JVM Native Memory", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"mbytes", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 20 | |
}, | |
"id": 128, | |
"panels": [], | |
"repeat": null, | |
"title": "JVM Misc", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 21 | |
}, | |
"id": 106, | |
"legend": { | |
"avg": false, | |
"current": true, | |
"max": true, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "system_cpu_usage{instance=\"$instance\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "system", | |
"metric": "", | |
"refId": "A", | |
"step": 2400 | |
}, | |
{ | |
"expr": "process_cpu_usage{instance=\"$instance\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "process", | |
"refId": "B" | |
}, | |
{ | |
"expr": "avg_over_time(process_cpu_usage{instance=\"$instance\"}[1h])", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 1, | |
"legendFormat": "process-1h", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "CPU", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"short", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"decimals": 1, | |
"format": "percentunit", | |
"label": "", | |
"logBase": 1, | |
"max": "1", | |
"min": 0, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 21 | |
}, | |
"id": 93, | |
"legend": { | |
"avg": false, | |
"current": true, | |
"max": true, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "system_load_average_1m{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "system-1m", | |
"metric": "", | |
"refId": "A", | |
"step": 2400 | |
}, | |
{ | |
"expr": "", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"refId": "B" | |
}, | |
{ | |
"expr": "system_cpu_count{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "cpu", | |
"refId": "C" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Load", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"short", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"decimals": 1, | |
"format": "short", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": 0, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 12, | |
"y": 21 | |
}, | |
"id": 32, | |
"legend": { | |
"avg": false, | |
"current": true, | |
"max": true, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "jvm_threads_live{instance=\"$instance\"} or jvm_threads_live_threads{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "live", | |
"metric": "", | |
"refId": "A", | |
"step": 2400 | |
}, | |
{ | |
"expr": "jvm_threads_daemon{instance=\"$instance\"} or jvm_threads_daemon_threads{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "daemon", | |
"metric": "", | |
"refId": "B", | |
"step": 2400 | |
}, | |
{ | |
"expr": "jvm_threads_peak{instance=\"$instance\"} or jvm_threads_peak_threads{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "peak", | |
"refId": "C", | |
"step": 2400 | |
}, | |
{ | |
"expr": "process_threads{instance=\"$instance\"}", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "process", | |
"refId": "D", | |
"step": 2400 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Threads", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"short", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"decimals": 0, | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": 0, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": { | |
"blocked": "#bf1b00", | |
"new": "#fce2de", | |
"runnable": "#7eb26d", | |
"terminated": "#511749", | |
"timed-waiting": "#c15c17", | |
"waiting": "#eab839" | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 21 | |
}, | |
"id": 124, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": true, | |
"max": true, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "jvm_threads_states_threads{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "{{state}}", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Thread States", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": { | |
"debug": "#1F78C1", | |
"error": "#BF1B00", | |
"info": "#508642", | |
"trace": "#6ED0E0", | |
"warn": "#EAB839" | |
}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 18, | |
"x": 0, | |
"y": 28 | |
}, | |
"height": "", | |
"id": 91, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": true, | |
"hideEmpty": false, | |
"hideZero": false, | |
"max": true, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": true, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "error", | |
"yaxis": 1 | |
}, | |
{ | |
"alias": "warn", | |
"yaxis": 1 | |
} | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "increase(logback_events_total{instance=\"$instance\"}[1m])", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "{{level}}", | |
"metric": "", | |
"refId": "A", | |
"step": 1200 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Log Events (1m)", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"transparent": false, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"short", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"decimals": 0, | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 28 | |
}, | |
"id": 61, | |
"legend": { | |
"avg": false, | |
"current": true, | |
"max": true, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "process_open_fds{instance=\"$instance\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "open", | |
"metric": "", | |
"refId": "A", | |
"step": 2400 | |
}, | |
{ | |
"expr": "process_max_fds{instance=\"$instance\"}", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "max", | |
"metric": "", | |
"refId": "B", | |
"step": 2400 | |
}, | |
{ | |
"expr": "process_files_open{instance=\"$instance\"} or process_files_open_files{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "open", | |
"refId": "C" | |
}, | |
{ | |
"expr": "process_files_max{instance=\"$instance\"} or process_files_max_files{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "max", | |
"refId": "D" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "File Descriptors", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"short", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"decimals": 0, | |
"format": "short", | |
"label": null, | |
"logBase": 10, | |
"max": null, | |
"min": 0, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 35 | |
}, | |
"id": 129, | |
"panels": [], | |
"repeat": "persistence_counts", | |
"title": "JVM Memory Pools (Heap)", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 8, | |
"x": 0, | |
"y": 36 | |
}, | |
"id": 3, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": true, | |
"max": true, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"minSpan": 8, | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"repeat": "jvm_memory_pool_heap", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "jvm_memory_used_bytes{instance=\"$instance\", id=\"$jvm_memory_pool_heap\"}", | |
"format": "time_series", | |
"hide": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "used", | |
"metric": "", | |
"refId": "A", | |
"step": 1800 | |
}, | |
{ | |
"expr": "jvm_memory_committed_bytes{instance=\"$instance\", id=\"$jvm_memory_pool_heap\"}", | |
"format": "time_series", | |
"hide": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "commited", | |
"metric": "", | |
"refId": "B", | |
"step": 1800 | |
}, | |
{ | |
"expr": "jvm_memory_max_bytes{instance=\"$instance\", id=\"$jvm_memory_pool_heap\"}", | |
"format": "time_series", | |
"hide": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "max", | |
"metric": "", | |
"refId": "C", | |
"step": 1800 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "$jvm_memory_pool_heap", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"mbytes", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": 0, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 43 | |
}, | |
"id": 130, | |
"panels": [], | |
"repeat": null, | |
"title": "JVM Memory Pools (Non-Heap)", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 8, | |
"x": 0, | |
"y": 44 | |
}, | |
"id": 78, | |
"legend": { | |
"alignAsTable": false, | |
"avg": false, | |
"current": true, | |
"max": true, | |
"min": false, | |
"rightSide": false, | |
"show": true, | |
"total": false, | |
"values": true | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"minSpan": 8, | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"repeat": "jvm_memory_pool_nonheap", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "jvm_memory_used_bytes{instance=\"$instance\", id=\"$jvm_memory_pool_nonheap\"}", | |
"format": "time_series", | |
"hide": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "used", | |
"metric": "", | |
"refId": "A", | |
"step": 1800 | |
}, | |
{ | |
"expr": "jvm_memory_committed_bytes{instance=\"$instance\", id=\"$jvm_memory_pool_nonheap\"}", | |
"format": "time_series", | |
"hide": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "commited", | |
"metric": "", | |
"refId": "B", | |
"step": 1800 | |
}, | |
{ | |
"expr": "jvm_memory_max_bytes{instance=\"$instance\", id=\"$jvm_memory_pool_nonheap\"}", | |
"format": "time_series", | |
"hide": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "max", | |
"metric": "", | |
"refId": "C", | |
"step": 1800 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "$jvm_memory_pool_nonheap", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"mbytes", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": 0, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 51 | |
}, | |
"id": 131, | |
"panels": [], | |
"repeat": null, | |
"title": "Garbage Collection", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 8, | |
"x": 0, | |
"y": 52 | |
}, | |
"id": 98, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "rate(jvm_gc_pause_seconds_count{instance=\"$instance\"}[1m])", | |
"format": "time_series", | |
"hide": false, | |
"intervalFactor": 2, | |
"legendFormat": "{{action}} ({{cause}})", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Collections", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "ops", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 8, | |
"x": 8, | |
"y": 52 | |
}, | |
"id": 101, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "rate(jvm_gc_pause_seconds_sum{instance=\"$instance\"}[1m])/rate(jvm_gc_pause_seconds_count{instance=\"$instance\"}[1m])", | |
"format": "time_series", | |
"hide": false, | |
"instant": false, | |
"intervalFactor": 1, | |
"legendFormat": "avg {{action}} ({{cause}})", | |
"refId": "A" | |
}, | |
{ | |
"expr": "jvm_gc_pause_seconds_max{instance=\"$instance\"}", | |
"format": "time_series", | |
"hide": false, | |
"instant": false, | |
"intervalFactor": 1, | |
"legendFormat": "max {{action}} ({{cause}})", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Pause Durations", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "s", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"fill": 1, | |
"gridPos": { | |
"h": 7, | |
"w": 8, | |
"x": 16, | |
"y": 52 | |
}, | |
"id": 99, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "rate(jvm_gc_memory_allocated_bytes_total{instance=\"$instance\"}[1m])", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "allocated", | |
"refId": "A" | |
}, | |
{ | |
"expr": "rate(jvm_gc_memory_promoted_bytes_total{instance=\"$instance\"}[1m])", | |
"format": "time_series", | |
"interval": "", | |
"intervalFactor": 1, | |
"legendFormat": "promoted", | |
"refId": "B" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Allocated/Promoted", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": "0", | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 59 | |
}, | |
"id": 132, | |
"panels": [], | |
"repeat": null, | |
"title": "Classloading", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 0, | |
"y": 60 | |
}, | |
"id": 37, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "jvm_classes_loaded{instance=\"$instance\"} or jvm_classes_loaded_classes{instance=\"$instance\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "loaded", | |
"metric": "", | |
"refId": "A", | |
"step": 1200 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Classes loaded", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"short", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": 0, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 12, | |
"x": 12, | |
"y": 60 | |
}, | |
"id": 38, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "delta(jvm_classes_loaded{application=\"$application\",instance=\"$instance\"}[5m]) or delta(jvm_classes_loaded_classes{application=\"$application\",instance=\"$instance\"}[5m])", | |
"format": "time_series", | |
"hide": false, | |
"interval": "", | |
"intervalFactor": 2, | |
"legendFormat": "delta", | |
"metric": "", | |
"refId": "A", | |
"step": 1200 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Class delta (5m)", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"ops", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"decimals": null, | |
"format": "short", | |
"label": "", | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"collapsed": false, | |
"gridPos": { | |
"h": 1, | |
"w": 24, | |
"x": 0, | |
"y": 67 | |
}, | |
"id": 133, | |
"panels": [], | |
"repeat": null, | |
"title": "Buffer Pools", | |
"type": "row" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 0, | |
"y": 68 | |
}, | |
"id": 33, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "jvm_buffer_memory_used_bytes{instance=\"$instance\", id=\"direct\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "used", | |
"metric": "", | |
"refId": "A", | |
"step": 2400 | |
}, | |
{ | |
"expr": "jvm_buffer_total_capacity_bytes{instance=\"$instance\", id=\"direct\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "capacity", | |
"metric": "", | |
"refId": "B", | |
"step": 2400 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Direct Buffers", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"short", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": 0, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 6, | |
"y": 68 | |
}, | |
"id": 83, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "jvm_buffer_count{instance=\"$instance\", id=\"direct\"} or jvm_buffer_count_buffers{instance=\"$instance\", id=\"direct\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "count", | |
"metric": "", | |
"refId": "A", | |
"step": 2400 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Direct Buffers", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"short", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"decimals": 0, | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": 0, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 12, | |
"y": 68 | |
}, | |
"id": 85, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "jvm_buffer_memory_used_bytes{instance=\"$instance\", id=\"mapped\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "used", | |
"metric": "", | |
"refId": "A", | |
"step": 2400 | |
}, | |
{ | |
"expr": "jvm_buffer_total_capacity_bytes{instance=\"$instance\", id=\"mapped\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "capacity", | |
"metric": "", | |
"refId": "B", | |
"step": 2400 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Mapped Buffers", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"short", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"format": "bytes", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": 0, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "${DS_PROMETHEUS}", | |
"editable": true, | |
"error": false, | |
"fill": 1, | |
"grid": { | |
"leftLogBase": 1, | |
"leftMax": null, | |
"leftMin": null, | |
"rightLogBase": 1, | |
"rightMax": null, | |
"rightMin": null | |
}, | |
"gridPos": { | |
"h": 7, | |
"w": 6, | |
"x": 18, | |
"y": 68 | |
}, | |
"id": 84, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": true, | |
"linewidth": 1, | |
"links": [], | |
"nullPointMode": "null", | |
"percentage": false, | |
"pointradius": 5, | |
"points": false, | |
"renderer": "flot", | |
"seriesOverrides": [], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"expr": "jvm_buffer_count{instance=\"$instance\", id=\"mapped\"} or jvm_buffer_count_buffers{instance=\"$instance\", id=\"mapped\"}", | |
"format": "time_series", | |
"intervalFactor": 2, | |
"legendFormat": "count", | |
"metric": "", | |
"refId": "A", | |
"step": 2400 | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Mapped Buffers", | |
"tooltip": { | |
"msResolution": false, | |
"shared": true, | |
"sort": 0, | |
"value_type": "cumulative" | |
}, | |
"type": "graph", | |
"x-axis": true, | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"y-axis": true, | |
"y_formats": [ | |
"short", | |
"short" | |
], | |
"yaxes": [ | |
{ | |
"decimals": 0, | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": 0, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
} | |
], | |
"refresh": "1m", | |
"schemaVersion": 16, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [ | |
{ | |
"allFormat": "glob", | |
"allValue": null, | |
"current": {}, | |
"datasource": "${DS_PROMETHEUS}", | |
"hide": 0, | |
"includeAll": false, | |
"label": "Instance", | |
"multi": false, | |
"multiFormat": "glob", | |
"name": "instance", | |
"options": [], | |
"query": "label_values(jvm_memory_used_bytes, instance)", | |
"refresh": 2, | |
"regex": "", | |
"skipUrlSync": false, | |
"sort": 0, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allFormat": "glob", | |
"allValue": null, | |
"current": {}, | |
"datasource": "${DS_PROMETHEUS}", | |
"hide": 0, | |
"includeAll": true, | |
"label": "JVM Memory Pools Heap", | |
"multi": false, | |
"multiFormat": "glob", | |
"name": "jvm_memory_pool_heap", | |
"options": [], | |
"query": "label_values(jvm_memory_used_bytes{instance=\"$instance\", area=\"heap\"},id)", | |
"refresh": 1, | |
"regex": "", | |
"skipUrlSync": false, | |
"sort": 1, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
}, | |
{ | |
"allFormat": "glob", | |
"allValue": null, | |
"current": {}, | |
"datasource": "${DS_PROMETHEUS}", | |
"hide": 0, | |
"includeAll": true, | |
"label": "JVM Memory Pools Non-Heap", | |
"multi": false, | |
"multiFormat": "glob", | |
"name": "jvm_memory_pool_nonheap", | |
"options": [], | |
"query": "label_values(jvm_memory_used_bytes{instance=\"$instance\", area=\"nonheap\"},id)", | |
"refresh": 1, | |
"regex": "", | |
"skipUrlSync": false, | |
"sort": 2, | |
"tagValuesQuery": "", | |
"tags": [], | |
"tagsQuery": "", | |
"type": "query", | |
"useTags": false | |
} | |
] | |
}, | |
"time": { | |
"from": "now-24h", | |
"to": "now" | |
}, | |
"timepicker": { | |
"now": true, | |
"refresh_intervals": [ | |
"5s", | |
"10s", | |
"30s", | |
"1m", | |
"5m", | |
"15m", | |
"30m", | |
"1h", | |
"2h", | |
"1d" | |
], | |
"time_options": [ | |
"5m", | |
"15m", | |
"1h", | |
"6h", | |
"12h", | |
"24h", | |
"2d", | |
"7d", | |
"30d" | |
] | |
}, | |
"timezone": "browser", | |
"title": "JVM (Actuator)", | |
"version": 1 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment