You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
That looks good, but when I run this command grpcurl -vv -plaintext localhost:10938 describe thanos.Rules I get this output:
Failed to resolve symbol "thanos.Rules": Symbol not found: thanos.Rules
What you expected to happen:
I should be seeing the methods available for thanos.Rules or thanos.Store, but both return 'Symbol not found' error.
How to reproduce it (as minimally and precisely as possible): Simply run thanos ruler locally and try to grpcurl the grpc endpoint
Anything else we need to know: I know that I can use some paths to proto files to help it work like this: grpcurl -vv -plaintext -import-path=protobuf -import-path=thanos/pkg/ -proto=rules/rulespb/rpc.proto localhost:10938 describe thanos.Rules see here , but I can't download the full thanos repo to my remote server, and anyway I shouldn't have to do that since the services/methods should be exposed already.
The text was updated successfully, but these errors were encountered:
I'm here to help you with any bugs, questions, or contributions you have related to Thanos. Let me know how I can assist you!
The issue you're encountering with grpcurl not being able to describe the thanos.Rules service, despite it being listed, might be related to how gRPC reflection is set up or how grpcurl is being used.
Here are a few things to consider:
gRPC Reflection: Ensure that gRPC reflection is correctly registered in your Thanos setup. Thanos should have the reflection service registered on the gRPC server, which allows tools like grpcurl to query the server for its services and methods. This is typically done with reflection.Register(s) in the server setup [1].
Proto Files: While gRPC reflection should allow you to use grpcurl without proto files, sometimes the reflection data might not be complete or correctly exposed. If possible, try using the proto files locally to see if it resolves the issue, even though you mentioned it's not ideal for your setup.
Version Compatibility: Ensure that the version of grpcurl you are using is compatible with the gRPC version used by Thanos. Sometimes, discrepancies in versions can lead to unexpected behavior.
Network and Firewall: Double-check that there are no network or firewall rules that might be interfering with the gRPC traffic, especially if you're running this in a production environment.
Service Registration: Verify that the thanos.Rules service is correctly registered with the gRPC server using the RegisterRulesServer function [2].
If these steps don't resolve the issue, you might need to investigate further into the specific configuration of your Thanos setup or consider using a different tool or method to interact with the gRPC services.
Thanos Version used: v0.37.0
thanos, version 0.37.0 (branch: HEAD, revision: 889d527)
build user: root@8dff35604453
build date: 20241125-11:43:19
go version: go1.23.3
platform: linux/amd64
tags: netgo
Object Storage Provider: Thanos Rule
What happened: I ran
grpcurl -vv -plaintext localhost:10938 list
which shows me the following output:That looks good, but when I run this command
grpcurl -vv -plaintext localhost:10938 describe thanos.Rules
I get this output:What you expected to happen:
I should be seeing the methods available for thanos.Rules or thanos.Store, but both return 'Symbol not found' error.
How to reproduce it (as minimally and precisely as possible): Simply run thanos ruler locally and try to grpcurl the grpc endpoint
Anything else we need to know: I know that I can use some paths to proto files to help it work like this:
grpcurl -vv -plaintext -import-path=protobuf -import-path=thanos/pkg/ -proto=rules/rulespb/rpc.proto localhost:10938 describe thanos.Rules
see here , but I can't download the full thanos repo to my remote server, and anyway I shouldn't have to do that since the services/methods should be exposed already.The text was updated successfully, but these errors were encountered: