influxdb
influxdb copied to clipboard
Public, shareable dashboards and charts
Proposal: Give users a way to easily share dashboards and individual charts without requiring a login.
Shared dashboards should be accessible via a relatively short, simple URL in one of the following formats.
For InfluxDB OSS 2:
hostname:9999/chart/GUID.js
Example:
localhost:9999/chart/33533452sfa345235scxgdsfg.js
For InfluxDB Cloud 2:
influxdata.com/chart/GUID.js
Example:
influxdata.com/chart/33533452sfa345235scxgdsfg.js
Current behavior:
Currently, sharing charts requires logging into InfluxDB, which in turn requires logging into an InfluxDB account.
Desired behavior:
There are two personas below:
- InfluxDB admin: a person who has admin access to an InfluxDB instance and knows how to setup InfluxDB dashboards.
- Chart consumer: a person who views InfluxDB charts. They don't necessarily have admin access to InfluxDB, nor how to set up InfluxDB dashboards.
An InfluxDB admin clicks on an icon in a dashboard or individual chart, which copies a URL to the clipboard. user can then past it into a URL, Slack message, email, text, or other location.
A chart consumer clicks the URL, and their browser sees a live-updated version of the chart. The chart consumer can embed the URL into a webpage using the
This chart is live updated, defaulting to the same parameters, refresh rate, and time window as the original.
To simplify the initial version of this feature, do not allow chart consumers to adjust the timeframe, refresh rate, or parameters.
Users should NOT, however, see the underlying query, let alone edit it, for security reasons.
Do not rely on iframes to embed this chart, since those have security risks. Here's on article: https://medium.com/@bluepnume/iframes-are-just-terrible-heres-how-they-could-be-better-974b731f0fb4
By making this a .js file, similar to GitHub gists, we should avoid these security issues.
Alternatives considered:
We could use the Telegraf output to DataDog, and use DataDog's public sharing capability:
https://docs.datadoghq.com/dashboards/sharing/#screenboards
... but that means a customer needs to create a DataDog account, which is time consuming and expensive.
Use case: Why is this important (helps with prioritizing requests)?
Share time-series data stored in InfluxDB broadly within an organization, without requiring a login. Other charting software lets you do that. The more people who can access your charts, the more value you unlock in your data to drive smart decisions.
Ultimately, charts are a form of communication, and they need to mesh with other digital communcation mechanisms we commonly use: Slack, email, Jira, GitHub, web pages, etc.
In addition to what DataDog does (above), here's what Grafana does...
Share an entire dashboard: https://grafana.com/docs/grafana/latest/reference/share_dashboard/
Share a panel (analogous to an InfluxDB cell): https://grafana.com/docs/grafana/latest/reference/share_panel/
And here's what Domo does:
https://knowledge.domo.com/Engage/Sharing_Content_Outside_of_Domo/Sharing_Cards_Outside_of_Domo_Using_Domo_Embed
I'm not sure what challenges would be present, but for security reasons (including not to cache data on the client side), could this be rendered server side?
For PAYG customers, are we ok that they will be charged for the query every time their shared dashboard is viewed, or do we need some special billing considerations? Do the other products that have this feature charge for queries?
@rawkode I'd be fine with server-side rendering of the image. It wouldn't be live updated, but a web developer could have their page auto-update periodically.
@barbaranelson Yes, this runs more queries and thus drives up query-related billing costs. As you know, this is the same as with dashboards, tasks, and alerts. This argues for a real-time billing display in Cloud 2, and perhaps optional alerts if billing charges per day spiles above a certain amount.
BUMP!
To build upon the original feature request, public dashboards could be cached and periodically updated on a schedule determined by the proposed InfluxDB Admin role.
Is there a way to share dashboards privatelly, i.e. with login? Making the dashboard public would be great, but even the possibility to share the dashboard without sharing the rest of the UI would be awesome. I mean, I would like to create a user that only has access to the dashboard, without accessing the queries or the bucket.
For me this is still a big pain point as a developer I would love to render the graphs server side as a PNG or SVG I know I used to be able to do this with RRD-tool would be nice to see the same kind of feature from influx
Still hoping to see this option added. I would like to use InfluxDB as a wallpaper on my Windows 11 desktop. The open source project called Lively allows you to set a webpage URL as your wallpaper, but I cannot type into the wallpaper to login to InfluxDB.
If InfluxDB enabled public dashboard URLs, I could simply plug in the URL directly to the dashboard, and then I would not have to type into the web interface at all with Lively.
This feature is currently available in InfluxDB Cloud. I don’t know if or when it will be added to InfluxDB OSS.
This feature is currently available in InfluxDB Cloud. I don’t know if or when it will be added to InfluxDB OSS.
@sanderson Is this true? I see there is now an auto-refresh (limited to 30 days), but you must still be logged in. This is not a publicly sharable dashboard. Or am I missing something?
I can't believe this hasn't been implemented yet. Just set my first db and I can't share the results. What's the point? Instead you can share an instance of a Notebook (to whom?)
This discussion might yield a good compromise for you: https://github.com/grafana/grafana/discussions/49253
Here's a use-case where this would be useful: I have an off-grid cabin, where I use a tablet in Kiosk mode to show a dashboard with solar power monitoring stats. InfluxDB 2 has a very nice dashboard UI, and I'd love to have a persistent display of this, without it requiring a login.
I also hope to have a dashboard that does not require login
This is the most important feature and why I´m moving from Influx to Grafana. Also, you can´t display a Dashboard in mobile or tablet very well, so I had to make a web-app in streamlit to do it for my clients. Also, you can´t create users with different roles nor permissions.