Implement 'service health dashboards' part of maturity model
In gitlab-com/runbooks!3144 (merged), we skipped this criterion because it was not blocking, but we should come back and fix it.
This criterion is intended to say if we have dashboards for a service, and if so, link to them. This should be possible pretty easily, except that jsonnet (AFAIK) doesn't let you check the filesystem - and even if we could check the filesystem, we can't generate a link from that easily as Grafana itself determines the URL of a dashboard.
We can apply the approach we are doing with services/service_catalog.libsonnet
. The file includes service_catalog.json
generated dynamically outside. Similarly:
- We can write a small bash script to loop through all the services, assert the existence of
dashboards/[service]/*.dashboard.jsonnet
, write into ametrics-catalog/service_health_dashboards.json
- Include that script to
services/generate-json.sh
, and the generated to gitginore - Include that file into
metrics-catalog/maturity.jsonnet
and evaluate the criteria accordingly.
We can even push this even further by counting the number of dashboards a particular service has, and push all of the dashboard links to the evidence list.