K8spacket

k8spacket - packets traffic visualization for kubernetes
Alternatives To K8spacket
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Kibana18,347113 hours ago1August 01, 201510,080otherTypeScript
Your window into the Elastic Stack
Cube3,9343154 years ago26August 20, 201348otherJavaScript
Cube: A system for time series visualization.
Aim3,293
20 hours ago172October 11, 2021240apache-2.0Python
Aim 💫 — easy-to-use and performant open-source ML experiment tracker.
Statsviz2,754262 days ago27September 05, 202210mitGo
:rocket: Visualise Go program runtime metrics in real time in your browser
Hiddenlayer1,53145a year ago3April 24, 202048mitPython
Neural network graphs and training metrics for PyTorch, Tensorflow, and Keras.
Uncertainty Toolbox1,421
2 months ago1December 02, 20217mitPython
Uncertainty Toolbox: a Python toolbox for predictive uncertainty quantification, calibration, metrics, and visualization
Infranodus682
4 months ago187JavaScript
A Node.Js / Neo4J tool that translates words and relations into network graphs and shows you how it all connects.
K8spacket564
a month ago1apache-2.0Go
k8spacket - packets traffic visualization for kubernetes
Hera498
6 years ago5mitJavaScript
Train/evaluate a Keras model, get metrics streamed to a dashboard in your browser.
Emerge449
a month ago6April 27, 20225mitPython
Emerge is a source code and dependency visualizer that can be used to gather insights about source code structure, metrics, dependencies and complexity of software projects. After scanning the source code of a project it provides you an interactive web interface to explore and analyze your project by using graph structures.
Alternatives To K8spacket
Select To Compare


Alternative Project Comparisons
Readme

k8spacket - packets traffic visualization for kubernetes


What's new in version 1.1.0

  • tls-parser plugin can get information about the server certificate chain (TLS versions less than 1.3)
  • dashboard about TLS connections has changed to show server certificate chain details (depends on marcusolsson-json-datasource and marcusolsson-dynamictext-panel Grafana plugins)

docs/tls_cert.gif


What's new in version 1.0.0

  • architecture of k8spacket changed to use go plugins (see available plugins here: k8spacket/plugins)
  • added the plugin with metrics about the TLS handshake process inside and outside the cluster (TLS version and cipher suite used)
  • added a dashboard with TLS metrics

docs/tls.gif

  • added a dashboard about TLS connections
    • IP and name of TLS client
    • domain, IP, and port of TLS server
    • supported TLS versions and cipher suites by the client
    • chosen TLS version and cipher suite by the server

docs/tls.png


k8spacket helps to understand TCP packets traffic in your kubernetes cluster:

  • shows traffic between workloads in the cluster
  • informs where the traffic is routed outside the cluster
  • displays information about closing sockets by connections
  • shows how many bytes are sent/received by workloads
  • calculates how long the connections are established
  • displays the net of connections between workloads in the whole cluster

k8spacket uses Node Graph API Grafana datasource plugin. See details Node Graph API plugin

Installation

Install k8spacket using helm chart (k8spacket/k8spacket-helm-chart)

  helm repo add k8spacket https://k8spacket.github.io/k8spacket-helm-chart
  helm repo update k8spacket
  
  helm install k8spacket --namespace k8spacket k8spacket/k8spacket --create-namespace

Add Node Graph API and JSON API plugins and datasources to your Grafana instance. You can do it manually or change helm values for the Grafana chart, e.g.:

grafana:
  env:
    GF_INSTALL_PLUGINS: hamedkarbasi93-nodegraphapi-datasource,marcusolsson-json-datasource,marcusolsson-dynamictext-panel
  datasources:
    nodegraphapi-plugin-datasource.yaml:
      apiVersion: 1
      datasources:
        - name: "Node Graph API"
          jsonData:
            url: "http://k8spacket.k8spacket.svc.cluster.local:8080/nodegraph"
          access: "proxy"
          basicAuth: false
          isDefault: false
          readOnly: false
          type: "hamedkarbasi93-nodegraphapi-datasource"
          typeLogoUrl: "public/plugins/hamedkarbasi93-nodegraphapi-datasource/img/logo.svg"
          typeName: "node-graph-plugin"
          orgId: 1
          version: 1
    marcusolsson-json-datasource.yaml:
      apiVersion: 1
      datasources:
        - name: "JSON API"
          url: "http://k8spacket.k8spacket.svc.cluster.local:8080/tlsparser/api/data"
          access: "proxy"
          basicAuth: false
          isDefault: false
          readOnly: false
          type: "marcusolsson-json-datasource"
          typeLogoUrl: "public/plugins/marcusolsson-json-datasource/img/logo.svg"
          typeName: "json-api-plugin"
          orgId: 1
          version: 1

Fill additional scrape config to observe Prometheus metrics:

    - job_name: "k8spacket-metrics"
      metrics_path: /metrics
      scrape_interval: 25s
      static_configs:
      - targets: [k8spacket.k8spacket.svc.cluster.local:8080]

Add dashboards configmap to Grafana stack

  kubectl -n $GRAFANA_NS apply --recursive -f ./dashboards

Usage

Go to k8spacket - node graph in Grafana Dashboards and use filters as below

Select graph mode (connection, bytes, duration)

docs/graphmode.gif

Filter by namespace

docs/namespace.gif

Filter by include or exclude workflow name

docs/includeexclude.gif

Popular Visualization Projects
Popular Metrics Projects
Popular User Interface Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Go
Visualization
Metrics
Tcp
Prometheus
Grafana
Observability