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.
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
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.