Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dashboard reports not working #45

Open
louhnmn opened this issue Jun 24, 2024 · 1 comment
Open

dashboard reports not working #45

louhnmn opened this issue Jun 24, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@louhnmn
Copy link

louhnmn commented Jun 24, 2024

Description

I want to create a dashboard report.
The report doesn't seem to be created.

Steps to Reproduce

create a very simple dashboard -> one page -> one widget
widget is a pie chart.

like this:
image

execute a dashboard report with the dashboard guid.

cli:

./nr-reports-cli/bin/nr-reports.sh -d <redacted-dashboard-guid> --verbose

or docker:

#!/bin/bash
docker run --rm \
    --name nr-reports \
    -e NEW_RELIC_LICENSE_KEY='<redacted>' \
    -e NEW_RELIC_API_KEY='<redacted>' \
    -e NEW_RELIC_ACCOUNT_ID=<redacted> \
    -e DELAY_TIMEOUT_MS=15000 \
    newrelic-reports -d <redacted-dashboard-guid> --verbose

with docker settings:

FROM alpine:3.19

# Install required packages
RUN apk add --no-cache chromium nss freetype harfbuzz ca-certificates ttf-freefont nodejs yarn npm

# Copy function code
COPY nr-reports-core /app/nr-reports-core/
COPY nr-reports-cli /app/nr-reports-cli/
COPY templates /app/nr-reports-cli/templates/
COPY include /app/nr-reports-cli/include/

# Tell Puppeteer to skip installing Chrome. We'll be using the installed package.
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
    PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser

# Add user so we don't need --no-sandbox.
RUN addgroup -S pptruser && adduser -S -g pptruser pptruser \
    && mkdir -p /home/pptruser/Downloads /app \
    && chown -R pptruser:pptruser /home/pptruser \
    && chown -R pptruser:pptruser /app && \
    cd /app/nr-reports-core && \
    npm install --omit=dev && \
    cd /app/nr-reports-cli && \
    npm install --omit=dev

WORKDIR /app/nr-reports-cli

USER pptruser

# Container entry
ENTRYPOINT ["node", "index.js"]

Expected Behavior

the dashboard report pdf file should be created.

Relevant Logs / Console output

{"level":20,"time":1719223387834,"pid":92361,"hostname":"my-hostname","name":"nr-reports","component":"engine","newrelic":"[REDACTED]","runnerId":"nr-reports-cli","runnerVersion":"3.1.2","secrets":"[REDACTED]","defaultChannelType":"file","namespace":{"length":0},"dashboardIds":"<redacted-dashboard-guid>","noRender":false,"msg":"Engine started."}
(node:92361) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:92361) NOTE: We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023.

Please migrate your code to use AWS SDK for JavaScript (v3).
For more information, check the migration guide at https://a.co/7PzMCcy
{"level":20,"time":1719223387841,"pid":92361,"hostname":"my-hostname","name":"nr-reports","component":"engine","msg":"Running 1 reports..."}
{"level":20,"time":1719223387844,"pid":92361,"hostname":"my-hostname","name":"nr-reports","component":"util","msg":"Created temporary directory /var/folders/x3/b63zyv212s30790xjw3ds_l40000gp/T/nr-reports-Rvg36jFwpiEB"}
{"level":20,"time":1719223387845,"pid":92361,"hostname":"my-hostname","name":"nr-reports","component":"engine","msg":"Running report \"dashboard-report\"..."}
{"level":50,"time":1719223388148,"pid":92361,"hostname":"my-hostname","name":"nr-reports","component":"nerdgraph","msg":"GraphQL post error for query: {\"data\":{\"dashboardCreateSnapshotUrl\":null},\"errors\":[{\"extensions\":{\"classification\":\"DataFetchingException\",\"errorClass\":\"SERVER_ERROR\",\"type\":\"UNSUPPORTED_OPERATION\"},\"locations\":[{\"column\":7,\"line\":2}],\"message\":\"Unsupported operation on dashboard with given guid: <redacted-dashboard-guid>\",\"path\":[\"dashboardCreateSnapshotUrl\"]}]}"}
{"level":50,"time":1719223388148,"pid":92361,"hostname":"my-hostname","name":"nr-reports","component":"dashboard-generator","err":{"type":"ApiError","message":"GraphQL post error for query: {\"data\":{\"dashboardCreateSnapshotUrl\":null},\"errors\":[{\"extensions\":{\"classification\":\"DataFetchingException\",\"errorClass\":\"SERVER_ERROR\",\"type\":\"UNSUPPORTED_OPERATION\"},\"locations\":[{\"column\":7,\"line\":2}],\"message\":\"Unsupported operation on dashboard with given guid: <redacted-dashboard-guid>\",\"path\":[\"dashboardCreateSnapshotUrl\"]}]}","stack":"Error: GraphQL post error for query: {\"data\":{\"dashboardCreateSnapshotUrl\":null},\"errors\":[{\"extensions\":{\"classification\":\"DataFetchingException\",\"errorClass\":\"SERVER_ERROR\",\"type\":\"UNSUPPORTED_OPERATION\"},\"locations\":[{\"column\":7,\"line\":2}],\"message\":\"Unsupported operation on dashboard with given guid: <redacted-dashboard-guid>\",\"path\":[\"dashboardCreateSnapshotUrl\"]}]}\n    at NerdgraphClient.post (/Users/myuser/GIT/nr-reports/nr-reports-core/lib/nerdgraph.js:104:13)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async NerdgraphClient.query (/Users/myuser/GIT/nr-reports/nr-reports-core/lib/nerdgraph.js:134:25)\n    at async downloadDashboardPdf (/Users/myuser/GIT/nr-reports/nr-reports-core/lib/generators/dashboard.js:28:15)\n    at async /Users/myuser/GIT/nr-reports/nr-reports-core/lib/generators/dashboard.js:88:9\n    at async Promise.all (index 0)\n    at async Object.generateDashboardReport [as generate] (/Users/myuser/GIT/nr-reports/nr-reports-core/lib/generators/dashboard.js:90:23)\n    at async /Users/myuser/GIT/nr-reports/nr-reports-core/lib/engine.js:131:28\n    at async withTempDir (/Users/myuser/GIT/nr-reports/nr-reports-core/lib/util.js:212:5)\n    at async Engine.run (/Users/myuser/GIT/nr-reports/nr-reports-core/lib/engine.js:99:7)"},"msg":"GraphQL post error for query: {\"data\":{\"dashboardCreateSnapshotUrl\":null},\"errors\":[{\"extensions\":{\"classification\":\"DataFetchingException\",\"errorClass\":\"SERVER_ERROR\",\"type\":\"UNSUPPORTED_OPERATION\"},\"locations\":[{\"column\":7,\"line\":2}],\"message\":\"Unsupported operation on dashboard with given guid: <redacted-dashboard-guid>\",\"path\":[\"dashboardCreateSnapshotUrl\"]}]}"}
{"level":40,"time":1719223388148,"pid":92361,"hostname":"my-hostname","name":"nr-reports","component":"engine","msg":"No output generated for report \"dashboard-report\"."}
{"level":20,"time":1719223388149,"pid":92361,"hostname":"my-hostname","name":"nr-reports","component":"engine","msg":"Completed report \"dashboard-report\"."}
(node:92361) [DEP0147] DeprecationWarning: In future versions of Node.js, fs.rmdir(path, { recursive: true }) will be removed. Use fs.rm(path, { recursive: true }) instead
{"level":20,"time":1719223388149,"pid":92361,"hostname":"my-hostname","name":"nr-reports","component":"util","msg":"Removing temporary directory /var/folders/x3/b63zyv212s30790xjw3ds_l40000gp/T/nr-reports-Rvg36jFwpiEB..."}
{"level":20,"time":1719223388152,"pid":92361,"hostname":"my-hostname","name":"nr-reports","msg":"Letting agent data settle..."}
{"level":20,"time":1719223398155,"pid":92361,"hostname":"my-hostname","name":"nr-reports","msg":"Processing pending New Relic data..."}
{"level":20,"time":1719223398228,"pid":92361,"hostname":"my-hostname","name":"nr-reports","msg":"All done."}

I also have a version in a docker container where I updated the nr-reports the the newest versions (aws-sdk, node modules, and so on)

this is the output of that:

{"level":20,"time":1719222148702,"pid":1,"hostname":"8760ee2780e2","name":"nr-reports","component":"engine","newrelic":"[REDACTED]","runnerId":"nr-reports-cli","runnerVersion":"<unknown>","secrets":"[REDACTED]","defaultChannelType":"file","namespace":{"length":0},"dashboardIds":"<redacted-dashboard-guid>","noRender":false,"msg":"Engine started."}
{"level":20,"time":1719222148713,"pid":1,"hostname":"8760ee2780e2","name":"nr-reports","component":"engine","msg":"Running 1 reports..."}
{"level":20,"time":1719222148722,"pid":1,"hostname":"8760ee2780e2","name":"nr-reports","component":"util","msg":"Created temporary directory /tmp/nr-reports-XXXXXXojcAdI"}
{"level":20,"time":1719222148723,"pid":1,"hostname":"8760ee2780e2","name":"nr-reports","component":"engine","msg":"Running report \"dashboard-report\"..."}
{"level":50,"time":1719222149208,"pid":1,"hostname":"8760ee2780e2","name":"nr-reports","component":"nerdgraph","msg":"GraphQL post error for query: {\"data\":{\"dashboardCreateSnapshotUrl\":null},\"errors\":[{\"extensions\":{\"classification\":\"DataFetchingException\",\"errorClass\":\"SERVER_ERROR\",\"type\":\"UNSUPPORTED_OPERATION\"},\"locations\":[{\"column\":7,\"line\":2}],\"message\":\"Unsupported operation on dashboard with given guid: <redacted-dashboard-guid>\",\"path\":[\"dashboardCreateSnapshotUrl\"]}]}"}
{"level":50,"time":1719222149208,"pid":1,"hostname":"8760ee2780e2","name":"nr-reports","component":"dashboard-generator","err":{"type":"ApiError","message":"GraphQL post error for query: {\"data\":{\"dashboardCreateSnapshotUrl\":null},\"errors\":[{\"extensions\":{\"classification\":\"DataFetchingException\",\"errorClass\":\"SERVER_ERROR\",\"type\":\"UNSUPPORTED_OPERATION\"},\"locations\":[{\"column\":7,\"line\":2}],\"message\":\"Unsupported operation on dashboard with given guid: <redacted-dashboard-guid>\",\"path\":[\"dashboardCreateSnapshotUrl\"]}]}","stack":"Error: GraphQL post error for query: {\"data\":{\"dashboardCreateSnapshotUrl\":null},\"errors\":[{\"extensions\":{\"classification\":\"DataFetchingException\",\"errorClass\":\"SERVER_ERROR\",\"type\":\"UNSUPPORTED_OPERATION\"},\"locations\":[{\"column\":7,\"line\":2}],\"message\":\"Unsupported operation on dashboard with given guid: <redacted-dashboard-guid>\",\"path\":[\"dashboardCreateSnapshotUrl\"]}]}\n    at NerdgraphClient.post (/app/nr-reports-core/lib/nerdgraph.js:114:13)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async NerdgraphClient.query (/app/nr-reports-core/lib/nerdgraph.js:144:25)\n    at async downloadDashboardPdf (/app/nr-reports-core/lib/generators/dashboard.js:27:15)\n    at async /app/nr-reports-core/lib/generators/dashboard.js:87:9\n    at async Promise.all (index 0)\n    at async Object.generateDashboardReport [as generate] (/app/nr-reports-core/lib/generators/dashboard.js:89:23)\n    at async /app/nr-reports-core/lib/engine.js:131:28\n    at async withTempDir (/app/nr-reports-core/lib/util.js:212:5)\n    at async Engine.run (/app/nr-reports-core/lib/engine.js:99:7)"},"msg":"GraphQL post error for query: {\"data\":{\"dashboardCreateSnapshotUrl\":null},\"errors\":[{\"extensions\":{\"classification\":\"DataFetchingException\",\"errorClass\":\"SERVER_ERROR\",\"type\":\"UNSUPPORTED_OPERATION\"},\"locations\":[{\"column\":7,\"line\":2}],\"message\":\"Unsupported operation on dashboard with given guid: <redacted-dashboard-guid>\",\"path\":[\"dashboardCreateSnapshotUrl\"]}]}"}
{"level":40,"time":1719222149209,"pid":1,"hostname":"8760ee2780e2","name":"nr-reports","component":"engine","msg":"No output generated for report \"dashboard-report\"."}
{"level":20,"time":1719222149211,"pid":1,"hostname":"8760ee2780e2","name":"nr-reports","component":"engine","msg":"Completed report \"dashboard-report\"."}
{"level":20,"time":1719222149212,"pid":1,"hostname":"8760ee2780e2","name":"nr-reports","component":"util","msg":"Removing temporary directory /tmp/nr-reports-XXXXXXojcAdI..."}
{"level":20,"time":1719222149228,"pid":1,"hostname":"8760ee2780e2","name":"nr-reports","msg":"Letting agent data settle..."}
{"level":20,"time":1719222164233,"pid":1,"hostname":"8760ee2780e2","name":"nr-reports","msg":"Processing pending New Relic data..."}
{"level":20,"time":1719222164315,"pid":1,"hostname":"8760ee2780e2","name":"nr-reports","msg":"All done."}

but same errors here

Your Environment

local cli:

  • MacBook Pro 16-inch, 2019:
    • 2,6 GHz 6-Core Intel Core i7
    • AMD Radeon Pro 5300M 4 GB
    • 16 GB 2667 MHz DDR4
    • 13.6.7 (22G720)

docker:

  • Docker version 26.1.4, build 5650f9b
  • image: alpine:3.19

Additional context

@louhnmn louhnmn added the bug Something isn't working label Jun 24, 2024
@Threx71
Copy link

Threx71 commented Aug 9, 2024

Take a look here: https://forum.newrelic.com/s/hubtopic/aAX8W0000008cUvWAI/unsupported-operation-on-dashboard

Turns out, even one page dashboards have 2 GUIDs and you need to query nerdgraph to get the correct one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants