cloudfoundry / stratos

Stratos: Web-based Management UI for Cloud Foundry and Kubernetes
Apache License 2.0
244 stars 132 forks source link

Add support for matomo instrumentation #1821

Closed gberche-orange closed 5 years ago

gberche-orange commented 6 years ago

Detailed Description

This is a proposal to add an opt-in option to enable operators to enable matomo instrumention of their stratos deployment. This would leverage the JS tracking client and through single-page integration pattern

Context

Matomo (previously Piwik) is an open source web analytics tool (in similar categories to Saas services such as Google analytics). See background into https://matomo.org/what-is-matomo/

Instrumenting Stratos UI using Matomo would benefit to the stratos operators to learn about usage of their stratos deployment (unique visitors, which are pages most visited, geolocation, rate of re loggings...)

@hamzahamidi at Orange is interested to contribute this support .

richard-cox commented 6 years ago

Thanks for submitting this proposal. User analytics for stratos is something we'd like to look into but isn't on our immediate road map. Would this look to implement the feature in our current master (v1) or next version (v2-master)?

We haven't encountered Matomo before, one big question that springs to mind is where the data goes. If it's to a central service do they provide a public internet facing solution and the reverse, a self hosted one? We'd like to support a single analytics tool and need to cover the case for both small projects that are all public cloud hosted to large enterprise air-gapped environments.

@troytop, @nwmac Have we investigated this kind of thing in versions gone by?

gberche-orange commented 6 years ago

thanks @richard-cox for your reply.

Would this look to implement the feature in our current master (v1) or next version (v2-master)?

I suspect the instrumentation will be quite light, so the feature could be implemented in both v1 (to get early feedback from current user base) and v2 (for middle/long term support).

We haven't encountered Matomo before, one big question that springs to mind is where the data goes. If it's to a central service do they provide a public internet facing solution and the reverse, a self hosted one?

Matomo is an opensource solution that supports both on-prem self hosted installation, and Saas public commercial hosting

We'd like to support a single analytics tool and need to cover the case for both small projects that are all public cloud hosted to large enterprise air-gapped environments.

I understand Matomo covers the use cases above.

I wonder however whether targetting support for a single unique analytics system is a good approach to meet probable diversity of user needs:

BTW, Orange is working on contributing automated operations for matomo installation that could be leveraged by Stratos users.

richard-cox commented 6 years ago

@gberche-orange Ok, it sounds like this is heading in the right direction

  1. Analytics integration with the console should be abstracted such that a range of tools can be used.
  2. Matomo sounds like a reasonable starting point/example tool to integrate with. The feature should include basic documentation including how to set up console analytics with Matomo (types of data to gather, configuration, etc).
  3. It would also be good to prove out the abstraction layer by also having an example of integration with google analytics.

My personal knowledge of these types of tools is limited. Would it be safe to say step 1 is possible and can be in scope for this feature?

On a different note, @nwmac has organised a call for all those interested in Stratos and our progress. I think you may be in the cf slack channel where this was annouced, but just in case..

Now that the Angular 2 work is in a good place (still work to do) - I would like to schedule a Stratos meeting next Thursday - 12th April. 16:30 BST (17:30 CEST, 08:30 PDT). This will be an introductory call - we'll give an update on where things are and what is being worked on. There will be time for questions and discussion. We'll aim to take 30-45mins. We'll use GoToMeeting - https://www.gotomeet.me/nwmac

gberche-orange commented 6 years ago

thanks @richard-cox.

Would it be safe to say step 1 is possible and can be in scope for this feature?

Definitively.

On a different note, nwmac has organised a call for all those interested in Stratos and our progress.

I wish I could join the stratos meeting on april 17th but I'll be out of office. @hamzahamidi will join.

I'll try to attend the CF summit stratos session the following week. I haven't yet seen a project office hour for stratos. Would the summit be a good time to exchange around orange contribution proposals to stratos ?

nwmac commented 6 years ago

@gberche-orange Unfortunately the tech team won't be at the CF Summit - so we were unable to schedule an office hours session, - otherwise this would have been ideal.

Given you can't make the 17th, why don't we schedule a call with you and we can go over this and the 1st-class service support issue as well

gberche-orange commented 6 years ago

Possible next step for an analytics integration (matomo as well as google analytics support) :

Analytics for Angular applications. http://angulartics.github.io/angulartics2/ with repo at https://github.com/angulartics/angulartics2 Note that we have a locally running integration with stratos v1 leveraging instead Analytics for AngularJS applications. http://angulartics.github.io/ with repo at https://github.com/angulartics/angulartics

kreinecke commented 5 years ago

Hi @gberche-orange Hi Guillaume, I am currently reviewing our pending community issues. We don't currently have capacity for this one and prefer not to include analytics support at this time. If it is still needed, feel free to fork our repo. Thanks, Kate.