We want to publish prometheus-exporter-operator on OperatorHub.io through OLM, so anyone can easily deploy it without manually managing yamls, so anyone can monitor databases and AWS services (cloudwatch_exporter) with prometheus, can have useful grafana dashboards and some prometheus alerts examples. 3scale make usage of different DBs, and its monitoring is very important. At least a 3scale API management instance has:
a mysql db for system
a postgresql db for zync
a redis db for system
a redis db for backend
a memcached for system
a sphinx for system
With our experience using prometheus, grafana, and different exporters, we want to apply some improvements to the operator before publishing it on OperatorHub.io
How?
It is required to:
Update operator-sdk version from 0.13.0 to v0.18.1 (last one)
Integrate dashboards into operator:
Having a way to detect if not-default api like ServiceMonitor/GrafanaDashboard exists on the cluster (to not have an failing task)
Implement dashboards per operator instance (namespace), so it is possible to deploy the operator on a different namespace (different version), having possibly different dashboards version, without collision on dashboards names
Parametrize liveness/readiness probes per exporter, with possibility to override values
Fix cloudwatch_exporter (is not working at the moment), and provide more examples
Add cloudwatch dashboard with monitoring at least of ElastiCache, RDS, ALB, NLB, ELB, ElasticSearchDomain
Why?
We want to publish prometheus-exporter-operator on OperatorHub.io through OLM, so anyone can easily deploy it without manually managing yamls, so anyone can monitor databases and AWS services (cloudwatch_exporter) with prometheus, can have useful grafana dashboards and some prometheus alerts examples. 3scale make usage of different DBs, and its monitoring is very important. At least a 3scale API management instance has:
With our experience using prometheus, grafana, and different exporters, we want to apply some improvements to the operator before publishing it on OperatorHub.io
How?
It is required to:
type
), or enum choices ontype
varRequirements
Acceptance Criteria
N/A
Notes
N/A