vmware-archive / wavefront-adapter-for-istio

Wavefront by VMware Adapter for Istio is an adapter for Istio to publish metrics to Wavefront by VMware.
Other
14 stars 17 forks source link
analytics istio metrics monitoring service-mesh wavefront

Wavefront by VMware Adapter for Istio

CircleCI Docker Pulls Slack License

Wavefront by VMware

Wavefront by VMware Adapter for Istio is an adapter for Istio to publish metrics to Wavefront by VMware.

Note: The master branch is used for active development and can become unstable. Please refer to the Quick Start from version 0.1.5 to install a stable version of the adapter.

Quick Start

This adapter could be installed either via Helm or via the standard method.

Helm Installation

Helm is the preferred way of installing this adapter. Please see the Helm Hub to learn to install this adapter using Helm.

Standard Installation

Prerequisites

To deploy this adapter, you will need a cluster with the following setup.

Note: From Istio v1.5.x onwards Mixer is disabled by default. Enable Mixer with the following step:

Istio v1.5.x
istioctl manifest apply --set values.telemetry.v1.enabled=true --set values.telemetry.v2.enabled=false --set components.telemetry.enabled=true --set components.citadel.enabled=true
Istio v1.6.x or v1.7.x
istioctl install --set values.telemetry.v1.enabled=true --set values.telemetry.v2.enabled=false --set components.telemetry.enabled=true

# Use below command if Istio is deployed in non default namespace, replace <NAMESPACE> with namespace name into which Istio is deployed.
istioctl install --set values.telemetry.v1.enabled=true --set values.telemetry.v2.enabled=false --set components.telemetry.enabled=true --set values.global.istioNamespace=<NAMESPACE>

Configuration

1. Download the configuration.

$ curl -LO https://raw.githubusercontent.com/vmware/wavefront-adapter-for-istio/0.1.5/install/config.yaml

2. If you want the metrics to be published to the Wavefront instance directly, supply the direct params for the wavefront-handler like so:

params:
  direct:
    server: https://YOUR-INSTANCE.wavefront.com
    token: YOUR-API-TOKEN

Instructions for generating an API token can be found in the Wavefront by VMware docs.

If you want the metrics to be published to the Wavefront Proxy instead, supply the proxy params like below:

params:
  proxy:
    address: YOUR-PROXY-IP:YOUR-PROXY-PORT

3. It is recommended that you update the source attribute to a reasonable value, for example, to your cluster name.

params:
  ...
  source: my-cluster

4(Optional). If Istio is deployed in non default namespace replace istio-system with namespace name into which Istio is deployed.

Example: Change namespace: istio-system to namespace: istio-demo, handler: wavefront-handler.istio-system to handler: wavefront-handler.istio-demo

See the reference docs for the available configuration parameters.

Deployment

Installation

Execute the following command to configure the Istio Mixer to publish metrics to Wavefront using this adapter. This step must be performed after deploying Istio.

$ kubectl apply -f config.yaml

You should now be able to see Istio metrics on Wavefront under your configured source (or istio by default).

Uninstallation

To uninstall this adapter, use the following command.

$ kubectl delete -f config.yaml

Contributing

Please see CONTRIBUTING.md if you'd like to contribute.

Troubleshooting

License

Wavefront by VMware Adapter for Istio is licensed under the Apache License, Version 2.0. See LICENSE for the full license text. Also, see the open_source_licenses file for the full license text from the packages used in this project.