All Projects → mehrdadrad → Tcpprobe

mehrdadrad / Tcpprobe

Licence: mit
Modern TCP tool and service for network performance observability.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Tcpprobe

Cloudprober
An active monitoring software to detect failures before your customers do.
Stars: ✭ 1,269 (+513.04%)
Mutual labels:  monitoring, observability, sre, probe, k8s
Tcpdog
eBPF based TCP observability.
Stars: ✭ 119 (-42.51%)
Mutual labels:  tcp, socket, monitoring, observability
Blinksocks
A framework for building composable proxy protocol stack.
Stars: ✭ 587 (+183.57%)
Mutual labels:  tcp, http2, https
RRQMSocket
TouchSocket是.Net(包括 C# 、VB.Net、F#)的一个整合性的、超轻量级的网络通信框架。包含了 tcp、udp、ssl、http、websocket、rpc、jsonrpc、webapi、xmlrpc等一系列的通信模块。一键式解决 TCP 黏分包问题,udp大数据包分片组合问题等。使用协议模板,可快速实现「固定包头」、「固定长度」、「区间字符」等一系列的数据报文解析。
Stars: ✭ 286 (+38.16%)
Mutual labels:  socket, tcp, https
Hp Socket
High Performance TCP/UDP/HTTP Communication Component
Stars: ✭ 4,420 (+2035.27%)
Mutual labels:  tcp, socket, https
Beetlex
high performance dotnet core socket tcp communication components, support TLS, HTTP, HTTPS, WebSocket, RPC, Redis protocols, custom protocols and 1M connections problem solution
Stars: ✭ 802 (+287.44%)
Mutual labels:  tcp, socket, https
Express Status Monitor
🚀 Realtime Monitoring solution for Node.js/Express.js apps, inspired by status.github.com, sponsored by https://dynobase.dev
Stars: ✭ 3,302 (+1495.17%)
Mutual labels:  socket, monitoring, observability
Httpcanary
A powerful capture and injection tool for the Android platform
Stars: ✭ 2,188 (+957%)
Mutual labels:  tcp, http2, https
Howtheysre
A curated collection of publicly available resources on how technology and tech-savvy organizations around the world practice Site Reliability Engineering (SRE)
Stars: ✭ 6,962 (+3263.29%)
Mutual labels:  monitoring, observability, sre
Cilium
eBPF-based Networking, Security, and Observability
Stars: ✭ 10,256 (+4854.59%)
Mutual labels:  monitoring, observability, k8s
Katlas
A distributed graph-based platform to automatically collect, discover, explore and relate multi-cluster Kubernetes resources and metadata.
Stars: ✭ 179 (-13.53%)
Mutual labels:  observability, k8s
Applicationinsights Java
Application Insights for Java
Stars: ✭ 172 (-16.91%)
Mutual labels:  monitoring, observability
Nest Status Monitor
Simple, self-hosted module based on Socket.io and Chart.js to report realtime server metrics for Nest-based node servers
Stars: ✭ 173 (-16.43%)
Mutual labels:  socket, monitoring
Haproxy
HAProxy Load Balancer's development branch (mirror of git.haproxy.org)
Stars: ✭ 2,463 (+1089.86%)
Mutual labels:  http2, https
Fq Book
📖《这本书能让你连接互联网》详细阐述代理、隧道、VPN运作过程,并对GFW策略如:地址端口封锁、服务器缓存投毒、数字验证攻击、SSL连接阻断做相关的原理说明
Stars: ✭ 2,393 (+1056.04%)
Mutual labels:  tcp, https
Http2 Wrapper
Use HTTP2 the same way like HTTP1
Stars: ✭ 183 (-11.59%)
Mutual labels:  http2, https
Kubernetes Kargo Logging Monitoring
Deploy kubernetes cluster with kargo
Stars: ✭ 202 (-2.42%)
Mutual labels:  monitoring, k8s
Tobs
tobs - The Observability Stack for Kubernetes. Easy install of a full observability stack into a k8s cluster with a CLI tool or Helm charts.
Stars: ✭ 186 (-10.14%)
Mutual labels:  monitoring, observability
Awesome Sre Tools
A curated list of Site Reliability and Production Engineering Tools
Stars: ✭ 186 (-10.14%)
Mutual labels:  monitoring, sre
Nginxconfig.io
⚙️ NGINX config generator on steroids 💉
Stars: ✭ 14,983 (+7138.16%)
Mutual labels:  http2, https

tcpprobe

Github Actions Go report Coverage Status

TCPProbe is a modern TCP tool and service for network performance observability. It exposes information about socket’s underlying TCP session, TLS and HTTP (more than 60 metrics). you can run it through command line or as a service. the request is highly customizable and you can integrate it with your application through gRPC. it runs in a Kubernetes cluster as cloud native application and by adding annotations on pods allow a fine control of the probing process.

tcpprobe

Features

  • TCP socket statistics
  • TCP/IP request customization
  • Prometheus exporter
  • Probing multiple hosts
  • Runs as service
  • Kubernetes native
  • gRPC interface

Documentation

Command line (download Linux binary)

tcpprobe -json https://www.google.com
{"Target":"https://www.google.com","IP":"142.250.72.196","Timestamp":1607567390,"Seq":0,"State":1,"CaState":0,"Retransmits":0,"Probes":0,"Backoff":0,"Options":7,"Rto":204000,"Ato":40000,"SndMss":1418,"RcvMss":1418,"Unacked":0,"Sacked":0,"Lost":0,"Retrans":0,"Fackets":0,"LastDataSent":56,"LastAckSent":0,"LastDataRecv":0,"LastAckRecv":0,"Pmtu":9001,"RcvSsthresh":56587,"Rtt":1365,"Rttvar":446,"SndSsthresh":2147483647,"SndCwnd":10,"Advmss":8949,"Reordering":3,"RcvRtt":0,"RcvSpace":62727,"TotalRetrans":0,"PacingRate":20765147,"BytesAcked":448,"BytesReceived":10332,"SegsOut":10,"SegsIn":11,"NotsentBytes":0,"MinRtt":1305,"DataSegsIn":8,"DataSegsOut":3,"DeliveryRate":1785894,"BusyTime":4000,"RwndLimited":0,"SndbufLimited":0,"Delivered":4,"DeliveredCe":0,"BytesSent":447,"BytesRetrans":0,"DsackDups":0,"ReordSeen":0,"RcvOoopack":0,"SndWnd":66816,"TCPCongesAlg":"cubic","HTTPStatusCode":200,"HTTPRcvdBytes":14683,"HTTPRequest":113038,"HTTPResponse":293,"DNSResolve":2318,"TCPConnect":1421,"TLSHandshake":57036,"TCPConnectError":0,"DNSResolveError":0}

Docker

docker run --rm mehrdadrad/tcpprobe smtp.gmail.com:587

Docker Compose

TCPProbe and Prometheus

docker-compose up -d

Open your browser and try http://localhost:9090 You can edit the docker-compose.yml to customize the options and target(s).

Helm Chart

Detailed installation instructions for TCPProbe on Kubernetes are found here.

helm install tcpprobe tcpprobe

License

This project is licensed under MIT license. Please read the LICENSE file.

Contribute

Welcomes any kind of contribution, please follow the next steps:

  • Fork the project on github.com.
  • Create a new branch.
  • Commit changes to the new branch.
  • Send a pull request.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].