We would like to have ES mappings and the Kibana dashboards ready dashboard available when the Sync sync is running within a cluster that has logging enabled.
How do we do this?
ES mappings and Kibana saved objects (saved searches, visualizations and dashboards) all have a user logs in to be stored within some namespace which should be on OpenShift project level Kibana . (and even user level, see TODO for that)
So, the OpenShift project name should be known by the process (APB/Operator/whatever).
We will call Kibana's REST api would like to create the saved searches and the have separate dashboards for each user . But how/when to call that REST api is something we need to think about.
We can call Kibana's REST api: And each dashboard should be created from a dashboard template . In sync apb b. With an operator c. Manually with an Ansible playbook
And, imagine these cases:
* Case#1: OpenShift logging is already enabled, provisioning sync afterwards * Case#2: OpenShift logging is not enabled, provisioned sync already, enabling logging afterwards
( Please note that a ) seems to be simplest way dashboard consists of saved visualizations and it works fine in case#1 saved searches . But it won't work in case#2. (b) would also work in case#1 without hassle. But So, along the operator idea is actually there for case#2 so that we can monitor logging related resources and call the REST api once logging is enabled. There are bunch of things unknown yet: permissions process , fully automatic / semi automatic, ... (c) if that's ok we could ask users are going to run an Ansible playbook manually at least for case#2 have to create those too .
These all depend on product team's input on how important it is to handle case#2 automatically. If See this is a rare thing and it is ok to do some manual work, (c) is probably Gist for instructions from the best AOS logging team: https://gist . github.com/aliok/224490ced7735ef83b6c3f5f49f46504 |
|