NREL / api-umbrella

Open source API management platform
http://apiumbrella.io
MIT License
2.01k stars 324 forks source link

Improve Dashboard page #62

Open brylie opened 9 years ago

brylie commented 9 years ago

Story

As an API Manager I want to see data visualizations when I click on the dashboard link So that I understand how my API is being used

Challenge

The Dashboard screen does not display any information. When a user clicks to view the dashboard and sees a blank page, it is somewhat disorienting.

Components

brylie commented 9 years ago

jslate.com is a good example for a dashboard interface where users can create and customise multiple dashboards. I.e. any given user/organization may have the need for multiple dashboards.

brylie commented 9 years ago

The Dashboard project by Open Knowledge Foundation may be useful.

brylie commented 9 years ago

Responsive Dashboard has a clean, responsive interface.

brylie commented 9 years ago

There is a nice collection of Responsive Bootstrap Dashboards

55 commented 9 years ago

Dashboards by Keen IO looks really nice. Also, I've found sDasboard, which can be used for a dynamic customization and rearrangement of the dashboard.

brylie commented 9 years ago

What are your thoughts on Kibana, as a potential analytics platform for API Umbrella? How could the ELK components be of benefit to the API Umbrella platform?

mattmo commented 9 years ago

I really like the idea of using Kibana, given that the current analytics system for API umbrella is based on Elasticsearch.

On Mon, Nov 24, 2014 at 4:39 PM, Brylie Christopher Oxley < notifications@github.com> wrote:

What are your thoughts on Kibana http://www.elasticsearch.org/guide/en/kibana/current/rows-and-panels.html, as a potential analytics platform for API Umbrella? How would the Elasticsearch and Logstash components be of any benefit to the API Umbrella platform?

— Reply to this email directly or view it on GitHub https://github.com/NREL/api-umbrella/issues/62#issuecomment-64291487.

GUI commented 9 years ago

Yeah, we've considered Kibana in the past (see https://github.com/NREL/api-umbrella/issues/15 and https://github.com/18F/api.data.gov/issues/136#issuecomment-61127743). I admittedly haven't gotten super deep with Kibana when I've looked at in the past, but I think it's definitely worth another look.

As Matt mentioned, since we already store all our analytics in Elasticsearch, Kibana's something that could provide a lot of functionality out of the box. I have a few general hesitations based on the previous times I've looked into it, but again, I think it's worth a deeper dive. But just to document things, here's what I've seen in the past and what my hesitations have been:

If anyone has more Kibana experience, it would be great to know what you're general experiences with it have been. Or if you have any thoughts on any of the above issues, those would also be great to hear. But I definitely want to give it another gander, and I plan to take a closer look at Kibana 4.

brylie commented 9 years ago

How to integrate with our admin permissions

I am not very familiar with Elasticsearch, but it seems that the access control might be performed using scoped aggregations. I.e. each user query has a server-side scope such as apiOwner: userId or accessList: ['user1', 'groupA', 'organizationX'], so that only authorized API data is returned.

brylie commented 9 years ago

How to integrate with our admin permissions

After a bit more searching, it seems Elasticsearch are creating a new project called Shield, which has role-based access control.

brylie commented 7 years ago

We recently rolled out updates for our primary stakeholder, api.data.gov, which limits each administrator's view of analytics so each administrator can only view their own organization's analytics (so Agency A admins can only view the analytics for Agency A and not the analytics for Agency B).

@GUI, how does API Umbrella restrict access to Organization analytics? Where in the code should we look? We want to align our Apinf project with API Umbrella, where possible, and this is a shared need.

cc: @bajiat @ccsr