I am running Grafana v6.3.3 (commit: 84d0a71) via the official grafana/grafana:6.3.3
Docker image. It includes PhantomJS version 2.1.1.
I tried this with grafana/grafana:6.2.0
as well, and had similar results.
I have Grafana configured with an S3 bucket as the external snapshot storage, but I have tried this with local
as well.
When I visit a dashboard and try to generate a snapshot, I get the “Grafana / Server Error” page with a message that says “Rendering failed.”
I see something like this in the Grafana logs:
t=2019-08-28T04:29:00+0000 lvl=info msg=Rendering logger=rendering path="d-solo/wleFcFKZz/rabbitmq-system-alerts?panelId=2&orgId=1&from=1566944939228&to=1566966539228&width=1000&height=500&tz=Asia%2FSaigon"
t=2019-08-28T04:29:00+0000 lvl=dbug msg="executing Phantomjs" logger=rendering binPath=/usr/share/grafana/tools/phantomjs/phantomjs cmdArgs="[--ignore-ssl-errors=true --web-security=true --local-url-access=false --debug=false /usr/share/grafana/tools/phantomjs/render.js url=http://grafana.staged-by-discourse.com/d-solo/wleFcFKZz/rabbitmq-system-alerts?panelId=2&orgId=1&from=1566944939228&to=1566966539228&width=1000&height=500&tz=Asia%2FSaigon&render=1 width=1000 height=500 png=/var/lib/grafana/png/4LFDe2nowB9C7AlySBDK.png domain=localhost timeout=60 renderKey=bHcGj23RQVzMm1ubjT4Or7UcuJScatiT]" timezone=Asia/Saigon
t=2019-08-28T04:29:01+0000 lvl=dbug msg="Scheduler: Putting job on to exec queue" logger=alerting.scheduler name="File descriptors used is abnormally high" id=2
t=2019-08-28T04:29:01+0000 lvl=dbug msg="Creating new client" logger=tsdb.elasticsearch.client version=70 timeField=@timestamp indices=metricbeat-*
t=2019-08-28T04:29:01+0000 lvl=dbug msg="Executing multisearch" logger=tsdb.elasticsearch.client search requests=1
t=2019-08-28T04:29:01+0000 lvl=dbug msg="Encoding batch requests to json" logger=tsdb.elasticsearch.client batch requests=1
t=2019-08-28T04:29:01+0000 lvl=dbug msg="Encoded batch requests to json" logger=tsdb.elasticsearch.client took=144.294µs
t=2019-08-28T04:29:01+0000 lvl=dbug msg="Executing request" logger=tsdb.elasticsearch.client url="https://elasticsearch.XXX.XXX.com:9200/_msearch?max_concurrent_shard_requests=5" method=POST
t=2019-08-28T04:29:01+0000 lvl=dbug msg="Request configured to use basic authentication" logger=tsdb.elasticsearch.client
t=2019-08-28T04:29:01+0000 lvl=dbug msg="Executed request" logger=tsdb.elasticsearch.client took=84.359632ms
t=2019-08-28T04:29:01+0000 lvl=dbug msg="Received multisearch response" logger=tsdb.elasticsearch.client code=200 status="200 OK" content-length=393007
t=2019-08-28T04:29:01+0000 lvl=dbug msg="Decoding multisearch json response" logger=tsdb.elasticsearch.client
t=2019-08-28T04:29:02+0000 lvl=dbug msg="Decoded multisearch json response" logger=tsdb.elasticsearch.client took=214.212203ms
t=2019-08-28T04:29:02+0000 lvl=dbug msg="Job Execution completed" logger=alerting.engine timeMs=-598.462 alertId=2 name="File descriptors used is abnormally high" firing=false attemptID=1
t=2019-08-28T04:29:03+0000 lvl=dbug msg="Scheduling update" logger=alerting.scheduler ruleCount=1
t=2019-08-28T04:29:08+0000 lvl=dbug msg="Phantomjs output" logger=rendering out=
t=2019-08-28T04:29:08+0000 lvl=dbug msg="Phantomjs error" logger=rendering error="signal: killed"
t=2019-08-28T04:29:08+0000 lvl=eror msg="Phantomjs exited with non zero exit code" logger=rendering error="signal: killed"
t=2019-08-28T04:29:08+0000 lvl=eror msg="Rendering failed." logger=context userId=1 orgId=1 uname=admin error="signal: killed"
t=2019-08-28T04:29:08+0000 lvl=eror msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=GET path=/render/d-solo/wleFcFKZz/rabbitmq-system-alerts status=500 remote_addr=10.90.0.6 time_ms=7318 size=1722 referer="http://grafana.XXX.com/d/wleFcFKZz/rabbitmq-system-alerts?panelId=2&fullscreen&edit&orgId=1"
When I enter the Grafana container and execute the PhantomJS command shown above with debug=true
, I get something like this:
grafana@grafana-9757c88ff-fjsjd:/usr/share/grafana$ /usr/share/grafana/tools/phantomjs/phantomjs --ignore-ssl-errors=true --web-security=true --local-url-access=false --debug=true /usr/share/grafana/tools/phantomjs/render.js url=http://grafana.staged-by-discourse.com/d-solo/wleFcFKZz/rabbitmq-system-alerts?panelId=2&orgId=1&from=1566944939228&to=1566966539228&width=1000&height=500&tz=Asia%2FSaigon&render=1 width=1000 height=500 png=/var/lib/grafana/png/4LFDe2nowB9C7AlySBDK.png domain=localhost timeout=60 renderKey=bHcGj23RQVzMm1ubjT4Or7UcuJScatiT
[1] 187
[2] 188
[3] 189
[4] 190
[5] 191
[6] 192
[7] 193
[3] Done from=1566944939228
[4] Done to=1566966539228
grafana@grafana-9757c88ff-fjsjd:/usr/share/grafana$ 2019-08-28T04:33:54 [DEBUG] CookieJar - Created but will not store cookies (use option '--cookies-file=<filename>' to enable persistent cookie storage)
2019-08-28T04:33:56 [DEBUG] Set "http" proxy to: "" : 1080
2019-08-28T04:33:56 [DEBUG] Phantom - execute: Configuration
2019-08-28T04:33:56 [DEBUG] 0 objectName : ""
2019-08-28T04:33:56 [DEBUG] 1 cookiesFile : ""
2019-08-28T04:33:56 [DEBUG] 2 diskCacheEnabled : "false"
2019-08-28T04:33:56 [DEBUG] 3 maxDiskCacheSize : "-1"
2019-08-28T04:33:56 [DEBUG] 4 diskCachePath : ""
2019-08-28T04:33:56 [DEBUG] 5 ignoreSslErrors : "true"
2019-08-28T04:33:56 [DEBUG] 6 localUrlAccessEnabled : "false"
2019-08-28T04:33:56 [DEBUG] 7 localToRemoteUrlAccessEnabled : "false"
2019-08-28T04:33:56 [DEBUG] 8 outputEncoding : "UTF-8"
2019-08-28T04:33:56 [DEBUG] 9 proxyType : "http"
2019-08-28T04:33:56 [DEBUG] 10 proxy : ":1080"
2019-08-28T04:33:56 [DEBUG] 11 proxyAuth : ":"
2019-08-28T04:33:56 [DEBUG] 12 scriptEncoding : "UTF-8"
2019-08-28T04:33:56 [DEBUG] 13 webSecurityEnabled : "true"
2019-08-28T04:33:56 [DEBUG] 14 offlineStoragePath : ""
2019-08-28T04:33:56 [DEBUG] 15 localStoragePath : ""
2019-08-28T04:33:56 [DEBUG] 16 localStorageDefaultQuota : "-1"
2019-08-28T04:33:56 [DEBUG] 17 offlineStorageDefaultQuota : "-1"
2019-08-28T04:33:56 [DEBUG] 18 printDebugMessages : "true"
2019-08-28T04:33:56 [DEBUG] 19 javascriptCanOpenWindows : "true"
2019-08-28T04:33:56 [DEBUG] 20 javascriptCanCloseWindows : "true"
2019-08-28T04:33:56 [DEBUG] 21 sslProtocol : "default"
2019-08-28T04:33:56 [DEBUG] 22 sslCiphers : "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-RC4-SHA:ECDHE-RSA-RC4-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:RC4-SHA:RC4-MD5"
2019-08-28T04:33:56 [DEBUG] 23 sslCertificatesPath : ""
2019-08-28T04:33:56 [DEBUG] 24 sslClientCertificateFile : ""
2019-08-28T04:33:56 [DEBUG] 25 sslClientKeyFile : ""
2019-08-28T04:33:56 [DEBUG] 26 sslClientKeyPassphrase : ""
2019-08-28T04:33:56 [DEBUG] 27 webdriver : ":"
2019-08-28T04:33:56 [DEBUG] 28 webdriverLogFile : ""
2019-08-28T04:33:56 [DEBUG] 29 webdriverLogLevel : "INFO"
2019-08-28T04:33:56 [DEBUG] 30 webdriverSeleniumGridHub : ""
2019-08-28T04:33:56 [DEBUG] Phantom - execute: Script & Arguments
2019-08-28T04:33:56 [DEBUG] script: "/usr/share/grafana/tools/phantomjs/render.js"
2019-08-28T04:33:56 [DEBUG] 0 arg: "url=http://grafana.staged-by-discourse.com/d-solo/wleFcFKZz/rabbitmq-system-alerts?panelId=2"
2019-08-28T04:33:56 [DEBUG] Phantom - execute: Starting normal mode
2019-08-28T04:33:56 [DEBUG] WebPage - setupFrame ""
2019-08-28T04:33:56 [DEBUG] FileSystem - _open: ":/modules/fs.js" QMap(("mode", QVariant(QString, "r")))
2019-08-28T04:33:56 [DEBUG] FileSystem - _open: ":/modules/system.js" QMap(("mode", QVariant(QString, "r")))
2019-08-28T04:33:56 [DEBUG] FileSystem - _open: ":/modules/webpage.js" QMap(("mode", QVariant(QString, "r")))
url=<url> png=<filename> width=<width> height=<height> renderKey=<key>
2019-08-28T04:33:56 [DEBUG] WebPage - updateLoadingProgress: 10
2019-08-28T04:33:56 [DEBUG] WebPage - updateLoadingProgress: 100
2019-08-28T04:33:56 [DEBUG] WebPage - setupFrame ""
2019-08-28T04:33:56 [DEBUG] FileSystem - _open: ":/modules/fs.js" QMap(("mode", QVariant(QString, "r")))
2019-08-28T04:33:56 [DEBUG] FileSystem - _open: ":/modules/system.js" QMap(("mode", QVariant(QString, "r")))
2019-08-28T04:33:56 [DEBUG] FileSystem - _open: ":/modules/webpage.js" QMap(("mode", QVariant(QString, "r")))
2019-08-28T04:33:56 [DEBUG] WebPage - updateLoadingProgress: 10
2019-08-28T04:33:56 [DEBUG] WebPage - setupFrame ""
2019-08-28T04:33:56 [DEBUG] FileSystem - _open: ":/modules/fs.js" QMap(("mode", QVariant(QString, "r")))
2019-08-28T04:33:56 [DEBUG] FileSystem - _open: ":/modules/system.js" QMap(("mode", QVariant(QString, "r")))
2019-08-28T04:33:56 [DEBUG] FileSystem - _open: ":/modules/webpage.js" QMap(("mode", QVariant(QString, "r")))
2019-08-28T04:33:56 [DEBUG] WebPage - updateLoadingProgress: 100
2019-08-28T04:33:56 [DEBUG] WebPage - updateLoadingProgress: 10
2019-08-28T04:33:56 [DEBUG] Network - Resource request error: QNetworkReply::NetworkError(OperationCanceledError) ( "Operation canceled" ) URL: "http://grafana.staged-by-discourse.com/d-solo/wleFcFKZz/rabbitmq-system-alerts?panelId=2"
[1] Done /usr/share/grafana/tools/phantomjs/phantomjs --ignore-ssl-errors=true --web-security=true --local-url-access=false --debug=true /usr/share/grafana/tools/phantomjs/render.js url=http://grafana.staged-by-discourse.com/d-solo/wleFcFKZz/rabbitmq-system-alerts?panelId=2
[2] Done orgId=1
[5] Done width=1000
[6]- Done height=500
[7]+ Done tz=Asia%2FSaigon
If I curl that URL shown above from within the container, I get a 302 Found
:
grafana@grafana-9757c88ff-fjsjd:/usr/share/grafana$ curl -I http://grafana.staged-by-discourse.com/d-solo/wleFcFKZz/rabbitmq-system-alerts?panelId=2
HTTP/1.1 302 Found
Cache-Control: no-cache
Content-Type: text/html; charset=utf-8
Expires: -1
Location: /login
Pragma: no-cache
Set-Cookie: redirect_to=%252Fd-solo%252FwleFcFKZz%252Frabbitmq-system-alerts%253FpanelId%253D2; Path=/; HttpOnly
X-Frame-Options: deny
Date: Wed, 28 Aug 2019 04:34:51 GMT