githubEdit

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
!mkdir -p config
from IPython.core.magic import register_line_cell_magic

@register_line_cell_magic
def writetemplate(line, cell):
    with open(line, 'w') as f:
        f.write(cell.format(**globals()))

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?