hi team, i followed this example deployment yaml (...
# spicedb
b
hi team, i followed this example deployment yaml (https://github.com/authzed/spicedb/blob/main/examples/k8s/example.yaml) to config prometheus and my spicedb server is up and running, where can i access those reported metrics (https://github.com/authzed/spicedb/blob/main/TELEMETRY.md) ?
> what does this sentence mean? Any metrics prefixed with spicedb_telemetry are reported hourly to telemetry.authzed.com.
what is this "telemetry.authzed.com" ?
j
our telemetry stack for tracking SpiceDB usage; this can be disabled with a CLI flag
the reported metrics can be accessed in your Prometheus, which should be set to scrape your SpiceDB nodes
b
i would like to export these metrics
are these metrics reported hourly? is it possible to override this value to have it reported more frequently?
j
they are reported in real time; how often they are scraped depends on your Prometheus
Telemetry is reported to us and is configured to send on a predetermined schedule we control
you can configure telemetry to go to your own Prometheus and change the interval
b
when i talked about metrics, i meant these defined here (https://github.com/authzed/spicedb/blob/main/TELEMETRY.md#collected-metrics), such as
spicedb_telemetry_info
,
spicedb_telemetry_object_definitions_total
etc
j
yes, you can redirect those
and change the interval
b
can i access these metrics via my own prometheus?
j
yes
set
--telemetry-endpoint=
b
or are these only reported to your team?
what does set `--telemetry-endpoint=`mean? is there a more detailed guidance on how to redirect?
j
it points to a Prometheus
b
i am deploying spicedb via kubernetes and i've configured prometheus annotations/ports/etc in my deployment yaml, what else is needed for my own prometheus job to access these metrics?
could you pls elaborate a bit on what this flag "--telemetry-endpoint" means?
j
it means "write telemetry metrics to this Prometheus instance"
so if you point it at your Prometheus, it should report the metrics there, instead of our Prometheus
b
where is this configured?
j
its a config flag; either the CLI or an ENV var if from Kub
SPICEDB_TELEMETRY_ENDPOINT="https://my-prom-here"
b
got it, thanks! what should be the name of the ENV var since i want to put it in my deployment yaml?
j
^
b
can you also provide an example CLI command? thanks a lot!
j
--telemetry-endpoint="https://my-prom-here"
b
so the value of this env var should be a URL?
j
pointing to your prometheus
its either a URL or a hostname
I forgot which
b
or hostname:port?
j
one of them
b
if i don't have this env var set, even if i enabled prometheus ports, i will still not be able to access these metrics because by default they're only written to telemetry.authzed.com. is my understanding correct?
j
if you can't configure it at all, correct
b
thanks! one more thing - what should be env var to set report intervals?
j
telemetry-interval
is the flag
SPICEDB_TELEMETRY_INTERVAL
b
re: previous q on the value of env var
SPICEDB_TELEMETRY_ENDPOINT
reading through the code here (https://github.com/authzed/spicedb/blob/main/internal/telemetry/reporter.go#L139), it seems it should be a URL?
could you help confirm it?
@Joey also this seems to be query endpoint instead of ingest endpoint
4 Views