Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Share Dashboard Snapshot #1623

Closed
torkelo opened this issue Mar 21, 2015 · 11 comments
Closed

Share Dashboard Snapshot #1623

torkelo opened this issue Mar 21, 2015 · 11 comments
Milestone

Comments

@torkelo
Copy link
Member

torkelo commented Mar 21, 2015

Have implemented a proof of concept feature that would not require that much more work to make it production ready (maybe 1 day or to).

It allows you to snapshot a dashboard with the data for all panels inside the dashboard json. The Grafana 2.0 backend will then save that using a guid like key (I think of it like a gist).

You then get a link that anyone can use that (no authentication), they will be able to see the Dashboard data. But only the data that was visible when you did the snapshot.

I am thinking about extending this to also include a public site that can receive and host these dashboards so you can share them to people who do not have access to your internal grafana server. like a "http://snapshots.grafana.org/4z1U4geCwfM0cENt6G0j"

out

The snapshot name will just change the name of the dashboard in the snapshot.

Feedback would be great. Is some kind of Data anonymization going to be useful (to replace series names with xxx_1 etc, will make the graphs a lot harder to interpret, and there could be sensitive names in graph panel titles etc. But I guess that is up the user knowing when they create the snapshot.

I am also thinking about having an Expire field to specify how long the dashboard snapshot should exist, that way you can share data with sensitive data to an external client (the dashboard will be visible for anyone with the link, but the dashboard snapshot will be removed after the specified time period, anything from an hour to a days, weeks for example)

@torkelo torkelo added this to the 2.0 milestone Mar 21, 2015
@syepes
Copy link
Contributor

syepes commented Mar 21, 2015

+1 Great feature.

@rafrey
Copy link

rafrey commented Mar 23, 2015

👍 I will definitely use this!

Will 2.0 still leverage apache/ngnix? If something like apache/ngnix is still being used it would be nice if there were a way to host dashboard snapshots separately from the rest of Grafana (so someone could bind the site for Grafana to a private IP address and the site for the dashboard snapshots to a public facing IP address). In some companies getting approval to host anything publicly (different from making it publicly available) can be very prohibitive, this way at least they can say they are hosting it on their own infrastructure. I could even see some IT departments setting up a second instance and only hosting dashboard snapshots on it in order to make them publicly available but still keep them hosted on their own infrastructure if the ability to export/import dashboard snapshots between the public and private instances exists (which I assume it does if you can push them to a public site that Grafana hosts). In the case that you have internalized hosting into the solution and replaced apache/nginx then providing this ability as a configuration option would make it pretty painless for the end user to implement.

It's a nice to have, so if it proves to be difficult it may only deserve a low priority ranking in a backlog. Creative IT departments are likely to come up with their own solution to address this if you don't provide one.

If you have suggestions on a better way to accomplish the same goal I'd love to hear your thoughts.

FYI I'd like to include Grafana in promotional materials (printed and video), do you have any suggestions for screen capture/printing and capturing video (I've noticed that you made some tutorials and have used video and stills in some of your presentations and on your website)?

Your timing is impeccable, thanks!

@rafrey
Copy link

rafrey commented Mar 23, 2015

OK I see now you are hosting on your own web server in 2.0, it would be really nice if you could allow users to configure a different IP for the dashboard snapshots (much more concise requirement, sorry for the long winded response above).

@rafrey
Copy link

rafrey commented Mar 23, 2015

Also 👍 on built in retention. If you could use a retention policy to default the expire field as well, and then perhaps display a days remaining on the dashboard snapshot somewhere (flash a banner at the top for a few seconds on open or something) and maybe even provide a renew option for certain security roles...just some thoughts. Having built in auth opens new doors. Personally, I think you should just display a warning about sensitive data and point the user in the direction of the alias functions when they create the snapshot; IMHO I think obfuscation/anonymity should be the user's responsibility. If they host this internally then setting up a proxy with auth in front of it and restricting access altogether will probably end up being the way to go. So many problems are introduced with modifying target/metric names, template variables, etc. when you use *bywildcard and grouping based functions in graphite, I'm not sure how it would really work?

@costimuraru
Copy link

👍

@torkelo
Copy link
Member Author

torkelo commented Mar 23, 2015

Snapshot publishing is working, I have setup a snapshots.raintank.io site (payed for by raintank), that will host the public snapshots. Only need to configure a so this domain is behind a fastly CDN (so it will be super fast), and a valid SSL cert.

Next up is adding an expiration time, and an option to change the public publish endpoint from snapshots.raintank.io to something else (like @rafrey talked about, a away for companies that are very sensitive about sharing data hosted by others)

snapshot2

@mattttt
Copy link
Contributor

mattttt commented Mar 25, 2015

In order to make it a bit clearer as to what is actually happening with the snapshot, wanted to adjust the modal to be more descriptive (without getting in the way of the high-frequency user):

snapshot-modal-rev3

@mattttt
Copy link
Contributor

mattttt commented Mar 25, 2015

@rafrey Drop me an email and I can give you a rundown of some screengrab/animated gif methods.

@psujit
Copy link

psujit commented Mar 7, 2016

Can we restrict the share option in the snapshot? I am showing the snapshot on my website and would not want the share option to be available to the user. The user can just view the graph and edit the parameters of the graph. But he should not be able to share it.

@torkelo
Copy link
Member Author

torkelo commented Mar 7, 2016

@psujit in Grafana 3.0 you can disable external snapshot sharing

@psujit
Copy link

psujit commented Mar 7, 2016

Thanks a lot for your input! I will update the Grafana version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants