net-exporter

command module
v1.19.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 1, 2024 License: Apache-2.0 Imports: 19 Imported by: 0

README

CircleCI Go Report Card

net-exporter

net-exporter is a Prometheus exporter for exposing network information in Kubernetes clusters. It is packaged as a Helm chart.

net-exporter runs as a Kubernetes Daemonset. This is to allow for intra-pod network calls, to determine network latency.

How to build

Build it using the standard go build command.

go build github.com/giantswarm/net-exporter

Deployment

  • Managed by [app-operator].
  • Production releases are stored in the [default-catalog].
  • WIP releases are stored in the [default-test-catalog].

Installing the Chart

To install the chart locally:

$ git clone https://github.com/giantswarm/net-exporter.git
$ cd net-exporter
$ helm install helm/net-exporter

Provide a custom values.yaml:

$ helm install net-exporter -f values.yaml

Changes to Charts

At the current stage under helm, there are two charts. The net-exporter is pushed to the App Catalog. The net-exporter-chart is pushed to the Quay appr repo.

It is important that they are kept in sync.

We have this differentiation in place because in our Control Planes, we don't use the app-operator to deploy.

Release Process

Currently only members of the Giant Swarm organization can create releases for this project. For up to date steps, please refer to internal docs here: https://intranet.giantswarm.io/docs/dev-and-releng/how-to-release-a-project/

Collectors

All Collectors are enabled by default.

Name Description
dns Exposes DNS latency statistics. Performs host lookups, exposing the time taken per host.
network Exposes network latency statistics. Performs dials to the other net-exporter Pods, exposing the time taken per host.

Metrics

Name Description
dns_latency_seconds_bucket A Prometheus Histogram of DNS resolution latency. See also dns_latency_seconds_count and dns_latency_seconds_sum.
dns_resolve_error_total The total number of errors encountered resolving DNS.
dns_error_total The total number of internal errors encountered testing DNS resolution.
network_latency_seconds_bucket A Prometheus Histogram of network latency. See also network_latency_seconds_count and network_latency_seconds_sum.
network_dial_error_total The total number of errors encountered dialing other hosts.
network_error_total The total number of internal errors encountered testing network latency.

For example (some labels ommited for clarity):

dns_latency_seconds_bucket{instance="192.168.120.239:8000", host="kubernetes.default.svc.cluster.local", le="0.008"} | 7

Here, we expose the latency for the specific instance to resolve the dns host.

network_latency_seconds_bucket{instance="192.168.120.239:8000", host="192.168.120.239:8000", le="0.004"} | 28

Here, we expose the latency for the specific instance to resolve another instance (specifically, the net-exporter pod, labeled as host).

Contact

Contributing & Reporting Bugs

See CONTRIBUTING for details on submitting patches, the contribution workflow as well as reporting bugs.

License

net-exporter is under the Apache 2.0 license. See the LICENSE file for details.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL