Configure the Prometheus receiver to collect Seldon Core metrics
Configure the Splunk Distribution of the OpenTelemetry Collector to send Seldon metrics to Splunk Observability Cloud.
You can monitor the performance of Seldon Core models by configuring the Splunk Distribution of the OpenTelemetry Collector to send Seldon Core metrics to Splunk Observability Cloud.
This solution uses the Prometheus receiver to collect metrics from Seldon, which exposes the API endpoint http://<pod-ip>:8000/prometheus to publish Prometheus-compatible metrics.
Configuration settings
To view the configuration options for the Prometheus receiver, see Settings.
Metrics
The following metrics are available for Seldon Core.
These metrics are considered custom metrics in Splunk Observability Cloud.
| Metric name | Type | Description |
|---|---|---|
seldon_api_executor_server_requests_seconds |
histogram |
End-to-end request latency in seconds from client to response. Can be used to calculate request rate, P95 latency, average latency, and error rate. |
seldon_api_executor_server_requests_seconds_summary |
summary | Pre-calculated percentiles (P50, P75, P90, P98, P99, Max) in seconds. Available quantitles: 0.5, 0.75, 0.9, 0.98, 0.99, 1.0. Summary metrics are less flexible than histograms, but provide pre-calculated percentiles. Use histograms for custom percentiles. |
seldon_api_executor_client_requests_seconds |
histogram |
Model inference latency in seconds from the executor to the model container. Can be used to calculate model inference rate, model P95 latency, executor overhead, and model health. |
Attributes
The following resource attributes are available for Seldon Core metrics.
| Attribute name | Description |
|---|---|
seldon-app |
Model identifier (e.g., "iris", "sentiment", "mnist"). Used for per-model filtering. |
deployment_name |
SeldonDeployment name (e.g., "iris-model") |
predictor_name |
Predictor variant (e.g., "default") |
predictor_version |
Predictor version (usually empty) |
model_name |
Model component name (e.g., "classifier") |
model_image |
Docker image (e.g., "seldonio/mock_classifier") |
model_version |
Model version (e.g., "1.17.1") |
seldon-deployment-id |
Unique deployment ID |
seldon-app-svc-classifier |
Service classifier label |
seldon.io/model |
Model annotation |
code |
HTTP status code (e.g., "200", "400", "500"). Used for error filtering. |
method |
HTTP method (e.g., "post", "get") |
service |
API endpoint (e.g., "predictions", "/predict") |
server.address |
Server IP address |
server.port |
Server port number |
url.scheme |
URL scheme (e.g., "http", "https") |
k8s.cluster.name |
Cluster name (e.g., "bits-kops-cluster") |
k8s.namespace.name |
Cluster name (e.g., "bits-kops-cluster") |
k8s.pod.name |
Full pod name with hash |
k8s.pod.uid |
Pod unique identifier |
k8s.node.name |
Kubernetes node name |
k8s.deployment.name |
Deployment name |
k8s.deployment.uid |
Deployment unique ID |
k8s.replicaset.name |
ReplicaSet name |
k8s.replicaset.uid |
ReplicaSet name |
k8s.workload.name |
Workload name |
k8s.workload.kind |
Workload type (e.g., "Deployment") |
k8s.container.name |
Container name (e.g., "seldon-container-engine") |
pod-template-hash |
Pod template hash |
pod.creation_timestamp |
Pod creation timestamp |
app.kubernetes.io/managed-by |
Management tool (e.g., "seldon-core") |
host_name |
Host name |
host_kernel_name |
Kernel name (e.g., "Linux") |
host_kernel_release |
Kernel version |
host_physical_cpus |
Number of physical CPUs |
host_logical_cpus |
Number of logical CPUs |
host_cpu_cores |
Number of CPU cores |
host_cpu_model |
CPU model name |
host_processor_name |
Processor name |
host_machine |
Machine architecture |
host_os_name |
OS name (e.g., "Ubuntu") |
host_linux_version |
Linux distribution version |
host_mem_total |
Linux distribution version |
os.type |
OS type (e.g., "linux") |
sf_service |
Splunk service name |
sf_tags |
Splunk tags |
service.instance.id |
Service instance identifier |
fluentd |
Fluentd label |
version |
Version tag |
quantile |
Percentile value for summary metrics (e.g., "0.5", "0.75", "0.9", "0.95", "0.99", "1.0"). Only present in *_summary metrics. |
Next steps
After you set up data collection, the data populates built-in dashboards that you can use to monitor and troubleshoot your instances.
For more information on using built-in dashboards in Splunk Observability Cloud, see: