Skip to main content

Observability

ThingPark Enterprise outputs

We strongly encourage to monitor ThingPark Enterprise workloads with a stack collecting:

  • Metrics:
    • CPU/RAM resources usages
    • Kubernetes metrics: Deployments / Statefulsets status, pod status, ...
  • Logs: Workloads are all configured to output logs at error level on stdout following Twelve factor methodology. Capturing logs is done by the execution environment.
tip

ThingPark Enterprise Components currently does not have any tracing capabilities

Critical workloads for packet processing

CPU/RAM resources prerequisites allow to maintain all services provided by ThingPark Enterprise. However a subset of workloads are critical in packets processing.

Theses pods are managed next workload API objects. It is advised to trigger alarms when poddisruptionbudgets policies attached to theses pods can not be respected by the kubernetes cluster:

  • Deployments

    • tpe-controllers-ingress-nginx-controller
    • lrc-proxy
    • tp-dx-admin
    • tp-dx-core
    • tpx-flow-bridge
    • tpx-flow-engine
    • tpx-flow-hub
    • tpx-flow-supervisor
  • Statefulsets

    • zookeeper
    • lrc
  • StrimziPodSet

    • kafka-cluster-zookeeper
    • kafka-cluster-kafka
tip

Thingpark poddisruptionbudgets can be obtain in following way

kubectl -n $NAMESPACE get pdb

Tooling

Lens

Lens IDE is a useful client side tool to manage kubernetes applications.

Kubernetes dashboard

Kubernetes dashboard is the easiest way to obtain a first monitoring stack. It can be installed following Kubernetes online documentation.

Loki stack

Loki stack is a flexible Chart allowing to deploy scraping, collection and dashboard services.