Wavefront (VMware)
Learn how to connect your monitoring data once your AWS account has been integrated.
Wavefront by VMware is a hosted metric monitoring-as-a-service for cloud native application and infrastructure.
To add a Wavefront account in Sedai to your AWS account, you must provide the following:
- API server (this is your
<wavefront_instance>
url, such ashttps://longboard.wavefront.com/
) - Instance dimension
- Example:
pod_name
,pod
- Application dimension
- Example:
label.app.kubernetes.io/name
,label.app
,label.name
- Load balancer dimension
- Example:
load_balancer_name
,service
,label.io.kompose.service
,envoy_cluster_name
- Container dimension
- Example:
container
,container_name
Testing the Wavefront connection does not currently work within Sedai, however if the API key is valid the integration will connect.
Wavefront dimensions can vary by product version. To find your unique Wavefront dimensions, go to the Browse tab from your Wavefront platform and search for
kubernetes.pod_container.cpu.usage_rate
metrics in the table view.This will give an output similar to the example below. Note the following code lines for examples of different dimension values:
- Line 6: Container dimension:
container_name
- Line 10: Application (Kubernetes Workload) dimension:
label.app.kubernetes.io/name
,label.app
,label.name
- Line 17: Load balancer (typically service) dimension:
label.io.kompose.service
- Line 28: Pod dimension:
pod_name
kubernetes.pod_container.cpu.usage_rate: -
Source: ip-192-168-185-37.us-east-2.compute.internal
cluster: sedaivector
container_base_image: nvanderhoeven/pokeapi_app
container_name: pokeapi-app
label.app: -
label.app.kubernetes.io/component: -
label.app.kubernetes.io/instance: -
label.app.kubernetes.io/managed-by: -
label.app.kubernetes.io/name: -
label.app.kubernetes.io/version: -
label.chart: -
label.component: -
label.eks.amazonaws.com/component: -
label.helm.sh/chart: -
label.heritage: -
label.io.kompose.service: app
label.k8s-app: -
label.mode: -
label.name: -
label.olm.catalogSource: -
label.plane: -
label.release: -
label.statefulset.kubernetes.io/pod-name: -
label.vizier-name: -
namespace_name: poki-test-1
nodename: ip-192-168-185-37.us-east-2.compute.internal
pod_name: app-5b87b74bc6-xd9sj
type: pod_container
Value: 1.200k
In order to add custom metrics such as duration or traffic, you will need to additionally define their dimensions. For example, if nginx is the ingress/envoy controller, Sedai supports nginx/envoy ingress metrics.
In the example below, the load balancer dimension for these metrics is
service
in the first code block (line 16) and envoy_cluster_name
in the second code block (line 4).nginx.ingress.controller.requests.counter: -
Source: ip-192-168-185-37.us-east-2.compute.internal
_host: hello-test.info
cluster: sedaivector
controller_class: k8s.io/ingress-nginx
controller_namespace: ingress-nginx
controller_pod: ingress-nginx-controller-7dfdd55674-zjnrr
ingress: opt-ingress
label.app.kubernetes.io/component: controller
label.app.kubernetes.io/instance: ingress-nginx
label.app.kubernetes.io/name: ingress-nginx
method: GET
namespace: optimization-test
path: /pyroglyph
pod: ingress-nginx-controller-7dfdd55674-zjnrr
service: pyroglyph-service
status: 200
Value: 10.004M
envoy.cluster.upstream.rq.completed.counter: -
Source: ip-192-168-48-229.us-east-2.compute.internal
cluster: sedaivector
envoy_cluster_name: default_httpbin_80
label.app.kubernetes.io/component: envoy
label.app.kubernetes.io/instance: my-release
label.app.kubernetes.io/managed-by: Helm
label.app.kubernetes.io/name: contour
label.helm.sh/chart: contour-7.3.5
namespace: projectcontour
pod: my-release-contour-envoy-h5jvk
Value: 2.574M
Last modified 1yr ago