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

PermissionDenied since Dishy update to 9f4d05a4 #32

Open
MrNiceforest opened this issue Jun 24, 2021 · 10 comments
Open

PermissionDenied since Dishy update to 9f4d05a4 #32

MrNiceforest opened this issue Jun 24, 2021 · 10 comments
Assignees
Labels
bug Something isn't working

Comments

@MrNiceforest
Copy link

Describe the bug
Since the latest Dishy update earlier this morning to 9f4d05a4-65b6-411b-ba6b-8dd91c64e02c.uterm.release the exporter is unable to collect data via gRPC.
Running in a standard Starlink setup without further parameters it successfully gets the dish ID

time="2021-06-24T22:15:59+02:00" level=info msg="dish id: ut01000000-00000000-00013135" source="main.go:28"

However, each time /metrics of the exporter is queried, it returns the following:

# HELP starlink_dish_up Was the last query of Starlink dish successful.
# TYPE starlink_dish_up gauge
starlink_dish_up 0

The console/log shows the following error:

time="2021-06-24T22:15:59+02:00" level=error msg="failed to collect context from dish: rpc error: code = PermissionDenied desc = " source="exporter.go:290"

It worked fine with the previous release a4908729-5051-4d3b-aacc-446ef9b26cdc.uterm.release.
Data is still available fine when accessing the web UI normally.
I didn't have time yet to look further into it, so sorry for the somewhat unqualified bug ticket.

To Reproduce
Steps to reproduce the behavior:

  1. Get a Dishy with the mentioned software version
  2. Run the exporter to collect data from given Dishy and fetch metrics
    If needed, I can provide a sample Wireshark pcapng dump of this.

Expected behavior
The extractor to collect/poll the required metrics.

Screenshots
Not applicable, see log excerpt above.

Additional context
Add any other context about the problem here.

  • OS: Windows Server 2019
  • Starlink Exporter Version v0.0.3
@MrNiceforest MrNiceforest added the bug Something isn't working label Jun 24, 2021
@dwillcocks
Copy link
Member

Ok, this sounds fun, I will have a look on the weekend, I hope they have not added authentication to all the gRPC methods ☹️

@MrNiceforest
Copy link
Author

As an update, last night Dishy updated to 990b956d-a7fc-4c9b-a3ab-c09a309ac425.uterm.release and it works normally again,
so I would assume an error (or test?) in their software.
I still have the tcpdump file if you still want to look into it, but otherwise I think this can be closed in the meantime.

@awlx
Copy link
Contributor

awlx commented Jun 25, 2021

I have the same error with 4990ce8d-5028-4e51-a015-e9ab1b1ebe1a.uterm.release:

starlink_exporter_1   | time="2021-06-25T07:56:28Z" level=error msg="failed to collect context from dish: rpc error: code = PermissionDenied desc = " source="exporter.go:290"
starlink_exporter_1   | time="2021-06-25T07:56:31Z" level=error msg="failed to collect context from dish: rpc error: code = PermissionDenied desc = " source="exporter.go:290"
starlink_exporter_1   | time="2021-06-25T07:56:34Z" level=error msg="failed to collect context from dish: rpc error: code = PermissionDenied desc = " source="exporter.go:290"
starlink_exporter_1   | time="2021-06-25T07:56:37Z" level=error msg="failed to collect context from dish: rpc error: code = PermissionDenied desc = " source="exporter.go:290"
starlink_exporter_1   | time="2021-06-25T07:56:40Z" level=error msg="failed to collect context from dish: rpc error: code = PermissionDenied desc = " source="exporter.go:290"
starlink_exporter_1   | time="2021-06-25T07:56:43Z" level=error msg="failed to collect context from dish: rpc error: code = PermissionDenied desc = " source="exporter.go:290"
starlink_exporter_1   | time="2021-06-25T07:56:46Z" level=error msg="failed to collect context from dish: rpc error: code = PermissionDenied desc = " source="exporter.go:290"
starlink_exporter_1   | time="2021-06-25T07:56:49Z" level=error msg="failed to collect context from dish: rpc error: code = PermissionDenied desc = " source="exporter.go:290"

I started this morning as you can see on my public dashboard (https://starlink.awlnx.space).

awlx added a commit to awlx/starlink_exporter that referenced this issue Jun 25, 2021
@awlx awlx mentioned this issue Jun 25, 2021
7 tasks
awlx added a commit to awlx/starlink_exporter that referenced this issue Jun 25, 2021
@dwillcocks
Copy link
Member

dwillcocks commented Jun 30, 2021

I'm on 4990ce8d-5028-4e51-a015-e9ab1b1ebe1a.uterm.release and seeing the same error as @awlx. I will look into why but it looks like Starlink have fixed the issue in release 990b956d-a7fc-4c9b-a3ab-c09a309ac425.uterm.release.

They have been making lots of additional gRPC methods available but none of them seemed usable yet. Maybe they tried to deprecate the old methods but have reverted that in the latest dish release.

@virtuallynathan
Copy link

virtuallynathan commented Jun 30, 2021

It still seems like having this merged wouldn't hurt anything in the case that they do revert it? All of my data collection is now broken. Also, FWIW, 990b956d-a7fc-4c9b-a3ab-c09a309ac425.uterm.release was released before 4990ce8d-5028-4e51-a015-e9ab1b1ebe1a.uterm.release

@dwillcocks
Copy link
Member

4990ce8d-5028-4e51-a015-e9ab1b1ebe1a.uterm.release

@virtuallynathan would you say this is the latest release, as far as you can tell?

I'm looking at it now, and splitting out too different gRPC methods and will add the fail open logic to all calls so it will return what it can.

dwillcocks pushed a commit that referenced this issue Jun 30, 2021
* Fixes PermissionDenied errors

Relates to #32

* Get rid of logs
@dwillcocks
Copy link
Member

I have merged and built @awlx PR - https://github.com/danopstech/starlink_exporter/releases/tag/v0.0.4

Thank you @awlx

This gives me more time to work around the permissions:

  1. Get data from a different gRPC method
  2. Add authentication - bonus we then get location data once authenticated

@virtuallynathan
Copy link

virtuallynathan commented Jun 30, 2021 via email

@MrNiceforest
Copy link
Author

By the way, one day after my post about the update to 990b956d-a7fc-4c9b-a3ab-c09a309ac425.uterm.release and it working again, Dishy updated to 4990ce8d-5028-4e51-a015-e9ab1b1ebe1a.uterm.release which broke it again, but the fix from @awlx worked fine - also as the recent v0.0.4 of course.

@dwillcocks
Copy link
Member

Response from support 😢

Our engineering teams will be continuously adjusting the availability and security of both our published and unpublished APIs throughout the development of Starlink. If you have any further feedback, please let us know in next survey sent out to you.

I will look at fixing the missing metrics. just hope they don't start locking everything down!

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

No branches or pull requests

4 participants