Real Time Monitoring of Statistical Metrics

In this example we will add statistical performance metrics capabilities by levering the Seldon metrics server.

Dependencies

  • Seldon Core installed

  • Ingress provider (Istio or Ambassador)

An easy way is to run examples/centralized-logging/full-kind-setup.sh and then:

    helm delete seldon-core-loadtesting
    helm delete seldon-single-model

Then port-forward to that ingress on localhost:8003 in a separate terminal either with:

Ambassador:

kubectl port-forward $(kubectl get pods -n seldon -l app.kubernetes.io/name=ambassador -o jsonpath='{.items[0].metadata.name}') -n seldon 8003:8080

Istio:

kubectl port-forward -n istio-system svc/istio-ingressgateway 8003:80
!kubectl create namespace seldon || echo "namespace already created"
Error from server (AlreadyExists): namespaces "seldon" already exists
namespace already created
!kubectl config set-context $(kubectl config current-context) --namespace=seldon
Context "kind-ansible" modified.
!mkdir -p config

Create a simple model

We create a multiclass classification model - iris classifier.

The iris classifier takes an input array, and returns the prediction of the 4 classes.

The prediction can be done as numeric or as a probability array.

Send test request

Metrics Server

You can create a kubernetes deployment of the metrics server with this:

Send feedback

Check that metrics are recorded

Cleanup

Last updated

Was this helpful?