openstack-helm-infra/grafana/values.yaml
Steve Wilkerson e081c19fe8 Add ldap support to grafana, update version, add helm tests
This adds ldap support to the grafana chart. This required updating
the version of Grafana to 5.0, as this version allows for using
configuration files to bootstrap the datasources and dashboards
instead of using the grafana http api. This was a necessary change
as using ldap for grafana presented issues trying to create the
datasource via the http api

This also adds a basic helm test for grafana. This test simply
verifies whether the prometheus datasource configured exists and
whether the number of dashboards reported by the admin api matches
the number of dashboards expected

Change-Id: I2e987cb425adba9f909722ffdb25b83f82710c4d
2018-05-15 01:42:04 +00:00

9749 lines
246 KiB
YAML

# Copyright 2017 The Openstack-Helm Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Default values for grafana
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
images:
tags:
grafana: docker.io/grafana/grafana:5.0.0
dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
db_init: docker.io/kolla/ubuntu-source-heat-engine:3.0.3
grafana_db_session_sync: docker.io/kolla/ubuntu-source-heat-engine:3.0.3
helm_tests: docker.io/kolla/ubuntu-source-heat-engine:3.0.3
image_repo_sync: docker.io/docker:17.07.0
pull_policy: IfNotPresent
local_registry:
active: false
exclude:
- dep_check
- image_repo_sync
labels:
grafana:
node_selector_key: openstack-control-plane
node_selector_value: enabled
job:
node_selector_key: openstack-control-plane
node_selector_value: enabled
pod:
affinity:
anti:
type:
default: preferredDuringSchedulingIgnoredDuringExecution
topologyKey:
default: kubernetes.io/hostname
mounts:
grafana:
init_container: null
grafana:
replicas:
grafana: 1
lifecycle:
upgrades:
deployments:
revision_history: 3
pod_replacement_strategy: RollingUpdate
rolling_update:
max_unavailable: 1
max_surge: 3
termination_grace_period:
grafana:
timeout: 600
resources:
enabled: false
jobs:
image_repo_sync:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
bootstrap:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
db_init:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
db_init_session:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
grafana_db_session_sync:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
tests:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
grafana:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "1024Mi"
cpu: "2000m"
endpoints:
cluster_domain_suffix: cluster.local
local_image_registry:
name: docker-registry
namespace: docker-registry
hosts:
default: localhost
internal: docker-registry
node: localhost
host_fqdn_override:
default: null
port:
registry:
node: 5000
oslo_db:
namespace: null
auth:
admin:
username: root
password: password
user:
username: grafana
password: password
hosts:
default: mariadb
host_fqdn_override:
default: null
path: /grafana
scheme: mysql+pymysql
port:
mysql:
default: 3306
oslo_db_session:
namespace: null
auth:
admin:
username: root
password: password
user:
username: grafana_session
password: password
hosts:
default: mariadb
host_fqdn_override:
default: null
path: /grafana_session
scheme: mysql+pymysql
port:
mysql:
default: 3306
grafana:
name: grafana
namespace: null
auth:
admin:
username: admin
password: password
hosts:
default: grafana-dashboard
public: grafana
host_fqdn_override:
default: null
path:
default: null
scheme:
default: http
port:
grafana:
default: 3000
public: 80
monitoring:
name: prometheus
namespace: null
hosts:
default: prom-metrics
public: prometheus
host_fqdn_override:
default: null
path:
default: null
scheme:
default: http
port:
api:
default: 9090
public: 80
ldap:
hosts:
default: ldap
auth:
admin:
password: password
host_fqdn_override:
default: null
path:
default: "/ou=People,dc=cluster,dc=local"
scheme:
default: ldap
port:
ldap:
default: 389
dependencies:
dynamic:
common:
local_image_registry:
jobs:
- grafana-image-repo-sync
services:
- endpoint: node
service: local_image_registry
static:
db_init:
services:
- endpoint: internal
service: oslo_db
db_init_session:
services:
- endpoint: internal
service: oslo_db
db_session_sync:
jobs:
- grafana-db-init-session
services:
- endpoint: internal
service: oslo_db
grafana:
jobs:
- grafana-db-init
- grafana-db-session-sync
services:
- endpoint: internal
service: oslo_db
image_repo_sync:
services:
- endpoint: internal
service: local_image_registry
tests:
services:
- endpoint: internal
service: grafana
network:
grafana:
node_port:
enabled: false
port: 30902
ingress:
public: true
classes:
namespace: "nginx"
cluster: "nginx-cluster"
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
secrets:
oslo_db:
admin: grafana-db-admin
user: grafana-db-user
oslo_db_session:
admin: grafana-session-db-admin
user: grafana-session-db-user
manifests:
configmap_bin: true
configmap_dashboards: true
configmap_etc: true
deployment: true
ingress: true
helm_tests: true
job_db_init: true
job_db_init_session: true
job_db_session_sync: true
job_image_repo_sync: true
secret_db: true
secret_db_session: true
secret_admin_creds: true
service: true
service_ingress: true
conf:
ldap: |
verbose_logging = true
[[servers]]
host = "ldap.openstack.svc.cluster.local"
port = 389
use_ssl = false
start_tls = false
ssl_skip_verify = false
bind_dn = "cn=admin,dc=cluster,dc=local"
bind_password = 'password'
search_filter = "(uid=%s)"
search_base_dns = ["dc=cluster,dc=local"]
group_search_filter = "(&(objectclass=posixGroup)(memberUID=uid=%s,ou=People,dc=cluster,dc=local))"
group_search_base_dns = ["ou=Groups,dc=cluster,dc=local"]
[servers.attributes]
username = "uid"
surname = "sn"
member_of = "cn"
email = "mail"
[[servers.group_mappings]]
group_dn = "cn=admin,dc=cluster,dc=local"
org_role = "Admin"
[[servers.group_mappings]]
group_dn = "*"
org_role = "Editor"
provisioning:
dashboards:
apiVersion: 1
providers:
- name: 'osh-infra-dashboards'
orgId: 1
folder: ''
type: file
disableDeletion: false
editable: false
options:
path: /var/lib/grafana/dashboards
datasources:
apiVersion: 1
datasources:
- name: prometheus
type: prometheus
access: proxy
orgId: 1
editable: true
url: 'http://prom-metrics.openstack.svc.cluster.local:9090'
grafana:
auth.basic:
enabled: true
auth.ldap:
enabled: true
config_file: /etc/grafana/ldap.toml
allow_sign_up: true
paths:
data: /var/lib/grafana/data
plugins: /var/lib/grafana/plugins
provisioning: /var/lib/grafana/provisioning
server:
protocol: http
http_port: 3000
database:
type: mysql
session:
provider: mysql
provider_config: null
cookie_name: grafana_sess
cookie_secure: false
session_life_time: 86400
security:
admin_user: ${GF_SECURITY_ADMIN_USER}
admin_password: ${GF_SECURITY_ADMIN_PASSWORD}
cookie_username: grafana_user
cookie_remember_name: grafana_remember
login_remember_days: 7
users:
allow_sign_up: false
allow_org_create: false
auto_assign_org: true
default_theme: dark
log:
mode: console
level: info
grafana_net:
url: https://grafana.net
dashboards:
ceph_cluster:
__inputs:
- name: prometheus
label: Prometheus
description: Prometheus.IO
type: datasource
pluginId: prometheus
pluginName: Prometheus
__requires:
- type: panel
id: singlestat
name: Singlestat
version: ''
- type: panel
id: graph
name: Graph
version: ''
- type: grafana
id: grafana
name: Grafana
version: 3.1.1
- type: datasource
id: prometheus
name: Prometheus
version: 1.0.0
id:
title: Ceph - Cluster
tags:
- ceph
- cluster
style: dark
timezone: browser
editable: true
hideControls: false
sharedCrosshair: false
rows:
- collapse: false
editable: true
height: 150px
panels:
- cacheTimeout:
colorBackground: false
colorValue: true
colors:
- rgba(245, 54, 54, 0.9)
- rgba(237, 129, 40, 0.89)
- rgba(50, 172, 45, 0.97)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 21
interval: 1m
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 2
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: count(ceph_health_status)
interval: "$interval"
intervalFactor: 1
refId: A
step: 60
thresholds: '0,1'
title: Status
transparent: false
type: singlestat
valueFontSize: 100%
valueMaps:
- op: "="
text: N/A
value: 'null'
- op: "="
text: WARNING
value: '0'
- op: "="
text: HEALTHY
value: '1'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: true
colors:
- rgba(245, 54, 54, 0.9)
- rgba(237, 129, 40, 0.89)
- rgba(50, 172, 45, 0.97)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 14
interval: 1m
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 2
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: ceph_mon_quorum_count
interval: "$interval"
intervalFactor: 1
legendFormat: ''
refId: A
step: 60
thresholds: '2,3'
title: Monitors In Quorum
transparent: false
type: singlestat
valueFontSize: 100%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(245, 54, 54, 0.9)
- rgba(237, 129, 40, 0.89)
- rgba(50, 172, 45, 0.97)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 22
interval: 1m
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 2
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: true
lineColor: rgb(31, 120, 193)
show: true
targets:
- expr: count(ceph_pool_max_avail)
interval: "$interval"
intervalFactor: 1
legendFormat: ''
refId: A
step: 60
thresholds: ''
title: Pools
transparent: false
type: singlestat
valueFontSize: 100%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
editable: true
error: false
format: bytes
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 33
interval: 1m
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 2
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: true
lineColor: rgb(31, 120, 193)
show: true
targets:
- expr: ceph_cluster_total_bytes
interval: "$interval"
intervalFactor: 1
legendFormat: ''
refId: A
step: 60
thresholds: 0.025,0.1
title: Cluster Capacity
transparent: false
type: singlestat
valueFontSize: 100%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
editable: true
error: false
format: bytes
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 34
interval: 1m
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 2
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: true
lineColor: rgb(31, 120, 193)
show: true
targets:
- expr: ceph_cluster_total_used_bytes
interval: "$interval"
intervalFactor: 1
legendFormat: ''
refId: A
step: 60
thresholds: 0.025,0.1
title: Used Capacity
transparent: false
type: singlestat
valueFontSize: 100%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: true
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
editable: true
error: false
format: percentunit
gauge:
maxValue: 100
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
id: 23
interval: 1m
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 2
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: true
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: ceph_cluster_total_used_bytes/ceph_cluster_total_bytes
interval: "$interval"
intervalFactor: 1
legendFormat: ''
refId: A
step: 60
thresholds: '70,80'
title: Available Capacity
transparent: false
type: singlestat
valueFontSize: 100%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
title: New row
- collapse: false
editable: true
height: 100px
panels:
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(245, 54, 54, 0.9)
- rgba(237, 129, 40, 0.89)
- rgba(50, 172, 45, 0.97)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 26
interval:
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: count(ceph_osd_in)
interval: "$interval"
intervalFactor: 1
legendFormat: ''
refId: A
step: 60
thresholds: ''
title: OSDs IN
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: true
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 40, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 27
interval:
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: count(ceph_osd_metadata) - count(ceph_osd_in)
interval: "$interval"
intervalFactor: 1
legendFormat: ''
refId: A
step: 60
thresholds: '1,1'
title: OSDs OUT
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(245, 54, 54, 0.9)
- rgba(237, 129, 40, 0.89)
- rgba(50, 172, 45, 0.97)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 28
interval:
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: sum(ceph_osd_up)
interval: "$interval"
intervalFactor: 1
legendFormat: ''
refId: A
step: 60
thresholds: ''
title: OSDs UP
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: true
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 40, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 29
interval:
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: count(ceph_osd_metadata) - count(ceph_osd_up)
interval: "$interval"
intervalFactor: 1
legendFormat: ''
refId: A
step: 60
thresholds: '1,1'
title: OSDs DOWN
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: true
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 30
interval:
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 2
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: true
lineColor: rgb(31, 120, 193)
show: true
targets:
- expr: avg(ceph_osd_numpg)
interval: "$interval"
intervalFactor: 1
legendFormat: ''
refId: A
step: 60
thresholds: '250,300'
title: Average PGs per OSD
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
title: New row
- collapse: false
editable: true
height: 250px
panels:
- aliasColors:
Available: "#EAB839"
Total Capacity: "#447EBC"
Used: "#BF1B00"
total_avail: "#6ED0E0"
total_space: "#7EB26D"
total_used: "#890F02"
bars: false
datasource: prometheus
editable: true
error: false
fill: 4
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
height: '300'
id: 1
interval: "$interval"
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: true
linewidth: 0
links: []
minSpan:
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides:
- alias: Total Capacity
fill: 0
linewidth: 3
stack: false
span: 4
stack: true
steppedLine: false
targets:
- expr: ceph_cluster_total_bytes - ceph_cluster_total_used_bytes
interval: "$interval"
intervalFactor: 1
legendFormat: Available
refId: A
step: 60
- expr: ceph_cluster_total_used_bytes
interval: "$interval"
intervalFactor: 1
legendFormat: Used
refId: B
step: 60
- expr: ceph_cluster_total_bytes
interval: "$interval"
intervalFactor: 1
legendFormat: Total Capacity
refId: C
step: 60
timeFrom:
timeShift:
title: Capacity
tooltip:
msResolution: false
shared: true
sort: 2
value_type: individual
type: graph
xaxis:
show: true
yaxes:
- format: bytes
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- aliasColors:
Total Capacity: "#7EB26D"
Used: "#BF1B00"
total_avail: "#6ED0E0"
total_space: "#7EB26D"
total_used: "#890F02"
bars: false
datasource: prometheus
decimals: 0
editable: true
error: false
fill: 1
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
thresholdLine: false
height: '300'
id: 3
interval: "$interval"
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: true
linewidth: 2
links: []
minSpan:
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 4
stack: true
steppedLine: false
targets:
- expr: sum(ceph_osd_op_w)
interval: "$interval"
intervalFactor: 1
legendFormat: Write
refId: A
step: 60
- expr: sum(ceph_osd_op_r)
interval: "$interval"
intervalFactor: 1
legendFormat: Read
refId: B
step: 60
timeFrom:
timeShift:
title: IOPS
tooltip:
msResolution: true
shared: true
sort: 2
value_type: individual
type: graph
xaxis:
show: true
yaxes:
- format: none
label: ''
logBase: 1
max:
min: 0
show: true
- format: short
label:
logBase: 1
max:
min: 0
show: true
- aliasColors: {}
bars: false
datasource: prometheus
editable: true
error: false
fill: 1
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
height: '300'
id: 7
interval: "$interval"
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 4
stack: true
steppedLine: false
targets:
- expr: sum(ceph_osd_op_in_bytes)
interval: "$interval"
intervalFactor: 1
legendFormat: Write
refId: A
step: 60
- expr: sum(ceph_osd_op_out_bytes)
interval: "$interval"
intervalFactor: 1
legendFormat: Read
refId: B
step: 60
timeFrom:
timeShift:
title: Throughput
tooltip:
msResolution: false
shared: true
sort: 2
value_type: individual
type: graph
xaxis:
show: true
yaxes:
- format: Bps
label:
logBase: 1
max:
min: 0
show: true
- format: short
label:
logBase: 1
max:
min: 0
show: true
repeat:
showTitle: true
title: CLUSTER
- collapse: false
editable: true
height: 250px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
editable: true
error: false
fill: 1
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
id: 18
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: false
min: false
rightSide: true
show: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides:
- alias: "/^Total.*$/"
stack: false
span: 12
stack: true
steppedLine: false
targets:
- expr: ceph_cluster_total_objects
interval: "$interval"
intervalFactor: 1
legendFormat: Total
refId: A
step: 60
timeFrom:
timeShift:
title: Objects in the Cluster
tooltip:
msResolution: false
shared: true
sort: 1
value_type: individual
type: graph
xaxis:
show: true
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
datasource: prometheus
editable: true
error: false
fill: 1
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
id: 19
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: false
min: false
rightSide: true
show: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides:
- alias: "/^Total.*$/"
stack: false
span: 6
stack: true
steppedLine: false
targets:
- expr: sum(ceph_osd_numpg)
interval: "$interval"
intervalFactor: 1
legendFormat: Total
refId: A
step: 60
- expr: sum(ceph_pg_active)
interval: "$interval"
intervalFactor: 1
legendFormat: Active
refId: B
step: 60
- expr: sum(ceph_pg_inconsistent)
interval: "$interval"
intervalFactor: 1
legendFormat: Inconsistent
refId: C
step: 60
- expr: sum(ceph_pg_creating)
interval: "$interval"
intervalFactor: 1
legendFormat: Creating
refId: D
step: 60
- expr: sum(ceph_pg_recovering)
interval: "$interval"
intervalFactor: 1
legendFormat: Recovering
refId: E
step: 60
- expr: sum(ceph_pg_down)
interval: "$interval"
intervalFactor: 1
legendFormat: Down
refId: F
step: 60
timeFrom:
timeShift:
title: PGs
tooltip:
msResolution: false
shared: true
sort: 1
value_type: individual
type: graph
xaxis:
show: true
yaxes:
- format: short
label:
logBase: 1
max:
min: 0
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
datasource: prometheus
editable: true
error: false
fill: 1
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
id: 20
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: false
min: false
rightSide: true
show: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides:
- alias: "/^Total.*$/"
stack: false
span: 6
stack: true
steppedLine: false
targets:
- expr: sum(ceph_pg_degraded)
interval: "$interval"
intervalFactor: 1
legendFormat: Degraded
refId: A
step: 60
- expr: sum(ceph_pg_stale)
interval: "$interval"
intervalFactor: 1
legendFormat: Stale
refId: B
step: 60
- expr: sum(ceph_pg_undersized)
interval: "$interval"
intervalFactor: 1
legendFormat: Undersized
refId: C
step: 60
timeFrom:
timeShift:
title: Stuck PGs
tooltip:
msResolution: false
shared: true
sort: 1
value_type: individual
type: graph
xaxis:
show: true
yaxes:
- format: short
label:
logBase: 1
max:
min: 0
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
title: New row
time:
from: now-1h
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
templating:
list:
- auto: true
auto_count: 10
auto_min: 1m
current:
tags: []
text: 1m
value: 1m
datasource:
hide: 0
includeAll: false
label: Interval
multi: false
name: interval
options:
- selected: false
text: auto
value: "$__auto_interval"
- selected: true
text: 1m
value: 1m
- selected: false
text: 10m
value: 10m
- selected: false
text: 30m
value: 30m
- selected: false
text: 1h
value: 1h
- selected: false
text: 6h
value: 6h
- selected: false
text: 12h
value: 12h
- selected: false
text: 1d
value: 1d
- selected: false
text: 7d
value: 7d
- selected: false
text: 14d
value: 14d
- selected: false
text: 30d
value: 30d
query: 1m,10m,30m,1h,6h,12h,1d,7d,14d,30d
refresh: 0
type: interval
annotations:
list: []
refresh: 1m
schemaVersion: 12
version: 26
links: []
gnetId: 917
description: "Ceph Cluster overview.\r\n"
ceph_osd:
__inputs:
- name: prometheus
label: Prometheus
description: Prometheus.IO
type: datasource
pluginId: prometheus
pluginName: Prometheus
__requires:
- type: panel
id: singlestat
name: Singlestat
version: ''
- type: panel
id: graph
name: Graph
version: ''
- type: grafana
id: grafana
name: Grafana
version: 3.1.1
- type: datasource
id: prometheus
name: Prometheus
version: 1.0.0
id:
title: Ceph - OSD
tags:
- ceph
- osd
style: dark
timezone: browser
editable: true
hideControls: false
sharedCrosshair: false
rows:
- collapse: false
editable: true
height: 100px
panels:
- cacheTimeout:
colorBackground: true
colorValue: false
colors:
- rgba(245, 54, 54, 0.9)
- rgba(237, 40, 40, 0.89)
- rgba(50, 172, 45, 0.97)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 6
interval:
isNew: true
links: []
mappingType: 2
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
- from: '0'
text: DOWN
to: '0.99'
- from: '0.99'
text: UP
to: '1'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: ceph_osd_up{ceph_daemon="osd.$osd"}
interval: "$interval"
intervalFactor: 1
refId: A
step: 60
thresholds: '0,1'
timeFrom:
title: Status
transparent: false
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: DOWN
value: '0'
- op: "="
text: UP
value: '1'
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: true
colorValue: false
colors:
- rgba(245, 54, 54, 0.9)
- rgba(237, 40, 40, 0.89)
- rgba(50, 172, 45, 0.97)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 8
interval:
isNew: true
links: []
mappingType: 2
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
- from: '0'
text: OUT
to: '0.99'
- from: '0.99'
text: IN
to: '1'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: ceph_osd_in{ceph_daemon="osd.$osd"}
interval: "$interval"
intervalFactor: 1
refId: A
step: 60
thresholds: '0,1'
timeFrom:
title: Available
transparent: false
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: DOWN
value: '0'
- op: "="
text: UP
value: '1'
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(245, 54, 54, 0.9)
- rgba(237, 129, 40, 0.89)
- rgba(50, 172, 45, 0.97)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 10
interval:
isNew: true
links: []
mappingType: 2
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: count(ceph_osd_metadata)
interval: "$interval"
intervalFactor: 1
refId: A
step: 60
thresholds: '0,1'
timeFrom:
title: Total OSDs
transparent: false
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: DOWN
value: '0'
- op: "="
text: UP
value: '1'
- op: "="
text: N/A
value: 'null'
valueName: current
title: New row
- collapse: false
editable: true
height: 250px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 2
editable: true
error: false
fill: 1
grid:
threshold1: 250
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2: 300
threshold2Color: rgba(234, 112, 112, 0.22)
thresholdLine: true
id: 5
interval: "$interval"
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides:
- alias: "/^Average.*/"
fill: 0
stack: false
span: 10
stack: true
steppedLine: false
targets:
- expr: ceph_osd_numpg{ceph_daemon=~"osd.$osd"}
interval: "$interval"
intervalFactor: 1
legendFormat: Number of PGs - {{ osd.$osd }}
refId: A
step: 60
- expr: avg(ceph_osd_numpg)
interval: "$interval"
intervalFactor: 1
legendFormat: Average Number of PGs in the Cluster
refId: B
step: 60
timeFrom:
timeShift:
title: PGs
tooltip:
msResolution: false
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
show: true
yaxes:
- format: short
label:
logBase: 1
max:
min: 0
show: true
- format: short
label:
logBase: 1
max:
min: 0
show: true
- cacheTimeout:
colorBackground: false
colorValue: true
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
editable: true
error: false
format: percent
gauge:
maxValue: 100
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
id: 7
interval:
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 2
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: true
targets:
- expr: (ceph_osd_stat_bytes_used{ceph_daemon=~"osd.$osd"}/ceph_osd_stat_bytes{ceph_daemon=~"osd.$osd"})*100
interval: "$interval"
intervalFactor: 1
legendFormat: ''
refId: A
step: 60
thresholds: '60,80'
timeFrom:
title: Utilization
transparent: false
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
showTitle: true
title: 'OSD: $osd'
- collapse: false
editable: true
height: 250px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 2
editable: true
error: false
fill: 1
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
id: 2
interval: "$interval"
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 6
stack: true
steppedLine: false
targets:
- expr: ceph_osd_stat_bytes_used{ceph_daemon=~"osd.$osd"}
interval: "$interval"
intervalFactor: 1
legendFormat: Used - {{ osd.$osd }}
metric: ceph_osd_used_bytes
refId: A
step: 60
- expr: ceph_osd_stat_bytes{ceph_daemon=~"osd.$osd"} - ceph_osd_stat_bytes_used{ceph_daemon=~"osd.$osd"}
hide: false
interval: "$interval"
intervalFactor: 1
legendFormat: Available - {{ osd.$osd }}
metric: ceph_osd_avail_bytes
refId: B
step: 60
timeFrom:
timeShift:
title: OSD Storage
tooltip:
msResolution: false
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
show: true
yaxes:
- format: bytes
label:
logBase: 1
max:
min: 0
show: true
- format: short
label:
logBase: 1
max:
min: 0
show: true
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 5
editable: true
error: false
fill: 1
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
id: 9
interval: "$interval"
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: false
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 2
points: true
renderer: flot
seriesOverrides: []
span: 6
stack: false
steppedLine: false
targets:
- expr: (ceph_osd_stat_bytes_used{ceph_daemon=~"osd.$osd"}/ceph_osd_stat_bytes{ceph_daemon=~"osd.$osd"})
interval: "$interval"
intervalFactor: 1
legendFormat: Available - {{ osd.$osd }}
metric: ceph_osd_avail_bytes
refId: A
step: 60
timeFrom:
timeShift:
title: Utilization Variance
tooltip:
msResolution: false
shared: true
sort: 0
value_type: cumulative
type: graph
xaxis:
show: true
yaxes:
- format: none
label:
logBase: 1
max:
min:
show: true
- format: none
label:
logBase: 1
max:
min:
show: true
time:
from: now-1h
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
templating:
list:
- auto: true
auto_count: 10
auto_min: 1m
current:
selected: true
text: 1m
value: 1m
datasource:
hide: 0
includeAll: false
label: Interval
multi: false
name: interval
options:
- selected: false
text: auto
value: "$__auto_interval"
- selected: true
text: 1m
value: 1m
- selected: false
text: 10m
value: 10m
- selected: false
text: 30m
value: 30m
- selected: false
text: 1h
value: 1h
- selected: false
text: 6h
value: 6h
- selected: false
text: 12h
value: 12h
- selected: false
text: 1d
value: 1d
- selected: false
text: 7d
value: 7d
- selected: false
text: 14d
value: 14d
- selected: false
text: 30d
value: 30d
query: 1m,10m,30m,1h,6h,12h,1d,7d,14d,30d
refresh: 0
type: interval
- current: {}
datasource: prometheus
hide: 0
includeAll: false
label: OSD
multi: false
name: osd
options: []
query: label_values(ceph_osd_metadata, id)
refresh: 1
regex: ''
type: query
annotations:
list: []
refresh: 15m
schemaVersion: 12
version: 18
links: []
gnetId: 923
description: CEPH OSD Status.
ceph_pool:
__inputs:
- name: prometheus
label: Prometheus
description: Prometheus.IO
type: datasource
pluginId: prometheus
pluginName: Prometheus
__requires:
- type: panel
id: graph
name: Graph
version: ''
- type: panel
id: singlestat
name: Singlestat
version: ''
- type: grafana
id: grafana
name: Grafana
version: 3.1.1
- type: datasource
id: prometheus
name: Prometheus
version: 1.0.0
id:
title: Ceph - Pools
tags:
- ceph
- pools
style: dark
timezone: browser
editable: true
hideControls: false
sharedCrosshair: false
rows:
- collapse: false
editable: true
height: 250px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 2
editable: true
error: false
fill: 4
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
height: ''
id: 2
interval: "$interval"
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
rightSide: true
show: true
total: false
values: true
lines: true
linewidth: 0
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides:
- alias: "/^Total.*$/"
fill: 0
linewidth: 4
stack: false
- alias: "/^Raw.*$/"
color: "#BF1B00"
fill: 0
linewidth: 4
span: 10
stack: true
steppedLine: false
targets:
- expr: ceph_pool_max_avail{pool_id=~"$pool"}
interval: "$interval"
intervalFactor: 1
legendFormat: Total - {{ $pool }}
refId: A
step: 60
- expr: ceph_pool_bytes_used{pool_id=~"$pool"}
interval: "$interval"
intervalFactor: 1
legendFormat: Used - {{ $pool }}
refId: B
step: 60
- expr: ceph_pool_max_avail{pool_id=~"$pool"} - ceph_pool_bytes_used{pool_id=~"$pool"}
interval: "$interval"
intervalFactor: 1
legendFormat: Available - {{ $pool }}
refId: C
step: 60
- expr: ceph_pool_raw_bytes_used{pool_id=~"$pool"}
interval: "$interval"
intervalFactor: 1
legendFormat: Raw - {{ $pool }}
refId: D
step: 60
timeFrom:
timeShift:
title: "[[pool_name]] Pool Storage"
tooltip:
msResolution: false
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
show: true
yaxes:
- format: bytes
label:
logBase: 1
max:
min: 0
show: true
- format: short
label:
logBase: 1
max:
min: 0
show: true
- cacheTimeout:
colorBackground: false
colorValue: true
colors:
- rgba(245, 54, 54, 0.9)
- rgba(237, 129, 40, 0.89)
- rgba(50, 172, 45, 0.97)
datasource: prometheus
decimals: 2
editable: true
error: false
format: percentunit
gauge:
maxValue: 1
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
id: 10
interval:
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 2
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: (ceph_pool_bytes_used{pool_id=~"$pool"} / ceph_pool_max_avail{pool_id=~"$pool"}) * 100
interval: "$interval"
intervalFactor: 1
refId: A
step: 60
thresholds: ''
title: "[[pool_name]] Pool Usage"
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
showTitle: true
title: 'Pool: $pool'
- collapse: false
editable: true
height: 250px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
editable: true
error: false
fill: 1
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
height: ''
id: 7
isNew: true
legend:
avg: false
current: false
max: false
min: false
show: true
total: false
values: false
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 6
stack: false
steppedLine: false
targets:
- expr: ceph_pool_objects{pool_id=~"$pool"}
interval: "$interval"
intervalFactor: 1
legendFormat: Objects - {{ $pool_name }}
refId: A
step: 60
- expr: ceph_pool_dirty{pool_id=~"$pool"}
interval: "$interval"
intervalFactor: 1
legendFormat: Dirty Objects - {{ $pool_name }}
refId: B
step: 60
timeFrom:
timeShift:
title: Objects in Pool [[pool_name]]
tooltip:
msResolution: false
shared: true
sort: 0
value_type: cumulative
type: graph
xaxis:
show: true
yaxes:
- format: short
label:
logBase: 1
max:
min: 0
show: true
- format: short
label:
logBase: 1
max:
min: 0
show: true
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 2
editable: true
error: false
fill: 1
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
thresholdLine: false
id: 4
interval: "$interval"
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 6
stack: true
steppedLine: false
targets:
- expr: irate(ceph_pool_rd{pool_id=~"$pool"}[3m])
interval: "$interval"
intervalFactor: 1
legendFormat: Read - {{ $pool_name}}
refId: B
step: 60
- expr: irate(ceph_pool_wr{pool_id=~"$pool"}[3m])
interval: "$interval"
intervalFactor: 1
legendFormat: Write - {{ $pool_name }}
refId: A
step: 60
timeFrom:
timeShift:
title: "[[pool_name]] Pool IOPS"
tooltip:
msResolution: false
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
show: true
yaxes:
- format: none
label: IOPS
logBase: 1
max:
min: 0
show: true
- format: short
label: IOPS
logBase: 1
max:
min: 0
show: false
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 2
editable: true
error: false
fill: 1
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
id: 5
interval: "$interval"
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 12
stack: true
steppedLine: false
targets:
- expr: irate(ceph_pool_rd_bytes{pool_id="$pool"}[3m])
interval: "$interval"
intervalFactor: 1
legendFormat: Read Bytes - {{ $pool_name }}
refId: A
step: 60
- expr: irate(ceph_pool_wr_bytes{pool_id="$pool"}[3m])
interval: "$interval"
intervalFactor: 1
legendFormat: Written Bytes - {{ $pool_name }}
refId: B
step: 60
timeFrom:
timeShift:
title: "[[pool_name]] Pool Throughput"
tooltip:
msResolution: false
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
show: true
yaxes:
- format: Bps
label:
logBase: 1
max:
min: 0
show: true
- format: Bps
label:
logBase: 1
max:
min: 0
show: true
title: New row
time:
from: now-3h
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
templating:
list:
- auto: true
auto_count: 10
auto_min: 1m
current:
selected: true
text: 1m
value: 1m
datasource:
hide: 0
includeAll: false
label: Interval
multi: false
name: interval
options:
- selected: false
text: auto
value: "$__auto_interval"
- selected: true
text: 1m
value: 1m
- selected: false
text: 10m
value: 10m
- selected: false
text: 30m
value: 30m
- selected: false
text: 1h
value: 1h
- selected: false
text: 6h
value: 6h
- selected: false
text: 12h
value: 12h
- selected: false
text: 1d
value: 1d
- selected: false
text: 7d
value: 7d
- selected: false
text: 14d
value: 14d
- selected: false
text: 30d
value: 30d
query: 1m,10m,30m,1h,6h,12h,1d,7d,14d,30d
refresh: 0
type: interval
- current: {}
datasource: prometheus
hide: 0
includeAll: false
label: Pool
multi: false
name: pool
options: []
query: label_values(ceph_pool_objects, pool_id)
refresh: 1
regex: ''
type: query
- current: {}
datasource: prometheus
hide: 0
includeAll: false
label: Pool
multi: false
name: pool_name
options: []
query: label_values(ceph_pool_metadata{pool_id="[[pool]]" }, name)
refresh: 1
regex: ''
type: query
annotations:
list: []
refresh: 1m
schemaVersion: 12
version: 22
links: []
gnetId: 926
description: Ceph Pools dashboard.
hosts_containers:
__inputs:
- name: prometheus
label: Prometheus
description: ''
type: datasource
pluginId: prometheus
pluginName: Prometheus
__requires:
- type: panel
id: graph
name: Graph
version: ''
- type: panel
id: singlestat
name: Singlestat
version: ''
- type: grafana
id: grafana
name: Grafana
version: 3.1.1
- type: datasource
id: prometheus
name: Prometheus
version: 1.3.0
id:
title: Container Metrics (cAdvisor)
description: Monitors Kubernetes cluster using Prometheus. Shows overall cluster CPU
/ Memory / Filesystem usage as well as individual pod, containers, systemd services
statistics. Uses cAdvisor metrics only.
tags:
- kubernetes
style: dark
timezone: browser
editable: true
hideControls: false
sharedCrosshair: false
rows:
- collapse: false
editable: true
height: 200px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 2
editable: true
error: false
fill: 1
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
thresholdLine: false
height: 200px
id: 32
isNew: true
legend:
alignAsTable: false
avg: true
current: true
max: false
min: false
rightSide: false
show: false
sideWidth: 200
sort: current
sortDesc: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 12
stack: false
steppedLine: false
targets:
- expr: sum (rate (container_network_receive_bytes_total{kubernetes_io_hostname=~"^$Node$"}[5m]))
interval: 10s
intervalFactor: 1
legendFormat: Received
metric: network
refId: A
step: 10
- expr: '- sum (rate (container_network_transmit_bytes_total{kubernetes_io_hostname=~"^$Node$"}[5m]))'
interval: 10s
intervalFactor: 1
legendFormat: Sent
metric: network
refId: B
step: 10
timeFrom:
timeShift:
title: Network I/O pressure
tooltip:
msResolution: false
shared: true
sort: 0
value_type: cumulative
transparent: false
type: graph
xaxis:
show: true
yaxes:
- format: Bps
label:
logBase: 1
max:
min:
show: true
- format: Bps
label:
logBase: 1
max:
min:
show: false
title: Network I/O pressure
- collapse: false
editable: true
height: 250px
panels:
- cacheTimeout:
colorBackground: false
colorValue: true
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
editable: true
error: false
format: percent
gauge:
maxValue: 100
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
height: 180px
id: 4
interval:
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 4
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: sum (container_memory_working_set_bytes{id="/",kubernetes_io_hostname=~"^$Node$"})
/ sum (machine_memory_bytes{kubernetes_io_hostname=~"^$Node$"}) * 100
interval: 10s
intervalFactor: 1
refId: A
step: 10
thresholds: 65, 90
title: Cluster memory usage
transparent: false
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: true
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
decimals: 2
editable: true
error: false
format: percent
gauge:
maxValue: 100
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
height: 180px
id: 6
interval:
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 4
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: sum (rate (container_cpu_usage_seconds_total{id="/",kubernetes_io_hostname=~"^$Node$"}[5m]))
/ sum (machine_cpu_cores{kubernetes_io_hostname=~"^$Node$"}) * 100
interval: 10s
intervalFactor: 1
refId: A
step: 10
thresholds: 65, 90
title: Cluster CPU usage (5m avg)
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: true
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
decimals: 2
editable: true
error: false
format: percent
gauge:
maxValue: 100
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
height: 180px
id: 7
interval:
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 4
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: sum (container_fs_usage_bytes{device=~"^/dev/[sv]da[0-9]$",id=~"/.+",kubernetes_io_hostname=~"^$Node$"})
/ sum (container_fs_limit_bytes{device=~"^/dev/[sv]da[0-9]$",id=~"/.+",kubernetes_io_hostname=~"^$Node$"})
* 100
interval: 10s
intervalFactor: 1
legendFormat: ''
metric: ''
refId: A
step: 10
thresholds: 65, 90
title: Cluster filesystem usage
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
decimals: 2
editable: true
error: false
format: bytes
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
height: 1px
id: 9
interval:
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 20%
prefix: ''
prefixFontSize: 20%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 2
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: sum (container_memory_working_set_bytes{id="/",kubernetes_io_hostname=~"^$Node$"})
interval: 10s
intervalFactor: 1
refId: A
step: 10
thresholds: ''
title: Used
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
decimals: 2
editable: true
error: false
format: bytes
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
height: 1px
id: 10
interval:
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 2
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: sum (machine_memory_bytes{kubernetes_io_hostname=~"^$Node$"})
interval: 10s
intervalFactor: 1
refId: A
step: 10
thresholds: ''
title: Total
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
decimals: 2
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
height: 1px
id: 11
interval:
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: " cores"
postfixFontSize: 30%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 2
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: sum (rate (container_cpu_usage_seconds_total{id="/",kubernetes_io_hostname=~"^$Node$"}[5m]))
interval: 10s
intervalFactor: 1
refId: A
step: 10
thresholds: ''
title: Used
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
decimals: 2
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
height: 1px
id: 12
interval:
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: " cores"
postfixFontSize: 30%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 2
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: sum (machine_cpu_cores{kubernetes_io_hostname=~"^$Node$"})
interval: 10s
intervalFactor: 1
refId: A
step: 10
thresholds: ''
title: Total
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
decimals: 2
editable: true
error: false
format: bytes
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
height: 1px
id: 13
interval:
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 2
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: sum (container_fs_usage_bytes{device=~"^/dev/[sv]da[0-9]$",id=~"/.+",kubernetes_io_hostname=~"^$Node$"})
interval: 10s
intervalFactor: 1
refId: A
step: 10
thresholds: ''
title: Used
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
decimals: 2
editable: true
error: false
format: bytes
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
height: 1px
id: 14
interval:
isNew: true
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 2
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: sum (container_fs_limit_bytes{device=~"^/dev/[sv]da[0-9]$",id=~"/.+",kubernetes_io_hostname=~"^$Node$"})
interval: 10s
intervalFactor: 1
refId: A
step: 10
thresholds: ''
title: Total
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
showTitle: false
title: Total usage
- collapse: false
editable: true
height: 250px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 3
editable: true
error: false
fill: 0
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
height: ''
id: 17
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: false
min: false
rightSide: true
show: true
sort: current
sortDesc: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 12
stack: false
steppedLine: true
targets:
- expr: sum (rate (container_cpu_usage_seconds_total{image!="",name=~"^k8s_.*",kubernetes_io_hostname=~"^$Node$"}[5m]))
by (pod_name)
interval: 10s
intervalFactor: 1
legendFormat: "{{ pod_name }}"
metric: container_cpu
refId: A
step: 10
timeFrom:
timeShift:
title: Pods CPU usage (5m avg)
tooltip:
msResolution: true
shared: true
sort: 2
value_type: cumulative
transparent: false
type: graph
xaxis:
show: true
yaxes:
- format: none
label: cores
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: false
showTitle: false
title: Pods CPU usage
- collapse: true
editable: true
height: 250px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 3
editable: true
error: false
fill: 0
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
height: ''
id: 23
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: false
min: false
rightSide: true
show: true
sort: current
sortDesc: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 12
stack: false
steppedLine: true
targets:
- expr: sum (rate (container_cpu_usage_seconds_total{systemd_service_name!="",kubernetes_io_hostname=~"^$Node$"}[5m]))
by (systemd_service_name)
hide: false
interval: 10s
intervalFactor: 1
legendFormat: "{{ systemd_service_name }}"
metric: container_cpu
refId: A
step: 10
timeFrom:
timeShift:
title: System services CPU usage (5m avg)
tooltip:
msResolution: true
shared: true
sort: 2
value_type: cumulative
type: graph
xaxis:
show: true
yaxes:
- format: none
label: cores
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: false
title: System services CPU usage
- collapse: true
editable: true
height: 250px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 3
editable: true
error: false
fill: 0
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
height: ''
id: 24
isNew: true
legend:
alignAsTable: true
avg: true
current: true
hideEmpty: false
hideZero: false
max: false
min: false
rightSide: true
show: true
sideWidth:
sort: current
sortDesc: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 12
stack: false
steppedLine: true
targets:
- expr: sum (rate (container_cpu_usage_seconds_total{image!="",name=~"^k8s_.*",container_name!="POD",kubernetes_io_hostname=~"^$Node$"}[5m]))
by (container_name, pod_name)
hide: false
interval: 10s
intervalFactor: 1
legendFormat: 'pod: {{ pod_name }} | {{ container_name }}'
metric: container_cpu
refId: A
step: 10
- expr: sum (rate (container_cpu_usage_seconds_total{image!="",name!~"^k8s_.*",kubernetes_io_hostname=~"^$Node$"}[5m]))
by (kubernetes_io_hostname, name, image)
hide: false
interval: 10s
intervalFactor: 1
legendFormat: 'docker: {{ kubernetes_io_hostname }} | {{ image }} ({{ name }})'
metric: container_cpu
refId: B
step: 10
- expr: sum (rate (container_cpu_usage_seconds_total{rkt_container_name!="",kubernetes_io_hostname=~"^$Node$"}[5m]))
by (kubernetes_io_hostname, rkt_container_name)
interval: 10s
intervalFactor: 1
legendFormat: 'rkt: {{ kubernetes_io_hostname }} | {{ rkt_container_name }}'
metric: container_cpu
refId: C
step: 10
timeFrom:
timeShift:
title: Containers CPU usage (5m avg)
tooltip:
msResolution: true
shared: true
sort: 2
value_type: cumulative
type: graph
xaxis:
show: true
yaxes:
- format: none
label: cores
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: false
title: Containers CPU usage
- collapse: true
editable: true
height: 500px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 3
editable: true
error: false
fill: 0
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
id: 20
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: false
min: false
rightSide: false
show: true
sort: current
sortDesc: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 12
stack: false
steppedLine: true
targets:
- expr: sum (rate (container_cpu_usage_seconds_total{id!="/",kubernetes_io_hostname=~"^$Node$"}[5m]))
by (id)
hide: false
interval: 10s
intervalFactor: 1
legendFormat: "{{ id }}"
metric: container_cpu
refId: A
step: 10
timeFrom:
timeShift:
title: All processes CPU usage (5m avg)
tooltip:
msResolution: true
shared: true
sort: 2
value_type: cumulative
type: graph
xaxis:
show: true
yaxes:
- format: none
label: cores
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: false
repeat:
showTitle: false
title: All processes CPU usage
- collapse: false
editable: true
height: 250px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 2
editable: true
error: false
fill: 0
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
id: 25
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: false
min: false
rightSide: true
show: true
sideWidth: 200
sort: current
sortDesc: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 12
stack: false
steppedLine: true
targets:
- expr: sum (container_memory_working_set_bytes{image!="",name=~"^k8s_.*",kubernetes_io_hostname=~"^$Node$"})
by (pod_name)
interval: 10s
intervalFactor: 1
legendFormat: "{{ pod_name }}"
metric: container_memory_usage:sort_desc
refId: A
step: 10
timeFrom:
timeShift:
title: Pods memory usage
tooltip:
msResolution: false
shared: true
sort: 2
value_type: cumulative
type: graph
xaxis:
show: true
yaxes:
- format: bytes
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: false
title: Pods memory usage
- collapse: true
editable: true
height: 250px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 2
editable: true
error: false
fill: 0
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
id: 26
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: false
min: false
rightSide: true
show: true
sideWidth: 200
sort: current
sortDesc: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 12
stack: false
steppedLine: true
targets:
- expr: sum (container_memory_working_set_bytes{systemd_service_name!="",kubernetes_io_hostname=~"^$Node$"})
by (systemd_service_name)
interval: 10s
intervalFactor: 1
legendFormat: "{{ systemd_service_name }}"
metric: container_memory_usage:sort_desc
refId: A
step: 10
timeFrom:
timeShift:
title: System services memory usage
tooltip:
msResolution: false
shared: true
sort: 2
value_type: cumulative
type: graph
xaxis:
show: true
yaxes:
- format: bytes
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: false
title: System services memory usage
- collapse: true
editable: true
height: 250px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 2
editable: true
error: false
fill: 0
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
id: 27
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: false
min: false
rightSide: true
show: true
sideWidth: 200
sort: current
sortDesc: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 12
stack: false
steppedLine: true
targets:
- expr: sum (container_memory_working_set_bytes{image!="",name=~"^k8s_.*",container_name!="POD",kubernetes_io_hostname=~"^$Node$"})
by (container_name, pod_name)
interval: 10s
intervalFactor: 1
legendFormat: 'pod: {{ pod_name }} | {{ container_name }}'
metric: container_memory_usage:sort_desc
refId: A
step: 10
- expr: sum (container_memory_working_set_bytes{image!="",name!~"^k8s_.*",kubernetes_io_hostname=~"^$Node$"})
by (kubernetes_io_hostname, name, image)
interval: 10s
intervalFactor: 1
legendFormat: 'docker: {{ kubernetes_io_hostname }} | {{ image }} ({{ name }})'
metric: container_memory_usage:sort_desc
refId: B
step: 10
- expr: sum (container_memory_working_set_bytes{rkt_container_name!="",kubernetes_io_hostname=~"^$Node$"})
by (kubernetes_io_hostname, rkt_container_name)
interval: 10s
intervalFactor: 1
legendFormat: 'rkt: {{ kubernetes_io_hostname }} | {{ rkt_container_name }}'
metric: container_memory_usage:sort_desc
refId: C
step: 10
timeFrom:
timeShift:
title: Containers memory usage
tooltip:
msResolution: false
shared: true
sort: 2
value_type: cumulative
type: graph
xaxis:
show: true
yaxes:
- format: bytes
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: false
title: Containers memory usage
- collapse: true
editable: true
height: 500px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 2
editable: true
error: false
fill: 0
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
id: 28
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: false
min: false
rightSide: false
show: true
sideWidth: 200
sort: current
sortDesc: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 12
stack: false
steppedLine: true
targets:
- expr: sum (container_memory_working_set_bytes{id!="/",kubernetes_io_hostname=~"^$Node$"})
by (id)
interval: 10s
intervalFactor: 1
legendFormat: "{{ id }}"
metric: container_memory_usage:sort_desc
refId: A
step: 10
timeFrom:
timeShift:
title: All processes memory usage
tooltip:
msResolution: false
shared: true
sort: 2
value_type: cumulative
type: graph
xaxis:
show: true
yaxes:
- format: bytes
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: false
title: All processes memory usage
- collapse: false
editable: true
height: 250px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 2
editable: true
error: false
fill: 1
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
id: 16
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: false
min: false
rightSide: true
show: true
sideWidth: 200
sort: current
sortDesc: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 12
stack: false
steppedLine: false
targets:
- expr: sum (rate (container_network_receive_bytes_total{image!="",name=~"^k8s_.*",kubernetes_io_hostname=~"^$Node$"}[5m]))
by (pod_name)
interval: 10s
intervalFactor: 1
legendFormat: "-> {{ pod_name }}"
metric: network
refId: A
step: 10
- expr: '- sum (rate (container_network_transmit_bytes_total{image!="",name=~"^k8s_.*",kubernetes_io_hostname=~"^$Node$"}[5m]))
by (pod_name)'
interval: 10s
intervalFactor: 1
legendFormat: "<- {{ pod_name }}"
metric: network
refId: B
step: 10
timeFrom:
timeShift:
title: Pods network I/O (5m avg)
tooltip:
msResolution: false
shared: true
sort: 2
value_type: cumulative
type: graph
xaxis:
show: true
yaxes:
- format: Bps
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: false
title: Pods network I/O
- collapse: true
editable: true
height: 250px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 2
editable: true
error: false
fill: 1
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
id: 30
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: false
min: false
rightSide: true
show: true
sideWidth: 200
sort: current
sortDesc: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 12
stack: false
steppedLine: false
targets:
- expr: sum (rate (container_network_receive_bytes_total{image!="",name=~"^k8s_.*",kubernetes_io_hostname=~"^$Node$"}[5m]))
by (container_name, pod_name)
hide: false
interval: 10s
intervalFactor: 1
legendFormat: "-> pod: {{ pod_name }} | {{ container_name }}"
metric: network
refId: B
step: 10
- expr: '- sum (rate (container_network_transmit_bytes_total{image!="",name=~"^k8s_.*",kubernetes_io_hostname=~"^$Node$"}[5m]))
by (container_name, pod_name)'
hide: false
interval: 10s
intervalFactor: 1
legendFormat: "<- pod: {{ pod_name }} | {{ container_name }}"
metric: network
refId: D
step: 10
- expr: sum (rate (container_network_receive_bytes_total{image!="",name!~"^k8s_.*",kubernetes_io_hostname=~"^$Node$"}[5m]))
by (kubernetes_io_hostname, name, image)
hide: false
interval: 10s
intervalFactor: 1
legendFormat: "-> docker: {{ kubernetes_io_hostname }} | {{ image }} ({{ name
}})"
metric: network
refId: A
step: 10
- expr: '- sum (rate (container_network_transmit_bytes_total{image!="",name!~"^k8s_.*",kubernetes_io_hostname=~"^$Node$"}[5m]))
by (kubernetes_io_hostname, name, image)'
hide: false
interval: 10s
intervalFactor: 1
legendFormat: "<- docker: {{ kubernetes_io_hostname }} | {{ image }} ({{ name
}})"
metric: network
refId: C
step: 10
- expr: sum (rate (container_network_transmit_bytes_total{rkt_container_name!="",kubernetes_io_hostname=~"^$Node$"}[5m]))
by (kubernetes_io_hostname, rkt_container_name)
hide: false
interval: 10s
intervalFactor: 1
legendFormat: "-> rkt: {{ kubernetes_io_hostname }} | {{ rkt_container_name
}}"
metric: network
refId: E
step: 10
- expr: '- sum (rate (container_network_transmit_bytes_total{rkt_container_name!="",kubernetes_io_hostname=~"^$Node$"}[5m]))
by (kubernetes_io_hostname, rkt_container_name)'
hide: false
interval: 10s
intervalFactor: 1
legendFormat: "<- rkt: {{ kubernetes_io_hostname }} | {{ rkt_container_name
}}"
metric: network
refId: F
step: 10
timeFrom:
timeShift:
title: Containers network I/O (5m avg)
tooltip:
msResolution: false
shared: true
sort: 2
value_type: cumulative
type: graph
xaxis:
show: true
yaxes:
- format: Bps
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: false
title: Containers network I/O
- collapse: true
editable: true
height: 500px
panels:
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 2
editable: true
error: false
fill: 1
grid:
threshold1:
threshold1Color: rgba(216, 200, 27, 0.27)
threshold2:
threshold2Color: rgba(234, 112, 112, 0.22)
id: 29
isNew: true
legend:
alignAsTable: true
avg: true
current: true
max: false
min: false
rightSide: false
show: true
sideWidth: 200
sort: current
sortDesc: true
total: false
values: true
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 12
stack: false
steppedLine: false
targets:
- expr: sum (rate (container_network_receive_bytes_total{id!="/",kubernetes_io_hostname=~"^$Node$"}[5m]))
by (id)
interval: 10s
intervalFactor: 1
legendFormat: "-> {{ id }}"
metric: network
refId: A
step: 10
- expr: '- sum (rate (container_network_transmit_bytes_total{id!="/",kubernetes_io_hostname=~"^$Node$"}[5m]))
by (id)'
interval: 10s
intervalFactor: 1
legendFormat: "<- {{ id }}"
metric: network
refId: B
step: 10
timeFrom:
timeShift:
title: All processes network I/O (5m avg)
tooltip:
msResolution: false
shared: true
sort: 2
value_type: cumulative
type: graph
xaxis:
show: true
yaxes:
- format: Bps
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: false
title: All processes network I/O
time:
from: now-5m
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
templating:
list:
- allValue: ".*"
current: {}
datasource: prometheus
hide: 0
includeAll: true
multi: false
name: Node
options: []
query: label_values(kubernetes_io_hostname)
refresh: 1
type: query
annotations:
list: []
refresh: 10s
schemaVersion: 12
version: 13
links: []
gnetId: 315
rabbitmq:
__inputs:
- name: prometheus
label: Prometheus
description: ''
type: datasource
pluginId: prometheus
pluginName: Prometheus
__requires:
- type: grafana
id: grafana
name: Grafana
version: 4.2.0
- type: panel
id: graph
name: Graph
version: ''
- type: datasource
id: prometheus
name: Prometheus
version: 1.0.0
- type: panel
id: singlestat
name: Singlestat
version: ''
annotations:
list: []
editable: true
gnetId: 2121
graphTooltip: 0
hideControls: false
id:
links: []
refresh: 5s
rows:
- collapse: false
height: 266
panels:
- cacheTimeout:
colorBackground: true
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 13
interval:
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 3
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
targets:
- expr: rabbitmq_up{application="prometheus_rabbitmq_exporter",release_group="$rabbit"}
intervalFactor: 2
metric: rabbitmq_up{application="prometheus_rabbitmq_exporter",release_group="$rabbit"}
refId: A
step: 2
thresholds: Up,Down
timeFrom: 30s
title: RabbitMQ Server
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
- op: "="
text: Down
value: '0'
- op: "="
text: Up
value: '1'
valueName: current
- alert:
conditions:
- evaluator:
params:
- 1
type: lt
operator:
type: and
query:
params:
- A
- 10s
- now
reducer:
params: []
type: last
type: query
- evaluator:
params: []
type: no_value
operator:
type: and
query:
params:
- A
- 10s
- now
reducer:
params: []
type: last
type: query
executionErrorState: alerting
frequency: 60s
handler: 1
message: Some of the RabbitMQ node is down
name: Node Stats alert
noDataState: no_data
notifications: []
aliasColors: {}
bars: true
datasource: prometheus
decimals: 0
fill: 1
id: 12
legend:
alignAsTable: true
avg: false
current: true
max: false
min: false
show: true
total: false
values: true
lines: false
linewidth: 1
links: []
nullPointMode: 'null'
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 9
stack: false
steppedLine: false
targets:
- expr: rabbitmq_running{application="prometheus_rabbitmq_exporter",release_group="$rabbit"}
intervalFactor: 2
legendFormat: "{{node}}"
metric: rabbitmq_running
refId: A
step: 2
thresholds:
- colorMode: critical
fill: true
line: true
op: lt
value: 1
timeFrom: 30s
timeShift:
title: Node up Stats
tooltip:
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 0
fill: 1
id: 6
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: true
linewidth: 1
links: []
nullPointMode: 'null'
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 4
stack: false
steppedLine: false
targets:
- expr: rabbitmq_exchangesTotal{application="prometheus_rabbitmq_exporter",release_group="$rabbit"}
intervalFactor: 2
legendFormat: "{{instance}}:exchanges"
metric: rabbitmq_exchangesTotal
refId: A
step: 2
thresholds: []
timeFrom:
timeShift:
title: Exchanges
tooltip:
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 0
fill: 1
id: 4
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: true
linewidth: 1
links: []
nullPointMode: 'null'
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 4
stack: false
steppedLine: false
targets:
- expr: rabbitmq_channelsTotal{application="prometheus_rabbitmq_exporter",release_group="$rabbit"}
intervalFactor: 2
legendFormat: "{{instance}}:channels"
metric: rabbitmq_channelsTotal
refId: A
step: 2
thresholds: []
timeFrom:
timeShift:
title: Channels
tooltip:
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 0
fill: 1
id: 3
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: true
linewidth: 1
links: []
nullPointMode: 'null'
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 4
stack: false
steppedLine: false
targets:
- expr: rabbitmq_consumersTotal{application="prometheus_rabbitmq_exporter",release_group="$rabbit"}
intervalFactor: 2
legendFormat: "{{instance}}:consumers"
metric: rabbitmq_consumersTotal
refId: A
step: 2
thresholds: []
timeFrom:
timeShift:
title: Consumers
tooltip:
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 0
fill: 1
id: 5
legend:
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: true
linewidth: 1
links: []
nullPointMode: 'null'
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 4
stack: false
steppedLine: false
targets:
- expr: rabbitmq_connectionsTotal{application="prometheus_rabbitmq_exporter",release_group="$rabbit"}
intervalFactor: 2
legendFormat: "{{instance}}:connections"
metric: rabbitmq_connectionsTotal
refId: A
step: 2
thresholds: []
timeFrom:
timeShift:
title: Connections
tooltip:
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
datasource: prometheus
fill: 1
id: 7
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: true
linewidth: 1
links: []
nullPointMode: 'null'
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 4
stack: false
steppedLine: false
targets:
- expr: rabbitmq_queuesTotal{application="prometheus_rabbitmq_exporter",release_group="$rabbit"}
intervalFactor: 2
legendFormat: "{{instance}}:queues"
metric: rabbitmq_queuesTotal
refId: A
step: 2
thresholds: []
timeFrom:
timeShift:
title: Queues
tooltip:
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 0
fill: 1
id: 8
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: true
linewidth: 1
links: []
nullPointMode: 'null'
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 6
stack: false
steppedLine: false
targets:
- expr: sum by (vhost)(rabbitmq_queue_messages_ready{application="prometheus_rabbitmq_exporter",release_group="$rabbit"})
intervalFactor: 2
legendFormat: "{{vhost}}:ready"
metric: rabbitmq_queue_messages_ready
refId: A
step: 2
- expr: sum by (vhost)(rabbitmq_queue_messages_published_total{application="prometheus_rabbitmq_exporter",release_group="$rabbit"})
intervalFactor: 2
legendFormat: "{{vhost}}:published"
metric: rabbitmq_queue_messages_published_total
refId: B
step: 2
- expr: sum by (vhost)(rabbitmq_queue_messages_delivered_total{application="prometheus_rabbitmq_exporter",release_group="$rabbit"})
intervalFactor: 2
legendFormat: "{{vhost}}:delivered"
metric: rabbitmq_queue_messages_delivered_total
refId: C
step: 2
- expr: sum by (vhost)(rabbitmq_queue_messages_unacknowledged{application="prometheus_rabbitmq_exporter",release_group="$rabbit"})
intervalFactor: 2
legendFormat: "{{vhost}}:unack"
metric: ack
refId: D
step: 2
thresholds: []
timeFrom:
timeShift:
title: Messages/host
tooltip:
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
datasource: prometheus
decimals: 0
fill: 1
id: 2
legend:
alignAsTable: true
avg: false
current: true
max: false
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: []
span: 6
stack: false
steppedLine: false
targets:
- expr: rabbitmq_queue_messages{application="prometheus_rabbitmq_exporter",release_group="$rabbit"}
intervalFactor: 2
legendFormat: "{{queue}}:{{durable}}"
metric: rabbitmq_queue_messages
refId: A
step: 2
thresholds: []
timeFrom:
timeShift:
title: Messages / Queue
tooltip:
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
datasource: prometheus
fill: 1
id: 9
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: true
linewidth: 1
links: []
nullPointMode: 'null'
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 6
stack: false
steppedLine: false
targets:
- expr: rabbitmq_node_mem_used{application="prometheus_rabbitmq_exporter",release_group="$rabbit"}
intervalFactor: 2
legendFormat: "{{node}}:used"
metric: rabbitmq_node_mem_used
refId: A
step: 2
- expr: rabbitmq_node_mem_limit{application="prometheus_rabbitmq_exporter",release_group="$rabbit"}
intervalFactor: 2
legendFormat: "{{node}}:limit"
metric: node_mem
refId: B
step: 2
thresholds: []
timeFrom:
timeShift:
title: Memory
tooltip:
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
mode: time
name:
show: true
values: []
yaxes:
- format: decbytes
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
datasource: prometheus
fill: 1
id: 10
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: true
linewidth: 1
links: []
nullPointMode: 'null'
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 6
stack: false
steppedLine: false
targets:
- expr: rabbitmq_fd_used{application="prometheus_rabbitmq_exporter",release_group="$rabbit"}
intervalFactor: 2
legendFormat: "{{node}}:used"
metric: ''
refId: A
step: 2
- expr: rabbitmq_fd_total{application="prometheus_rabbitmq_exporter",release_group="$rabbit"}
intervalFactor: 2
legendFormat: "{{node}}:total"
metric: node_mem
refId: B
step: 2
thresholds: []
timeFrom:
timeShift:
title: FIle descriptors
tooltip:
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
datasource: prometheus
fill: 1
id: 11
legend:
alignAsTable: true
avg: true
current: true
max: true
min: true
show: true
total: false
values: true
lines: true
linewidth: 1
links: []
nullPointMode: 'null'
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
span: 6
stack: false
steppedLine: false
targets:
- expr: rabbitmq_sockets_used{application="prometheus_rabbitmq_exporter",release_group="$rabbit"}
intervalFactor: 2
legendFormat: "{{node}}:used"
metric: ''
refId: A
step: 2
- expr: rabbitmq_sockets_total{application="prometheus_rabbitmq_exporter",release_group="$rabbit"}
intervalFactor: 2
legendFormat: "{{node}}:total"
metric: ''
refId: B
step: 2
thresholds: []
timeFrom:
timeShift:
title: Sockets
tooltip:
shared: true
sort: 0
value_type: individual
transparent: false
type: graph
xaxis:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
repeat:
repeatIteration:
repeatRowId:
showTitle: false
title: Dashboard Row
titleSize: h6
schemaVersion: 14
style: dark
tags: []
templating:
list:
- current:
tags: []
text: Prometheus
value: Prometheus
hide: 0
label:
name: datasource
options: []
query: prometheus
refresh: 1
regex: ''
type: datasource
- current: {}
hide: 0
label: null
name: rabbit
options: []
type: query
query: label_values(rabbitmq_up, release_group)
refresh: 1
sort: 1
datasource: prometheus
time:
from: now-5m
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: browser
title: RabbitMQ Metrics
version: 17
description: 'Basic rabbitmq host stats: Node Stats, Exchanges, Channels, Consumers, Connections,
Queues, Messages, Messages per Queue, Memory, File Descriptors, Sockets.'
kubernetes_capacity_planning:
__inputs:
- name: prometheus
label: prometheus
description: ''
type: datasource
pluginId: prometheus
pluginName: Prometheus
__requires:
- type: grafana
id: grafana
name: Grafana
version: 4.4.1
- type: panel
id: graph
name: Graph
version: ''
- type: datasource
id: prometheus
name: Prometheus
version: 1.0.0
- type: panel
id: singlestat
name: Singlestat
version: ''
annotations:
list: []
description: ''
editable: true
gnetId: 22
graphTooltip: 0
hideControls: false
id:
links: []
refresh: false
rows:
- collapse: false
height: 250px
panels:
- alerting: {}
aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
editable: true
error: false
fill: 1
grid: {}
id: 3
legend:
avg: false
current: false
max: false
min: false
show: true
total: false
values: false
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
spaceLength: 10
span: 6
stack: false
steppedLine: false
targets:
- expr: sum(rate(node_cpu{mode="idle"}[2m])) * 100
hide: false
intervalFactor: 10
legendFormat: ''
refId: A
step: 50
thresholds: []
timeFrom:
timeShift:
title: Idle cpu
tooltip:
msResolution: false
shared: true
sort: 0
value_type: cumulative
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: percent
label: cpu usage
logBase: 1
max:
min: 0
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- alerting: {}
aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
editable: true
error: false
fill: 1
grid: {}
id: 9
legend:
avg: false
current: false
max: false
min: false
show: true
total: false
values: false
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
spaceLength: 10
span: 6
stack: false
steppedLine: false
targets:
- expr: sum(node_load1)
intervalFactor: 4
legendFormat: load 1m
refId: A
step: 20
target: ''
- expr: sum(node_load5)
intervalFactor: 4
legendFormat: load 5m
refId: B
step: 20
target: ''
- expr: sum(node_load15)
intervalFactor: 4
legendFormat: load 15m
refId: C
step: 20
target: ''
thresholds: []
timeFrom:
timeShift:
title: System load
tooltip:
msResolution: false
shared: true
sort: 0
value_type: cumulative
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: percentunit
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
repeat:
repeatIteration:
repeatRowId:
showTitle: false
title: New row
titleSize: h6
- collapse: false
height: 250px
panels:
- alerting: {}
aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
editable: true
error: false
fill: 1
grid: {}
id: 4
legend:
avg: false
current: false
max: false
min: false
show: true
total: false
values: false
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides:
- alias: node_memory_SwapFree{instance="172.17.0.1:9100",job="prometheus"}
yaxis: 2
spaceLength: 10
span: 9
stack: true
steppedLine: false
targets:
- expr: sum(node_memory_MemTotal) - sum(node_memory_MemFree) - sum(node_memory_Buffers)
- sum(node_memory_Cached)
intervalFactor: 2
legendFormat: memory usage
metric: memo
refId: A
step: 10
target: ''
- expr: sum(node_memory_Buffers)
interval: ''
intervalFactor: 2
legendFormat: memory buffers
metric: memo
refId: B
step: 10
target: ''
- expr: sum(node_memory_Cached)
interval: ''
intervalFactor: 2
legendFormat: memory cached
metric: memo
refId: C
step: 10
target: ''
- expr: sum(node_memory_MemFree)
interval: ''
intervalFactor: 2
legendFormat: memory free
metric: memo
refId: D
step: 10
target: ''
thresholds: []
timeFrom:
timeShift:
title: Memory usage
tooltip:
msResolution: false
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: bytes
label:
logBase: 1
max:
min: '0'
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
editable: true
error: false
format: percent
gauge:
maxValue: 100
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
id: 5
interval:
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 3
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- expr: "((sum(node_memory_MemTotal) - sum(node_memory_MemFree) - sum(node_memory_Buffers)
- sum(node_memory_Cached)) / sum(node_memory_MemTotal)) * 100"
intervalFactor: 2
metric: ''
refId: A
step: 60
target: ''
thresholds: 80, 90
title: Memory usage
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: avg
repeat:
repeatIteration:
repeatRowId:
showTitle: false
title: New row
titleSize: h6
- collapse: false
height: 246
panels:
- alerting: {}
aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
editable: true
error: false
fill: 1
grid: {}
id: 6
legend:
avg: false
current: false
max: false
min: false
show: true
total: false
values: false
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides:
- alias: read
yaxis: 1
- alias: '{instance="172.17.0.1:9100"}'
yaxis: 2
- alias: io time
yaxis: 2
spaceLength: 10
span: 9
stack: false
steppedLine: false
targets:
- expr: sum(rate(node_disk_bytes_read[5m]))
hide: false
intervalFactor: 4
legendFormat: read
refId: A
step: 20
target: ''
- expr: sum(rate(node_disk_bytes_written[5m]))
intervalFactor: 4
legendFormat: written
refId: B
step: 20
- expr: sum(rate(node_disk_io_time_ms[5m]))
intervalFactor: 4
legendFormat: io time
refId: C
step: 20
thresholds: []
timeFrom:
timeShift:
title: Disk I/O
tooltip:
msResolution: false
shared: true
sort: 0
value_type: cumulative
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: bytes
label:
logBase: 1
max:
min:
show: true
- format: ms
label:
logBase: 1
max:
min:
show: true
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
editable: true
error: false
format: percentunit
gauge:
maxValue: 1
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
id: 12
interval:
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 3
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- expr: (sum(node_filesystem_size{device!="rootfs"}) - sum(node_filesystem_free{device!="rootfs"}))
/ sum(node_filesystem_size{device!="rootfs"})
intervalFactor: 2
refId: A
step: 60
target: ''
thresholds: 0.75, 0.9
title: Disk space usage
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
repeat:
repeatIteration:
repeatRowId:
showTitle: false
title: New row
titleSize: h6
- collapse: false
height: 250px
panels:
- alerting: {}
aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
editable: true
error: false
fill: 1
grid: {}
id: 8
legend:
avg: false
current: false
max: false
min: false
show: true
total: false
values: false
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides:
- alias: 'transmitted '
yaxis: 2
spaceLength: 10
span: 6
stack: false
steppedLine: false
targets:
- expr: sum(rate(node_network_receive_bytes{device!~"lo"}[5m]))
hide: false
intervalFactor: 2
legendFormat: ''
refId: A
step: 10
target: ''
thresholds: []
timeFrom:
timeShift:
title: Network received
tooltip:
msResolution: false
shared: true
sort: 0
value_type: cumulative
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: bytes
label:
logBase: 1
max:
min:
show: true
- format: bytes
label:
logBase: 1
max:
min:
show: true
- alerting: {}
aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
editable: true
error: false
fill: 1
grid: {}
id: 10
legend:
avg: false
current: false
max: false
min: false
show: true
total: false
values: false
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides:
- alias: 'transmitted '
yaxis: 2
spaceLength: 10
span: 6
stack: false
steppedLine: false
targets:
- expr: sum(rate(node_network_transmit_bytes{device!~"lo"}[5m]))
hide: false
intervalFactor: 2
legendFormat: ''
refId: B
step: 10
target: ''
thresholds: []
timeFrom:
timeShift:
title: Network transmitted
tooltip:
msResolution: false
shared: true
sort: 0
value_type: cumulative
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: bytes
label:
logBase: 1
max:
min:
show: true
- format: bytes
label:
logBase: 1
max:
min:
show: true
repeat:
repeatIteration:
repeatRowId:
showTitle: false
title: New row
titleSize: h6
- collapse: false
height: 276
panels:
- aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
fill: 1
id: 11
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
span: 9
stack: false
steppedLine: false
targets:
- expr: sum(kube_pod_info)
format: time_series
intervalFactor: 2
legendFormat: Current number of Pods
refId: A
step: 10
- expr: sum(kube_node_status_capacity_pods)
format: time_series
intervalFactor: 2
legendFormat: Maximum capacity of pods
refId: B
step: 10
thresholds: []
timeFrom:
timeShift:
title: Cluster Pod Utilization
tooltip:
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
editable: true
error: false
format: percent
gauge:
maxValue: 100
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
id: 7
interval:
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 3
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- expr: 100 - (sum(kube_node_status_capacity_pods) - sum(kube_pod_info)) / sum(kube_node_status_capacity_pods)
* 100
format: time_series
intervalFactor: 2
legendFormat: ''
refId: A
step: 60
target: ''
thresholds: '80,90'
title: Pod Utilization
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
repeat:
repeatIteration:
repeatRowId:
showTitle: false
title: Dashboard Row
titleSize: h6
schemaVersion: 14
style: dark
tags: []
templating:
list: []
time:
from: now-1h
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: browser
title: Kubernetes Capacity Planning
version: 4
inputs:
- name: prometheus
pluginId: prometheus
type: datasource
value: prometheus
overwrite: true
kubernetes_cluster_status:
__inputs:
- name: prometheus
label: prometheus
description: ''
type: datasource
pluginId: prometheus
pluginName: Prometheus
__requires:
- type: grafana
id: grafana
name: Grafana
version: 4.4.1
- type: datasource
id: prometheus
name: Prometheus
version: 1.0.0
- type: panel
id: singlestat
name: Singlestat
version: ''
annotations:
list: []
editable: true
gnetId:
graphTooltip: 0
hideControls: false
id:
links: []
rows:
- collapse: false
height: 129
panels:
- cacheTimeout:
colorBackground: false
colorValue: true
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 5
interval:
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 6
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- expr: sum(up{job=~"apiserver|kube-scheduler|kube-controller-manager"} == 0)
format: time_series
intervalFactor: 2
legendFormat: ''
refId: A
step: 600
thresholds: '1,3'
title: Control Plane UP
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: UP
value: 'null'
valueName: total
- cacheTimeout:
colorBackground: false
colorValue: true
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 6
interval:
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 6
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- expr: sum(ALERTS{alertstate="firing",alertname!="DeadMansSwitch"})
format: time_series
intervalFactor: 2
legendFormat: ''
refId: A
step: 600
thresholds: '3,5'
title: Alerts Firing
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: '0'
value: 'null'
valueName: current
repeat:
repeatIteration:
repeatRowId:
showTitle: true
title: Cluster Health
titleSize: h6
- collapse: false
height: 168
panels:
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(245, 54, 54, 0.9)
- rgba(237, 129, 40, 0.89)
- rgba(50, 172, 45, 0.97)
datasource: prometheus
decimals:
format: percent
gauge:
maxValue: 100
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
id: 1
interval:
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 3
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- expr: (sum(up{job="apiserver"} == 1) / count(up{job="apiserver"})) * 100
format: time_series
interval: ''
intervalFactor: 2
legendFormat: ''
refId: A
step: 600
thresholds: '50,80'
title: API Servers UP
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(245, 54, 54, 0.9)
- rgba(237, 129, 40, 0.89)
- rgba(50, 172, 45, 0.97)
datasource: prometheus
decimals:
format: percent
gauge:
maxValue: 100
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
id: 2
interval:
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 3
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- expr: (sum(up{job="kube-controller-manager-discovery"} == 1) / count(up{job="kube-controller-manager-discovery"}))
* 100
format: time_series
interval: ''
intervalFactor: 2
legendFormat: ''
refId: A
step: 600
thresholds: '50,80'
title: Controller Managers UP
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(245, 54, 54, 0.9)
- rgba(237, 129, 40, 0.89)
- rgba(50, 172, 45, 0.97)
datasource: prometheus
decimals:
format: percent
gauge:
maxValue: 100
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
id: 3
interval:
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 3
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- expr: (sum(up{job="kube-scheduler-discovery"} == 1) / count(up{job="kube-scheduler-discovery"}))
* 100
format: time_series
interval: ''
intervalFactor: 2
legendFormat: ''
refId: A
step: 600
thresholds: '50,80'
title: Schedulers UP
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
- cacheTimeout:
colorBackground: false
colorValue: true
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
decimals:
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
hideTimeOverride: false
id: 4
interval:
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 3
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- expr: count(increase(kube_pod_container_status_restarts{namespace=~"kube-system|tectonic-system"}[1h])
> 5)
format: time_series
interval: ''
intervalFactor: 2
legendFormat: ''
refId: A
step: 600
thresholds: '1,3'
title: Crashlooping Control Plane Pods
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: '0'
value: 'null'
valueName: current
repeat:
repeatIteration:
repeatRowId:
showTitle: true
title: Control Plane Status
titleSize: h6
- collapse: false
height: 158
panels:
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
format: percent
gauge:
maxValue: 100
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
id: 8
interval:
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 3
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- expr: sum(100 - (avg by (instance) (rate(node_cpu{job="node-exporter",mode="idle"}[5m]))
* 100)) / count(node_cpu{job="node-exporter",mode="idle"})
format: time_series
intervalFactor: 2
legendFormat: ''
refId: A
step: 600
thresholds: '80,90'
title: CPU Utilization
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: avg
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
format: percent
gauge:
maxValue: 100
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
id: 7
interval:
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 3
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- expr: "((sum(node_memory_MemTotal) - sum(node_memory_MemFree) - sum(node_memory_Buffers)
- sum(node_memory_Cached)) / sum(node_memory_MemTotal)) * 100"
format: time_series
intervalFactor: 2
legendFormat: ''
refId: A
step: 600
thresholds: '80,90'
title: Memory Utilization
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: avg
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
format: percent
gauge:
maxValue: 100
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
id: 9
interval:
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 3
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- expr: (sum(node_filesystem_size{device!="rootfs"}) - sum(node_filesystem_free{device!="rootfs"}))
/ sum(node_filesystem_size{device!="rootfs"})
format: time_series
intervalFactor: 2
legendFormat: ''
refId: A
step: 600
thresholds: '80,90'
title: Filesystem Utilization
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: avg
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
format: percent
gauge:
maxValue: 100
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
id: 10
interval:
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 3
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- expr: 100 - (sum(kube_node_status_capacity_pods) - sum(kube_pod_info)) / sum(kube_node_status_capacity_pods)
* 100
format: time_series
intervalFactor: 2
legendFormat: ''
refId: A
step: 600
thresholds: '80,90'
title: Pod Utilization
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: avg
repeat:
repeatIteration:
repeatRowId:
showTitle: true
title: Capacity Planing
titleSize: h6
schemaVersion: 14
style: dark
tags: []
templating:
list: []
time:
from: now-6h
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: Kubernetes Cluster Status
version: 3
inputs:
- name: prometheus
pluginId: prometheus
type: datasource
value: prometheus
overwrite: true
nodes:
__inputs:
- name: prometheus
label: prometheus
description: ''
type: datasource
pluginId: prometheus
pluginName: Prometheus
__requires:
- type: grafana
id: grafana
name: Grafana
version: 4.4.1
- type: panel
id: graph
name: Graph
version: ''
- type: datasource
id: prometheus
name: Prometheus
version: 1.0.0
- type: panel
id: singlestat
name: Singlestat
version: ''
annotations:
list: []
description: Dashboard to get an overview of one server
editable: true
gnetId: 22
graphTooltip: 0
hideControls: false
id:
links: []
refresh: false
rows:
- collapse: false
height: 250px
panels:
- alerting: {}
aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
editable: true
error: false
fill: 1
grid: {}
id: 3
legend:
avg: false
current: false
max: false
min: false
show: true
total: false
values: false
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
spaceLength: 10
span: 6
stack: false
steppedLine: false
targets:
- expr: 100 - (avg by (cpu) (irate(node_cpu{mode="idle", instance="$server"}[5m]))
* 100)
hide: false
intervalFactor: 10
legendFormat: "{{cpu}}"
refId: A
step: 50
thresholds: []
timeFrom:
timeShift:
title: Idle cpu
tooltip:
msResolution: false
shared: true
sort: 0
value_type: cumulative
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: percent
label: cpu usage
logBase: 1
max: 100
min: 0
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- alerting: {}
aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
editable: true
error: false
fill: 1
grid: {}
id: 9
legend:
avg: false
current: false
max: false
min: false
show: true
total: false
values: false
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
spaceLength: 10
span: 6
stack: false
steppedLine: false
targets:
- expr: node_load1{instance="$server"}
intervalFactor: 4
legendFormat: load 1m
refId: A
step: 20
target: ''
- expr: node_load5{instance="$server"}
intervalFactor: 4
legendFormat: load 5m
refId: B
step: 20
target: ''
- expr: node_load15{instance="$server"}
intervalFactor: 4
legendFormat: load 15m
refId: C
step: 20
target: ''
thresholds: []
timeFrom:
timeShift:
title: System load
tooltip:
msResolution: false
shared: true
sort: 0
value_type: cumulative
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: percentunit
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
repeat:
repeatIteration:
repeatRowId:
showTitle: false
title: New row
titleSize: h6
- collapse: false
height: 250px
panels:
- alerting: {}
aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
editable: true
error: false
fill: 1
grid: {}
id: 4
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: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides:
- alias: node_memory_SwapFree{instance="172.17.0.1:9100",job="prometheus"}
yaxis: 2
spaceLength: 10
span: 9
stack: true
steppedLine: false
targets:
- expr: node_memory_MemTotal{instance="$server"} - node_memory_MemFree{instance="$server"}
- node_memory_Buffers{instance="$server"} - node_memory_Cached{instance="$server"}
hide: false
interval: ''
intervalFactor: 2
legendFormat: memory used
metric: ''
refId: C
step: 10
- expr: node_memory_Buffers{instance="$server"}
interval: ''
intervalFactor: 2
legendFormat: memory buffers
metric: ''
refId: E
step: 10
- expr: node_memory_Cached{instance="$server"}
intervalFactor: 2
legendFormat: memory cached
metric: ''
refId: F
step: 10
- expr: node_memory_MemFree{instance="$server"}
intervalFactor: 2
legendFormat: memory free
metric: ''
refId: D
step: 10
thresholds: []
timeFrom:
timeShift:
title: Memory usage
tooltip:
msResolution: false
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: bytes
label:
logBase: 1
max:
min: '0'
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
editable: true
error: false
format: percent
gauge:
maxValue: 100
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
id: 5
interval:
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 3
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- expr: ((node_memory_MemTotal{instance="$server"} - node_memory_MemFree{instance="$server"} -
node_memory_Buffers{instance="$server"} - node_memory_Cached{instance="$server"})
/ node_memory_MemTotal{instance="$server"}) * 100
intervalFactor: 2
refId: A
step: 60
target: ''
thresholds: 80, 90
title: Memory usage
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: avg
repeat:
repeatIteration:
repeatRowId:
showTitle: false
title: New row
titleSize: h6
- collapse: false
height: 250px
panels:
- alerting: {}
aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
editable: true
error: false
fill: 1
grid: {}
id: 6
legend:
avg: false
current: false
max: false
min: false
show: true
total: false
values: false
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides:
- alias: read
yaxis: 1
- alias: '{instance="172.17.0.1:9100"}'
yaxis: 2
- alias: io time
yaxis: 2
spaceLength: 10
span: 9
stack: false
steppedLine: false
targets:
- expr: sum by (instance) (rate(node_disk_bytes_read{instance="$server"}[2m]))
hide: false
intervalFactor: 4
legendFormat: read
refId: A
step: 20
target: ''
- expr: sum by (instance) (rate(node_disk_bytes_written{instance="$server"}[2m]))
intervalFactor: 4
legendFormat: written
refId: B
step: 20
- expr: sum by (instance) (rate(node_disk_io_time_ms{instance="$server"}[2m]))
intervalFactor: 4
legendFormat: io time
refId: C
step: 20
thresholds: []
timeFrom:
timeShift:
title: Disk I/O
tooltip:
msResolution: false
shared: true
sort: 0
value_type: cumulative
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: bytes
label:
logBase: 1
max:
min:
show: true
- format: ms
label:
logBase: 1
max:
min:
show: true
- cacheTimeout:
colorBackground: false
colorValue: false
colors:
- rgba(50, 172, 45, 0.97)
- rgba(237, 129, 40, 0.89)
- rgba(245, 54, 54, 0.9)
datasource: prometheus
editable: true
error: false
format: percentunit
gauge:
maxValue: 1
minValue: 0
show: true
thresholdLabels: false
thresholdMarkers: true
id: 7
interval:
links: []
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 3
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- expr: (sum(node_filesystem_size{device!="rootfs",instance="$server"}) - sum(node_filesystem_free{device!="rootfs",instance="$server"}))
/ sum(node_filesystem_size{device!="rootfs",instance="$server"})
intervalFactor: 2
refId: A
step: 60
target: ''
thresholds: 0.75, 0.9
title: Disk space usage
type: singlestat
valueFontSize: 80%
valueMaps:
- op: "="
text: N/A
value: 'null'
valueName: current
repeat:
repeatIteration:
repeatRowId:
showTitle: false
title: New row
titleSize: h6
- collapse: false
height: 250px
panels:
- alerting: {}
aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
editable: true
error: false
fill: 1
grid: {}
id: 8
legend:
avg: false
current: false
max: false
min: false
show: true
total: false
values: false
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides:
- alias: 'transmitted '
yaxis: 2
spaceLength: 10
span: 6
stack: false
steppedLine: false
targets:
- expr: rate(node_network_receive_bytes{instance="$server",device!~"lo"}[5m])
hide: false
intervalFactor: 2
legendFormat: "{{device}}"
refId: A
step: 10
target: ''
thresholds: []
timeFrom:
timeShift:
title: Network received
tooltip:
msResolution: false
shared: true
sort: 0
value_type: cumulative
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: bytes
label:
logBase: 1
max:
min:
show: true
- format: bytes
label:
logBase: 1
max:
min:
show: true
- alerting: {}
aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
editable: true
error: false
fill: 1
grid: {}
id: 10
legend:
avg: false
current: false
max: false
min: false
show: true
total: false
values: false
lines: true
linewidth: 2
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides:
- alias: 'transmitted '
yaxis: 2
spaceLength: 10
span: 6
stack: false
steppedLine: false
targets:
- expr: rate(node_network_transmit_bytes{instance="$server",device!~"lo"}[5m])
hide: false
intervalFactor: 2
legendFormat: "{{device}}"
refId: B
step: 10
target: ''
thresholds: []
timeFrom:
timeShift:
title: Network transmitted
tooltip:
msResolution: false
shared: true
sort: 0
value_type: cumulative
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: bytes
label:
logBase: 1
max:
min:
show: true
- format: bytes
label:
logBase: 1
max:
min:
show: true
repeat:
repeatIteration:
repeatRowId:
showTitle: false
title: New row
titleSize: h6
schemaVersion: 14
style: dark
tags: []
templating:
list:
- allValue:
current: {}
datasource: prometheus
hide: 0
includeAll: false
label:
multi: false
name: server
options: []
query: label_values(node_boot_time, instance)
refresh: 1
regex: ''
sort: 0
tagValuesQuery: ''
tags: []
tagsQuery: ''
type: query
useTags: false
time:
from: now-1h
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: browser
title: Nodes
version: 2
inputs:
- name: prometheus
pluginId: prometheus
type: datasource
value: prometheus
overwrite: true
openstack_control_plane:
__inputs:
- name: prometheus
label: prometheus
description: ''
type: datasource
pluginId: prometheus
pluginName: Prometheus
__requires:
- type: grafana
id: grafana
name: Grafana
version: 4.5.2
- type: panel
id: graph
name: Graph
version: ''
- type: datasource
id: prometheus
name: Prometheus
version: 1.0.0
- type: panel
id: singlestat
name: Singlestat
version: ''
- type: panel
id: text
name: Text
version: ''
annotations:
list: []
editable: true
gnetId:
graphTooltip: 1
hideControls: false
id:
links: []
refresh: 1m
rows:
- collapse: false
height: 250px
panels:
- cacheTimeout:
colorBackground: true
colorValue: false
colors:
- rgba(200, 54, 35, 0.88)
- rgba(118, 245, 40, 0.73)
- rgba(225, 177, 40, 0.59)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 24
interval: "> 60s"
links:
- dashboard: Keystone
name: Drilldown dashboard
title: Keystone
type: dashboard
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- column: value
condition: ''
dsType: influxdb
expr: check_keystone_api{job="openstack-metrics", region="$region"}
fill: ''
format: time_series
function: last
groupBy:
- params:
- "$interval"
type: time
- params:
- 'null'
type: fill
groupByTags: []
groupby_field: ''
interval: ''
intervalFactor: 2
policy: default
rawQuery: false
refId: A
resultFormat: time_series
step: 120
thresholds: '1,2'
title: Keystone
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: no data
value: 'null'
- op: "="
text: CRIT
value: '0'
- op: "="
text: OK
value: '1'
- op: "="
text: UNKW
value: '2'
valueName: current
- cacheTimeout:
colorBackground: true
colorValue: false
colors:
- rgba(200, 54, 35, 0.88)
- rgba(118, 245, 40, 0.73)
- rgba(225, 177, 40, 0.59)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 23
interval: "> 60s"
links:
- dashboard: Glance
name: Drilldown dashboard
title: Glance
type: dashboard
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- column: value
condition: ''
dsType: influxdb
expr: check_glance_api{job="openstack-metrics", region="$region"}
fill: ''
format: time_series
function: last
groupBy:
- params:
- "$interval"
type: time
- params:
- 'null'
type: fill
groupByTags: []
groupby_field: ''
interval: ''
intervalFactor: 2
policy: default
rawQuery: false
refId: A
resultFormat: time_series
step: 120
thresholds: '1,2'
title: Glance
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: no data
value: 'null'
- op: "="
text: CRIT
value: '0'
- op: "="
text: OK
value: '1'
- op: "="
text: UNKW
value: '2'
valueName: current
- cacheTimeout:
colorBackground: true
colorValue: false
colors:
- rgba(202, 58, 40, 0.86)
- rgba(118, 245, 40, 0.73)
- rgba(225, 177, 40, 0.59)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 22
interval: "> 60s"
links:
- dashboard: Heat
name: Drilldown dashboard
title: Heat
type: dashboard
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- column: value
condition: ''
dsType: influxdb
expr: check_heat_api{job="openstack-metrics", region="$region"}
fill: ''
format: time_series
function: last
groupBy:
- params:
- "$interval"
type: time
- params:
- 'null'
type: fill
groupByTags: []
groupby_field: ''
interval: ''
intervalFactor: 2
policy: default
rawQuery: false
refId: A
resultFormat: time_series
step: 120
thresholds: '1,2'
title: Heat
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: no data
value: 'null'
- op: "="
text: CRIT
value: '0'
- op: "="
text: OK
value: '1'
- op: "="
text: UNKW
value: '2'
valueName: current
- cacheTimeout:
colorBackground: true
colorValue: false
colors:
- rgba(200, 54, 35, 0.88)
- rgba(118, 245, 40, 0.73)
- rgba(225, 177, 40, 0.59)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 21
interval: "> 60s"
links:
- dashboard: Neutron
name: Drilldown dashboard
title: Neutron
type: dashboard
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- column: value
condition: ''
dsType: influxdb
expr: check_neutron_api{job="openstack-metrics", region="$region"}
fill: ''
format: time_series
function: last
groupBy:
- params:
- "$interval"
type: time
- params:
- 'null'
type: fill
groupByTags: []
groupby_field: ''
interval: ''
intervalFactor: 2
policy: default
rawQuery: false
refId: A
resultFormat: time_series
step: 120
thresholds: '1,2'
title: Neutron
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: no data
value: 'null'
- op: "="
text: CRIT
value: '0'
- op: "="
text: OK
value: '1'
- op: "="
text: UNKW
value: '2'
valueName: current
- cacheTimeout:
colorBackground: true
colorValue: false
colors:
- rgba(208, 53, 34, 0.82)
- rgba(118, 245, 40, 0.73)
- rgba(225, 177, 40, 0.59)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 5
interval: "> 60s"
links:
- dashboard: Nova
name: Drilldown dashboard
title: Nova
type: dashboard
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- column: value
condition: ''
dsType: influxdb
expr: check_nova_api{job="openstack-metrics", region="$region"}
fill: ''
format: time_series
function: last
groupBy:
- params:
- "$interval"
type: time
- params:
- 'null'
type: fill
groupByTags: []
groupby_field: ''
interval: ''
intervalFactor: 2
policy: default
rawQuery: false
refId: A
resultFormat: time_series
step: 120
thresholds: '1,2'
title: Nova
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: no data
value: 'null'
- op: "="
text: CRIT
value: '0'
- op: "="
text: OK
value: '1'
- op: "="
text: UNKW
value: '2'
valueName: current
- cacheTimeout:
colorBackground: true
colorValue: false
colors:
- rgba(200, 54, 35, 0.88)
- rgba(118, 245, 40, 0.73)
- rgba(225, 177, 40, 0.59)
datasource: prometheus
editable: true
error: false
format: none
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 25
interval: "> 60s"
links:
- dashboard: Ceph
name: Drilldown dashboard
title: Ceph
type: dashboard
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- column: value
condition: ''
dsType: influxdb
expr: check_swift_api{job="openstack-metrics", region="$region"}
fill: ''
format: time_series
function: last
groupBy:
- params:
- "$interval"
type: time
- params:
- 'null'
type: fill
groupByTags: []
groupby_field: ''
interval: ''
intervalFactor: 2
policy: default
rawQuery: false
refId: A
resultFormat: time_series
step: 120
thresholds: '1,2'
title: Ceph
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: no data
value: 'null'
- op: "="
text: CRIT
value: '0'
- op: "="
text: OK
value: '1'
- op: "="
text: UNKW
value: '2'
valueName: current
- content: ''
editable: true
error: false
id: 20
links: []
mode: markdown
span: 1
style: {}
title: ''
type: text
- cacheTimeout:
colorBackground: true
colorValue: false
colors:
- rgba(71, 212, 59, 0.4)
- rgba(245, 150, 40, 0.73)
- rgba(225, 40, 40, 0.59)
datasource: prometheus
editable: true
error: false
format: short
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 16
interval: ">60s"
links:
- dashboard: RabbitMQ
name: Drilldown dashboard
title: RabbitMQ
type: dashboard
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- column: value
dsType: influxdb
expr: ''
fill: ''
format: time_series
function: last
groupBy:
- params:
- "$interval"
type: time
- params:
- 'null'
type: fill
groupByTags: []
interval: ''
intervalFactor: 2
policy: default
rawQuery: false
refId: A
resultFormat: time_series
thresholds: ''
title: RabbitMQ
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: no data
value: 'null'
- op: "="
text: OKAY
value: '0'
- op: "="
text: WARN
value: '1'
- op: "="
text: UNKW
value: '2'
- op: "="
text: CRIT
value: '3'
- op: "="
text: DOWN
value: '4'
valueName: current
- cacheTimeout:
colorBackground: true
colorValue: false
colors:
- rgba(71, 212, 59, 0.4)
- rgba(245, 150, 40, 0.73)
- rgba(225, 40, 40, 0.59)
datasource: prometheus
editable: true
error: false
format: short
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 15
interval: ">60s"
links:
- dashboard: MySQL
name: Drilldown dashboard
title: MySQL
type: dashboard
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- column: value
dsType: influxdb
fill: ''
function: last
groupBy:
- params:
- "$interval"
type: time
- params:
- 'null'
type: fill
groupByTags: []
interval: ''
policy: default
rawQuery: false
refId: A
resultFormat: time_series
thresholds: ''
title: MySQL
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: no data
value: 'null'
- op: "="
text: OKAY
value: '0'
- op: "="
text: WARN
value: '1'
- op: "="
text: UNKW
value: '2'
- op: "="
text: CRIT
value: '3'
- op: "="
text: DOWN
value: '4'
valueName: current
- cacheTimeout:
colorBackground: true
colorValue: false
colors:
- rgba(71, 212, 59, 0.4)
- rgba(245, 150, 40, 0.73)
- rgba(225, 40, 40, 0.59)
datasource: prometheus
editable: true
error: false
format: short
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 18
interval: ">60s"
links:
- dashUri: db/apache
dashboard: Apache
name: Drilldown dashboard
title: Apache
type: dashboard
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- column: value
dsType: influxdb
fill: ''
function: last
groupBy:
- params:
- "$interval"
type: time
- params:
- 'null'
type: fill
groupByTags: []
interval: ''
policy: default
rawQuery: false
refId: A
resultFormat: time_series
thresholds: ''
title: Apache
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: no data
value: 'null'
- op: "="
text: OKAY
value: '0'
- op: "="
text: WARN
value: '1'
- op: "="
text: UNKW
value: '2'
- op: "="
text: CRIT
value: '3'
- op: "="
text: DOWN
value: '4'
valueName: current
- cacheTimeout:
colorBackground: true
colorValue: false
colors:
- rgba(71, 212, 59, 0.4)
- rgba(245, 150, 40, 0.73)
- rgba(225, 40, 40, 0.59)
datasource: prometheus
editable: true
error: false
format: short
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 10
interval: ">60s"
links:
- dashUri: db/haproxy
dashboard: HAProxy
name: Drilldown dashboard
title: HAProxy
type: dashboard
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- column: value
dsType: influxdb
fill: ''
function: last
groupBy:
- params:
- "$interval"
type: time
- params:
- 'null'
type: fill
groupByTags: []
interval: ''
policy: default
rawQuery: false
refId: A
resultFormat: time_series
thresholds: ''
title: haproxy
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: no data
value: 'null'
- op: "="
text: OKAY
value: '0'
- op: "="
text: WARN
value: '1'
- op: "="
text: UNKW
value: '2'
- op: "="
text: CRIT
value: '3'
- op: "="
text: DOWN
value: '4'
valueName: current
- cacheTimeout:
colorBackground: true
colorValue: false
colors:
- rgba(71, 212, 59, 0.4)
- rgba(245, 150, 40, 0.73)
- rgba(225, 40, 40, 0.59)
datasource: prometheus
editable: true
error: false
format: short
gauge:
maxValue: 100
minValue: 0
show: false
thresholdLabels: false
thresholdMarkers: true
id: 17
interval: ">60s"
links:
- dashUri: db/memcached
dashboard: Memcached
name: Drilldown dashboard
title: Memcached
type: dashboard
mappingType: 1
mappingTypes:
- name: value to text
value: 1
- name: range to text
value: 2
maxDataPoints: 100
nullPointMode: connected
nullText:
postfix: ''
postfixFontSize: 50%
prefix: ''
prefixFontSize: 50%
rangeMaps:
- from: 'null'
text: N/A
to: 'null'
span: 1
sparkline:
fillColor: rgba(31, 118, 189, 0.18)
full: false
lineColor: rgb(31, 120, 193)
show: false
tableColumn: ''
targets:
- column: value
dsType: influxdb
fill: ''
function: last
groupBy:
- params:
- "$interval"
type: time
- params:
- 'null'
type: fill
groupByTags: []
interval: ''
policy: default
rawQuery: false
refId: A
resultFormat: time_series
thresholds: ''
title: memcached
type: singlestat
valueFontSize: 50%
valueMaps:
- op: "="
text: no data
value: 'null'
- op: "="
text: OKAY
value: '0'
- op: "="
text: WARN
value: '1'
- op: "="
text: UNKW
value: '2'
- op: "="
text: CRIT
value: '3'
- op: "="
text: DOWN
value: '4'
valueName: current
repeat:
repeatIteration:
repeatRowId:
showTitle: true
title: OpenStack Services
titleSize: h6
- collapse: false
height: 250px
panels:
- aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
editable: true
error: false
fill: 0
grid: {}
id: 11
interval: "> 60s"
legend:
avg: false
current: false
max: false
min: false
show: false
total: false
values: false
lines: true
linewidth: 1
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
spaceLength: 10
span: 4
stack: false
steppedLine: false
targets:
- alias: free
column: value
dsType: influxdb
expr: total_used_vcpus{job="openstack-metrics", region="$region"} + total_free_vcpus{job="openstack-metrics",
region="$region"}
format: time_series
function: min
groupBy:
- params:
- "$interval"
type: time
- params:
- '0'
type: fill
groupByTags: []
intervalFactor: 2
policy: default
rawQuery: false
refId: A
resultFormat: time_series
step: 120
- alias: used
column: value
dsType: influxdb
expr: total_used_vcpus{job="openstack-metrics", region="$region"}
format: time_series
function: max
groupBy:
- params:
- "$interval"
type: time
- params:
- '0'
type: fill
groupByTags: []
intervalFactor: 2
policy: default
rawQuery: false
refId: B
resultFormat: time_series
step: 120
thresholds: []
timeFrom:
timeShift:
title: VCPUs (total vs used)
tooltip:
msResolution: false
shared: true
sort: 0
value_type: cumulative
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: short
logBase: 1
max:
min: 0
show: true
- format: short
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
editable: true
error: false
fill: 0
grid: {}
id: 12
interval: "> 60s"
legend:
avg: false
current: false
max: false
min: false
show: false
total: false
values: false
lines: true
linewidth: 1
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
spaceLength: 10
span: 4
stack: false
steppedLine: false
targets:
- alias: free
column: value
dsType: influxdb
expr: total_used_ram_MB{job="openstack-metrics", region="$region"} + total_free_ram_MB{job="openstack-metrics",
region="$region"}
format: time_series
function: mean
groupBy:
- params:
- "$interval"
type: time
- params:
- '0'
type: fill
groupByTags: []
intervalFactor: 2
policy: default
rawQuery: false
refId: A
resultFormat: time_series
step: 120
- alias: used
column: value
dsType: influxdb
expr: total_used_ram_MB{job="openstack-metrics", region="$region"}
format: time_series
function: mean
groupBy:
- params:
- "$interval"
type: time
- params:
- '0'
type: fill
groupByTags: []
interval: ''
intervalFactor: 2
policy: default
rawQuery: false
refId: B
resultFormat: time_series
step: 120
thresholds: []
timeFrom:
timeShift:
title: RAM (total vs used)
tooltip:
msResolution: false
shared: true
sort: 0
value_type: cumulative
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: mbytes
label: ''
logBase: 1
max:
min: 0
show: true
- format: short
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
editable: true
error: false
fill: 0
grid: {}
id: 13
interval: "> 60s"
legend:
avg: false
current: false
max: false
min: false
show: false
total: false
values: false
lines: true
linewidth: 1
links: []
nullPointMode: connected
percentage: false
pointradius: 5
points: false
renderer: flot
seriesOverrides: []
spaceLength: 10
span: 4
stack: false
steppedLine: false
targets:
- alias: free
column: value
dsType: influxdb
expr: total_used_disk_GB{job="openstack-metrics", region="$region"} + total_free_disk_GB{job="openstack-metrics",
region="$region"}
format: time_series
function: mean
groupBy:
- params:
- "$interval"
type: time
- params:
- '0'
type: fill
groupByTags: []
intervalFactor: 2
policy: default
rawQuery: false
refId: A
resultFormat: time_series
step: 120
- alias: used
column: value
dsType: influxdb
expr: total_used_disk_GB{job="openstack-metrics", region="$region"}
format: time_series
function: mean
groupBy:
- params:
- "$interval"
type: time
- params:
- '0'
type: fill
groupByTags: []
intervalFactor: 2
policy: default
rawQuery: false
refId: B
resultFormat: time_series
step: 120
thresholds: []
timeFrom:
timeShift:
title: Disk (used vs total)
tooltip:
msResolution: false
shared: true
sort: 0
value_type: cumulative
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: gbytes
logBase: 1
max:
min: 0
show: true
- format: short
logBase: 1
max:
min:
show: true
repeat:
repeatIteration:
repeatRowId:
showTitle: true
title: Virtual compute resources
titleSize: h6
schemaVersion: 14
style: dark
tags: []
templating:
enable: true
list:
- allValue:
current: {}
datasource: prometheus
hide: 0
includeAll: false
label:
multi: false
name: region
options: []
query: label_values(openstack_exporter_cache_refresh_duration_seconds, region)
refresh: 1
regex: ''
sort: 0
tagValuesQuery: ''
tags: []
tagsQuery: ''
type: query
useTags: false
time:
from: now-1h
to: now
timepicker:
collapse: false
enable: true
notice: false
now: true
refresh_intervals:
- 5s
- 10s
- 30s
- 1m
- 5m
- 15m
- 30m
- 1h
- 2h
- 1d
status: Stable
time_options:
- 5m
- 15m
- 1h
- 6h
- 12h
- 24h
- 2d
- 7d
- 30d
type: timepicker
timezone: browser
title: OpenStack Metrics
version: 2
nginx_stats:
__inputs:
- name: prometheus
label: prometheus
description: ''
type: datasource
pluginId: prometheus
pluginName: Prometheus
__requires:
- type: grafana
id: grafana
name: Grafana
version: 4.5.2
- type: panel
id: graph
name: Graph
version: ''
- type: datasource
id: prometheus
name: Prometheus
version: 1.0.0
annotations:
list: []
description: Show stats from the hnlq715/nginx-vts-exporter.
editable: true
gnetId: 2949
graphTooltip: 0
hideControls: false
id:
links: []
refresh: 10s
rows:
- collapse: false
height: 250
panels:
- aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
fill: 1
id: 7
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
span: 12
stack: false
steppedLine: false
targets:
- expr: sum(nginx_upstream_responses_total{upstream=~"^$Upstream$"}) by (status_code,
upstream)
format: time_series
interval: ''
intervalFactor: 2
legendFormat: "{{ status_code }}.{{ upstream }}"
metric: nginx_upstream_response
refId: A
step: 4
thresholds: []
timeFrom:
timeShift:
title: HTTP Response Codes by Upstream
tooltip:
msResolution: false
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
repeat:
repeatIteration:
repeatRowId:
showTitle: false
title: Dashboard Row
titleSize: h6
- collapse: false
height: 250
panels:
- aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
fill: 1
id: 6
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
span: 6
stack: false
steppedLine: false
targets:
- expr: sum(irate(nginx_upstream_requests_total{upstream=~"^$Upstream$"}[5m]))
by (upstream)
format: time_series
interval: ''
intervalFactor: 2
legendFormat: "{{ upstream}}"
metric: nginx_upstream_requests
refId: A
step: 10
thresholds: []
timeFrom:
timeShift:
title: Upstream Requests rate
tooltip:
msResolution: false
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
fill: 1
id: 5
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
span: 6
stack: false
steppedLine: false
targets:
- expr: sum(irate(nginx_upstream_bytes_total{upstream=~"^$Upstream$"}[5m])) by
(direction, upstream)
format: time_series
interval: ''
intervalFactor: 2
legendFormat: "{{ direction }}.{{ upstream }}"
metric: nginx_upstream_bytes
refId: A
step: 10
thresholds: []
timeFrom:
timeShift:
title: Upstream Bytes Transfer rate
tooltip:
msResolution: false
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
repeat:
repeatIteration:
repeatRowId:
showTitle: false
title: Dashboard Row
titleSize: h6
- collapse: false
height: 250px
panels:
- aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
fill: 1
id: 1
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
span: 6
stack: false
steppedLine: false
targets:
- expr: sum(irate(nginx_connections_total[5m])) by (type)
format: time_series
intervalFactor: 2
legendFormat: "{{ type}}"
metric: nginx_server_connections
refId: A
step: 10
thresholds: []
timeFrom:
timeShift:
title: Overall Connections rate
tooltip:
msResolution: false
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
fill: 1
id: 4
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
span: 6
stack: false
steppedLine: false
targets:
- expr: sum(irate(nginx_cache_total{ server_zone=~"$ingress"}[5m])) by (server_zone,
type)
format: time_series
interval: ''
intervalFactor: 2
legendFormat: "{{ type }}.{{ server_zone }}"
metric: nginx_server_cache
refId: A
step: 10
thresholds: []
timeFrom:
timeShift:
title: Cache Action rate
tooltip:
msResolution: false
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min: '0'
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
repeat:
repeatIteration:
repeatRowId:
showTitle: false
title: Dashboard Row
titleSize: h6
- collapse: false
height: 250
panels:
- aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
fill: 1
id: 3
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
span: 6
stack: false
steppedLine: false
targets:
- expr: sum(irate(nginx_requests_total{ server_zone=~"$ingress" }[5m])) by (server_zone)
format: time_series
interval: ''
intervalFactor: 2
legendFormat: "{{ server_zone}}"
metric: nginx_server_requests
refId: A
step: 10
thresholds: []
timeFrom:
timeShift:
title: Overall Requests rate
tooltip:
msResolution: false
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: short
label:
logBase: 1
max:
min:
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
- aliasColors: {}
bars: false
dashLength: 10
dashes: false
datasource: prometheus
fill: 1
id: 2
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
span: 6
stack: false
steppedLine: false
targets:
- expr: sum(irate(nginx_bytes_total{ server_zone=~"$ingress" }[5m])) by (direction,
server_zone)
format: time_series
intervalFactor: 2
legendFormat: "{{ direction }}.{{ server_zone }}"
metric: nginx_server_bytes
refId: A
step: 10
thresholds: []
timeFrom:
timeShift:
title: Overall Bytes Transferred rate
tooltip:
msResolution: false
shared: true
sort: 0
value_type: individual
type: graph
xaxis:
buckets:
mode: time
name:
show: true
values: []
yaxes:
- format: bytes
label:
logBase: 1
max:
min: '0'
show: true
- format: short
label:
logBase: 1
max:
min:
show: true
repeat:
repeatIteration:
repeatRowId:
showTitle: false
title: Dashboard Row
titleSize: h6
schemaVersion: 14
style: dark
tags:
- prometheus
- nginx
templating:
list:
- allValue: ".*"
current: {}
datasource: prometheus
hide: 0
includeAll: false
label:
multi: true
name: Upstream
options: []
query: label_values(nginx_upstream_bytes_total, upstream)
refresh: 1
regex: ''
sort: 1
tagValuesQuery: ''
tags: []
tagsQuery: ''
type: query
useTags: false
- allValue:
current: {}
datasource: prometheus
hide: 0
includeAll: false
label:
multi: true
name: ingress
options: []
query: label_values(nginx_bytes_total, server_zone)
refresh: 1
regex: "/^[^\\*_]+$/"
sort: 1
tagValuesQuery: ''
tags: []
tagsQuery: ''
type: query
useTags: false
time:
from: now-1h
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: browser
title: Nginx Stats
version: 13