Page MenuHomePhabricator

Upgrade to Grafana 7
Open, Needs TriagePublic

Description

As per title, we shall upgrade to Grafana 7.

Grafana 7.1.3 is available at https://grafana-next.wikimedia.org for testing.

Please note that dashboards are currently not synced from https://grafana.wikimedia.org to not overwrite the Grafana 7 DB schema.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptWed, Jul 29, 3:37 PM
fgiunchedi moved this task from Inbox to Backlog on the observability board.Fri, Jul 31, 12:33 PM

Change 618069 had a related patch set uploaded (by Filippo Giunchedi; owner: Filippo Giunchedi):
[operations/puppet@production] grafana: temp disable grafana db sync ahead of upgrade

https://gerrit.wikimedia.org/r/618069

fgiunchedi moved this task from Backlog to Doing on the User-fgiunchedi board.Mon, Aug 3, 4:20 PM

I started looking into this. The upgrade itself seems to work fine, however we'll have to ship the https://github.com/grafana/grafana-image-renderer (GIR) if we want to be able to export/share static images. GIR installed via grafana-cli plugins install grafana-image-renderer means having an embedded copy of chromium (leaving aside the fact that we'll have to ship the plugin offline, packaged somehow) which I don't think we really want to do.

Other options as I see them:

  1. Use GIR releases without chromium (but already built), e.g. at https://github.com/grafana/grafana-image-renderer/releases/download/v2.0.0/plugin-linux-x64-glibc-no-chromium.zip (and packaged)
  2. Build GIR without chromium ourselves (haven't tried yet) (and packaged)

Soon we'll have Chromium embedded in bootloaders as well...

What is the difference of GIR releases without chromium compared to what grafana-cli would fetch/install? Does it lose some functionablity?

One option for deploying the Grafana plugin(s) (in case more are expected) is a similar approach to the Elastic plugins maybe?

AFAICT there's no difference in the plugin's functionality, GIR has support for using the system's chromium instead of the embedded one (assuming the chromium's version are compatible)

Yes we could ship the plugin offline similarly to what we do with Elastic; we have one more plugin ATM that we ship via scap (operations/software/grafana/simple-json-datasource) although I think switching to Debian packages and ship all plugins would be more convenient

Using the chromium package as packaged in Debian sounds good to me, the only risk is that new versions potentially break the headless setup (but in that case Grafana would also need to update their packages, so seems manageable).

I gave the Debian-shipped Chromium a try but to not avail, will be using the plugin-provided Chromium instead

Change 618953 had a related patch set uploaded (by Filippo Giunchedi; owner: Filippo Giunchedi):
[operations/debs/grafana-plugins@master] Debian packaging for Grafana plugins

https://gerrit.wikimedia.org/r/618953

Change 618069 merged by Filippo Giunchedi:
[operations/puppet@production] grafana: temp disable grafana db sync ahead of upgrade

https://gerrit.wikimedia.org/r/618069

fgiunchedi updated the task description. (Show Details)Tue, Aug 11, 10:34 AM
fgiunchedi updated the task description. (Show Details)

Change 619451 had a related patch set uploaded (by Filippo Giunchedi; owner: Filippo Giunchedi):
[operations/puppet@production] profile: switch Grafana plugins to Debian package

https://gerrit.wikimedia.org/r/619451

Ladsgroup added a subscriber: Ladsgroup.