Re: mgr/dashboard Grafana Configuration Modes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Paul,

The decision to use a proxy reaches back to openATTIC, when we first
integrated the grafana dashboards.

We tried to embed the Grafana dashboards and I was told that the
responsible frontend developer had problems with the integration due to
cross origin requests. We, for some reason, also wanted the dashboards
to only be visible to authenticated users. Hence we decided to write a
proxy to overcome this hurdles. The proxy not only enables the frontend
to access URLs on the same origin without having to log in manually, but
also enables us to rewrite the contents of the responses from Grafana
before they are passed to the frontend, which gave us the possibility to
adapt Grafana in a way we weren't able otherwise. openATTIC rewrites the
responses to a level that Grafana doesn't have to be configured to run
behind a reverse proxy (although it does that) and hence can be used
outside of openATTIC, but that comes at a price: We can only ensure that
the proxy works for a specific Grafana version and every update of
Grafana could possibly break the proxy. We knew that and still decided
to go that path as openATTIC dropped support for other distributions
than SUSE Linux Enterprise and we knew when Grafana would be updated.

Naturally, we didn't go that path with the Ceph Dashboard as we want and
have to support a wider range of Grafana versions. Therefore, we do not
rewrite the content in that way but, on the other hand, have to
configure Grafana to run behind a reverse proxy. (To do so we only have
to change a single line in the Grafana configuration: root_url).

In openATTIC, we also use the content rewriting capabilities of the
proxy to hide unwanted controls by injecting CSS to the response of
Grafana. This might also break in newer Grafana versions, but is way
less prone to break (also because we only add rules and do not change
existing ones). This is also what we talked about recently in one of our
daily meetings.

That said, I think your points are very valid. If we don't need to
authenticate by using an anonymous user and find a way to work with
cross origin requests, we don't have to configure Grafana to run behind
a reverse proxy anymore and Grafana would be usable outside of the Ceph
Dashboard. Of course, it might happen that we need or want to hide
something (like controls) from the users but aren't able to anymore, but
that may be okay if we'll use anonymous users who don't have or need
many permissions anyway. I think this would need to be evaluated.

Patrick


On 31.08.2018 00:07, Paul Cuzner wrote:
> Hi "dashboarders" :)
>
> Apologies for missing the daily calls where this has been raised, but
> I'm trying to understand the pro's and cons of the different ways in
> which we can enable grafana integration.
>
> As I understand it, we can use either proxy mode or anonymous mode.
> However, what I don't understand is the advantages of proxy mode over
> anonymous -  so I'm asking for help!
>
> For anonymous I see the following advantages;
> + doesn't need ceph to hold grafana credentials, grafana just has
> anonymous mode enabled
> + simplifies the integration (reduces the workaround code)
> + allows the grafana instance to be a shared instance, not solely
> dedicated to Ceph
> + admins can easily tweak dashboards (by using admin in the normal
> grafana instance)
> + may promote quicker iteration on fine tuning dashboard content
> within the community if the dashboards are more easily
> editable/manageable
>
> The last two bullet points I see as big advantages to promote
> community involvement.
>
> So can anyone highlight the benefits of proxy mode?
>
> Thanks,
>
> Paul C
>

-- 
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg)


Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux