From bc04eed6adfa34aff52d65cf5a3eaa1f8c7a0c1b Mon Sep 17 00:00:00 2001 From: awlx Date: Fri, 25 Jun 2021 11:07:37 +0200 Subject: [PATCH 1/2] Fixes PermissionDenied errors Relates to https://github.com/danopstech/starlink_exporter/issues/32 --- internal/exporter/exporter.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/internal/exporter/exporter.go b/internal/exporter/exporter.go index 9135015..8fd251d 100644 --- a/internal/exporter/exporter.go +++ b/internal/exporter/exporter.go @@ -9,6 +9,7 @@ import ( "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/common/log" "google.golang.org/grpc" + "google.golang.org/grpc/status" "github.com/danopstech/starlink_exporter/pkg/spacex.com/api/device" ) @@ -287,8 +288,13 @@ func (e *Exporter) collectDishContext(ch chan<- prometheus.Metric) bool { defer cancel() resp, err := e.Client.Handle(ctx, req) if err != nil { - log.Errorf("failed to collect context from dish: %s", err.Error()) - return false + st, ok := status.FromError(err) + if ok && st.Code() == 7 { + log.Info("Got PermissionDenied for Endpoint ... continuing") + } else { + log.Errorf("failed to collect context from dish: %s", err.Error()) + return false + } } dishC := resp.GetDishGetContext() From 4eb9af6836a4d07affecd13e4b1697a1d1e6ce9e Mon Sep 17 00:00:00 2001 From: awlx Date: Fri, 25 Jun 2021 11:46:30 +0200 Subject: [PATCH 2/2] Get rid of logs --- internal/exporter/exporter.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/internal/exporter/exporter.go b/internal/exporter/exporter.go index 8fd251d..a864b86 100644 --- a/internal/exporter/exporter.go +++ b/internal/exporter/exporter.go @@ -289,9 +289,7 @@ func (e *Exporter) collectDishContext(ch chan<- prometheus.Metric) bool { resp, err := e.Client.Handle(ctx, req) if err != nil { st, ok := status.FromError(err) - if ok && st.Code() == 7 { - log.Info("Got PermissionDenied for Endpoint ... continuing") - } else { + if ok && st.Code() != 7 { log.Errorf("failed to collect context from dish: %s", err.Error()) return false }