Giter Site home page Giter Site logo

qqshfox / net-exporter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from giantswarm/net-exporter

0.0 1.0 0.0 12.98 MB

A Prometheus exporter for exposing network information in Kubernetes clusters

Home Page: https://giantswarm.io

License: Apache License 2.0

Go 99.17% Dockerfile 0.83%

net-exporter's Introduction

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

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

  • Ensure CHANGELOG.md is up to date.
  • Create a new GitHub release with the version e.g. v0.1.0 and link the changelog entry.
  • This will push a new git tag and trigger a new tarball to be pushed to the default-catalog.
  • Update cluster-operator with the new version.

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.

net-exporter's People

Contributors

josephsalisbury avatar corest avatar rossf7 avatar indyfree avatar pipo02mix avatar ferrandinand avatar marians avatar kopiczko avatar theobrigitte avatar tuommaki avatar stone-z avatar calvix avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.