Skip to content

Latest commit

 

History

History
87 lines (66 loc) · 3.05 KB

File metadata and controls

87 lines (66 loc) · 3.05 KB

Prometheus operator

You can install Prometheus operator via Helm (install Helm):

kubectl create namespace monitoring
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install prometheus prometheus-community/kube-prometheus-stack -n monitoring

If Istio/Jaeger tools are not necessary, to get metrics from µBench services it is necessary to deploy the Prometheus µBench PodMonitor with

kubectl apply -f ./mub-monitor.yaml

To expose Prometheus server as NodePort service on port 30000 use

kubectl apply -f ./prometheus-nodeport.yaml -n monitoring

To expose Grafana server as NodePort service on port 30001 use

kubectl apply -f ./grafana-nodeport.yaml -n monitoring

Grafana admin password is prom-operator or can be obtained with

kubectl get secret prometheus-grafana -o jsonpath="{.data.admin-password}" -n monitoring | base64 --decode ; echo

Istio

Istio service mesh can be included in the cluster for deeper monitoring.

To install Istio we used Helm:

helm repo add istio https://istio-release.storage.googleapis.com/charts
helm repo update
kubectl create namespace istio-system
helm install istio-base istio/base -n istio-system
helm install istiod istio/istiod -n istio-system --set global.proxy.tracer="zipkin" --wait
helm install istio-ingressgateway istio/gateway -n istio-system
kubectl label namespace default istio-injection=enabled

Integration with Prometheus

To expose Istio metrics to Prometheus it is necessary to add Prometheus PodMonitor and ServiceMonitor:

kubectl apply -f istio-prometheus-operator.yaml

Istio may use Metrics merging, therefore the µBench metrics can be shown two times, even though with different 'job' labels. To avoid this, in presence of Istio, we have avoided to run install the µBench PodMonitor.

Jaeger Tracing

Jaeger can be used to monitoring a µBench application at trace-level. Istio is integrated with Jaeger, therefore to get Jaeger up and running it is enough to install Istio and then use the following Istio addon.

kubectl apply -f jaeger.yaml

To expose Jaeger service as NodePort Service on port 30002 (HTTP) use

kubectl apply -f jaeger-nodeport.yaml

Kiali Istio Dashboard

kiali can be used as Istio dashboard. To install kiali, you can hese helm as follows:

helm repo add kiali https://kiali.org/helm-charts
helm repo update
helm install \
  -f kiali-values.yaml \
  kiali-server \
  kiali/kiali-server

then use the next commands that expose kiali as NodePort on port 30003

kubectl apply -f kiali-nodeport.yaml