+1 , have the exact same issue.
used this guide(InfluxDB+Grafana persistence and graphing)
to configure grafana integration , it’s working perfectly in classic ui but get only white frame in habdroid (android and iOS)
If you do want to use Webview, you can get it to work by creating a wrapper html file which just loads the grafana image, and place this in the conf/html folder. Your Webview should then point to this html wrapper file.
Not sure what else to suggest. I have just literally just tried out both with an Image in sitemap and with an Image in a html wrapper page. Both work fine in my HABdroid (but only whilst in in my internal network - as have an nginx reverse proxy with https + authentication for external access, I haven’t tried to get this to work with my grafana charts yet).
BTW, I’m running on OH2 and my grafana/influxdb is running on a separate virtual machine.
I ran in the same issue with my RPi 3. After debugging it a bit it seems you need PhantomJS installed on the RPi 3 to get rendered images. A solution is provided by fg2it in the InfluxDB+Grafana topic. I haven’t tried the solution myself yet.
This is working fine for me (but I access Grafana directly) but it surely takes some time (a few seconds). The issue you are pointing at is likely to be guilty, but it is not related to grafana. The change should be done in the proxy (it is now, since the issue is closed)
Yes, you are right. But, phantomjs is shipped with Grafana (.deb and tar.gz) in official releases (not working on pi) and in my .deb and .tar.gz. So, if you are using these, you should not have this problem.
So, how did you install Grafana ? I saw some notes on building Grafana for raspberry pi that lead to changes in the build process ending up to a missing PhantomJs binary.
By the way, if you used a .deb package, you should have phantomjs located in /usr/share/grafana/vendor/phantomjs/phantomjs (not on path by default). So you should have something like
On which port does Grafana is expected to listen in your configuration ? By default it is 3000 and I would expect to see localhost:3000/ in the url not simply localhost/.
Did you try to access grafana directly, without your reverse proxy ? If you can do that, you could easily confirm that the problem is with your reverse proxy configuration.
After trying a lot of configuration options, I did get rendering panels with HTTPS, basic auth and the reverse proxy working.
What helped was checking the Apache access log. It shows you what calls PhantomJS is trying to make on your server and what IP/username it is using. PhantomJS is added to the user agent string of the calls it makes. PhantomJS is used as a headless browser by Grafana to make a screenshot of the panel.
I now use the following root_url in /etc/grafana.ini:
root_url = %(protocol)s://%(domain)s/grafana/
When using the default protocol/domain this makes PhantomJS call http://localhost:80/grafana/
The VirtualHost for port 80 in my Apache configuration uses the following Location options: