In my Grafana cloud instance, I have an error for missing an attribute for host-hours pricing, which redirects to this page:
I have this working for my API, though I’ve instrumented an iOS app with the otel SDK, what do I put for the host to get rid of this warning?
For an iOS app, the relevant fallback is grafana.host.id.
Set it as an OpenTelemetry resource attribute with a stable identifier for the host you want Grafana Cloud to recognize →
grafana.host.id=<stable-host-id>
Grafana Cloud checks k8s.node.name, then host.id, then grafana.host.id for host identification. If your iOS telemetry doesn’t have either of the first two attributes, grafana.host.id is the fallback.
Be aware that the selected host identifier is used as the host’s billing identifier, so choose the value carefully when considering host-hour billing.
You can add the attribute in the iOS OTel SDK or in an OpenTelemetry Collector/Alloy before the telemetry reaches Grafana Cloud.
Thanks @infofcc3
Though, if each user/device has a stable ID, this would unintentionally cause me to be billed for every single device sending traces, right? That can’t be the intended way to do things, $0.025 per hour per user… as opposed to frontend observability which is per-session…
Yes you’re thinking about it correctly. A unique grafana.host.id per device would make each device a separate host for Application Observability billing, so I wouldn’t use identifierForVendor for a consumer app just to clear the warning.
You don’t need to set grafana.host.id just to remove the warning. If you don’t want individual devices to be treated as Application Observability hosts, you can leave the host identification attributes unset and accept the warning. Grafana documents that services without k8s.node.name, host.id, or grafana.host.id are not counted for host hours billing