Skip to content

Commit a63aab8

Browse files
authored
Merge pull request #362 from Infra-Red/credhub-dashboard
Add Credhub Certs Expiry date dashboard
2 parents e3282f6 + c130189 commit a63aab8

File tree

4 files changed

+289
-0
lines changed

4 files changed

+289
-0
lines changed

jobs/credhub_dashboards/monit

Whitespace-only changes.

jobs/credhub_dashboards/spec

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
name: credhub_dashboards
3+
4+
templates:
5+
credhub_certs.json: credhub_certs.json
6+
7+
packages: []
8+
9+
properties: {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,271 @@
1+
{
2+
"__inputs": [
3+
{
4+
"name": "DS_PROMETHEUS",
5+
"label": "prometheus",
6+
"description": "",
7+
"type": "datasource",
8+
"pluginId": "prometheus",
9+
"pluginName": "Prometheus"
10+
}
11+
],
12+
"__requires": [
13+
{
14+
"type": "grafana",
15+
"id": "grafana",
16+
"name": "Grafana",
17+
"version": "6.4.3"
18+
},
19+
{
20+
"type": "datasource",
21+
"id": "prometheus",
22+
"name": "Prometheus",
23+
"version": "1.0.0"
24+
},
25+
{
26+
"type": "panel",
27+
"id": "table",
28+
"name": "Table",
29+
"version": ""
30+
}
31+
],
32+
"annotations": {
33+
"list": [
34+
{
35+
"builtIn": 1,
36+
"datasource": "-- Grafana --",
37+
"enable": true,
38+
"hide": true,
39+
"iconColor": "rgba(0, 211, 255, 1)",
40+
"name": "Annotations & Alerts",
41+
"type": "dashboard"
42+
}
43+
]
44+
},
45+
"description": "",
46+
"editable": false,
47+
"gnetId": null,
48+
"graphTooltip": 0,
49+
"id": null,
50+
"iteration": 1573825587650,
51+
"links": [
52+
{
53+
"asDropdown": true,
54+
"icon": "external link",
55+
"includeVars": true,
56+
"keepTime": true,
57+
"tags": [
58+
"bosh"
59+
],
60+
"title": "BOSH",
61+
"type": "dashboards"
62+
},
63+
{
64+
"icon": "external link",
65+
"tags": [],
66+
"targetBlank": true,
67+
"title": "CredHub API",
68+
"tooltip": "",
69+
"type": "link",
70+
"url": "https://credhub-api.cfapps.io"
71+
}
72+
],
73+
"panels": [
74+
{
75+
"cacheTimeout": null,
76+
"columns": [],
77+
"datasource": "${DS_PROMETHEUS}",
78+
"fontSize": "100%",
79+
"gridPos": {
80+
"h": 17,
81+
"w": 24,
82+
"x": 0,
83+
"y": 0
84+
},
85+
"id": 2,
86+
"links": [],
87+
"options": {},
88+
"pageSize": 150,
89+
"showHeader": true,
90+
"sort": {
91+
"col": 4,
92+
"desc": true
93+
},
94+
"styles": [
95+
{
96+
"alias": "Time",
97+
"dateFormat": "YYYY-MM-DD HH:mm:ss",
98+
"pattern": "Time",
99+
"type": "hidden"
100+
},
101+
{
102+
"alias": "Certificate",
103+
"colorMode": null,
104+
"colors": [
105+
"rgba(245, 54, 54, 0.9)",
106+
"rgba(237, 129, 40, 0.89)",
107+
"rgba(50, 172, 45, 0.97)"
108+
],
109+
"decimals": 2,
110+
"mappingType": 1,
111+
"pattern": "name",
112+
"preserveFormat": false,
113+
"thresholds": [],
114+
"type": "string",
115+
"unit": "short"
116+
},
117+
{
118+
"alias": "Path in CredHub",
119+
"colorMode": null,
120+
"colors": [
121+
"rgba(245, 54, 54, 0.9)",
122+
"rgba(237, 129, 40, 0.89)",
123+
"rgba(50, 172, 45, 0.97)"
124+
],
125+
"dateFormat": "YYYY-MM-DD HH:mm:ss",
126+
"decimals": 2,
127+
"mappingType": 1,
128+
"pattern": "path",
129+
"thresholds": [],
130+
"type": "string",
131+
"unit": "short"
132+
},
133+
{
134+
"alias": "Expiry Date",
135+
"colorMode": null,
136+
"colors": [
137+
"rgba(245, 54, 54, 0.9)",
138+
"rgba(237, 129, 40, 0.89)",
139+
"rgba(50, 172, 45, 0.97)"
140+
],
141+
"dateFormat": "YYYY-MM-DD HH:mm:ss",
142+
"decimals": null,
143+
"mappingType": 1,
144+
"pattern": "Value #A",
145+
"thresholds": [
146+
"2021-08-02 14:15:53"
147+
],
148+
"type": "number",
149+
"unit": "dateTimeAsIso"
150+
},
151+
{
152+
"alias": "TTL",
153+
"colorMode": "cell",
154+
"colors": [
155+
"rgba(245, 54, 54, 0.9)",
156+
"rgba(237, 129, 40, 0.89)",
157+
"rgba(50, 172, 45, 0.97)"
158+
],
159+
"dateFormat": "YYYY-MM-DD HH:mm:ss",
160+
"decimals": 2,
161+
"mappingType": 1,
162+
"pattern": "Value #B",
163+
"thresholds": [
164+
"30",
165+
"60"
166+
],
167+
"type": "number",
168+
"unit": "d"
169+
}
170+
],
171+
"targets": [
172+
{
173+
"expr": "max(round(max_over_time(credhub_certificate_expires_at{environment=~\"$environment\",deployment=~\"$bosh_deployment\"}[1h]))) by (name, path) * 1000",
174+
"format": "table",
175+
"instant": true,
176+
"intervalFactor": 1,
177+
"legendFormat": "",
178+
"refId": "A"
179+
},
180+
{
181+
"expr": "min(round((max_over_time(credhub_certificate_expires_at{environment=~\"$environment\",deployment=~\"$bosh_deployment\"}[1h]) - time()) / 86400)) by (name, path)",
182+
"format": "table",
183+
"instant": true,
184+
"intervalFactor": 1,
185+
"legendFormat": "",
186+
"refId": "B"
187+
}
188+
],
189+
"timeFrom": null,
190+
"timeShift": null,
191+
"title": "Certificates Expiration Date",
192+
"transform": "table",
193+
"type": "table"
194+
}
195+
],
196+
"schemaVersion": 20,
197+
"style": "dark",
198+
"tags": [
199+
"bosh"
200+
],
201+
"templating": {
202+
"list": [
203+
{
204+
"allValue": null,
205+
"current": {},
206+
"datasource": "${DS_PROMETHEUS}",
207+
"definition": "label_values(firehose_value_metric_rep_capacity_total_containers, environment)",
208+
"hide": 0,
209+
"includeAll": false,
210+
"label": "Environment",
211+
"multi": false,
212+
"name": "environment",
213+
"options": [],
214+
"query": "label_values(firehose_value_metric_rep_capacity_total_containers, environment)",
215+
"refresh": 1,
216+
"regex": "",
217+
"skipUrlSync": false,
218+
"sort": 1,
219+
"tagValuesQuery": "",
220+
"tags": [],
221+
"tagsQuery": "",
222+
"type": "query",
223+
"useTags": false
224+
},
225+
{
226+
"allValue": null,
227+
"current": {},
228+
"datasource": "${DS_PROMETHEUS}",
229+
"definition": "label_values(firehose_value_metric_rep_capacity_total_containers{environment=~\"$environment\"}, bosh_deployment)",
230+
"hide": 0,
231+
"includeAll": false,
232+
"label": "Deployment",
233+
"multi": false,
234+
"name": "bosh_deployment",
235+
"options": [],
236+
"query": "label_values(firehose_value_metric_rep_capacity_total_containers{environment=~\"$environment\"}, bosh_deployment)",
237+
"refresh": 1,
238+
"regex": "",
239+
"skipUrlSync": false,
240+
"sort": 1,
241+
"tagValuesQuery": "",
242+
"tags": [],
243+
"tagsQuery": "",
244+
"type": "query",
245+
"useTags": false
246+
}
247+
]
248+
},
249+
"time": {
250+
"from": "now-6h",
251+
"to": "now"
252+
},
253+
"timepicker": {
254+
"refresh_intervals": [
255+
"5s",
256+
"10s",
257+
"30s",
258+
"1m",
259+
"5m",
260+
"15m",
261+
"30m",
262+
"1h",
263+
"2h",
264+
"1d"
265+
]
266+
},
267+
"timezone": "browser",
268+
"title": "CredHub: Certificate Expiry Date",
269+
"uid": "OQqSNUJZk",
270+
"version": 8
271+
}

manifests/operators/monitor-credhub.yml

+9
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,12 @@
2929
- type: replace
3030
path: /instance_groups/name=prometheus2/jobs/name=prometheus2/properties/prometheus/rule_files/-
3131
value: /var/vcap/jobs/credhub_alerts/*.alerts.yml
32+
33+
# Grafana Dashboards
34+
- type: replace
35+
path: /instance_groups/name=grafana/jobs/name=credhub_dashboards?/release
36+
value: prometheus
37+
38+
- type: replace
39+
path: /instance_groups/name=grafana/jobs/name=grafana/properties/grafana/prometheus/dashboard_folders/name=BOSH?/files/-
40+
value: /var/vcap/jobs/credhub_dashboards/*.json

0 commit comments

Comments
 (0)