Skip to content

Commit

Permalink
docs: Add design section to readme (#243)
Browse files Browse the repository at this point in the history
## Which problem is this PR solving?
Updates the repository readme to include a section about how the agent
works along with a design image.

## Short description of the changes
- Add new agent_design.png
- Update README to describe how the agent works

## How to verify that this has the expected result
Repository readme includes more details on how the agent works.

---------

Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>
  • Loading branch information
MikeGoldsmith and JamieDanielson committed Oct 2, 2023
1 parent 26ae462 commit d4df4ee
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,23 @@

[![OSS Lifecycle](https://img.shields.io/osslifecycle/honeycombio/honeycomb-network-agent)](https://github.com/honeycombio/home/blob/main/honeycomb-oss-lifecycle-and-practices.md)

The agent is deployed to Kubernetes as a [`DaemonSet`](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/),
which means that Kubernetes will try to have the agent run on every node in the cluster.
The Honeycomb Network Agent is a low effort, no-code, language agnostic solution to getting telemetry of your applications running in Kubernetes.

Docker images are found in [`ghcr.io/honeycombio/network-agent:latest`](https://github.com/honeycombio/honeycomb-network-agent/pkgs/container/network-agent).

See notes on local development in [`DEVELOPING.md`](./DEVELOPING.md)

## How it Works

The agent runs as a [`DaemonSet`](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/) on each node in a Kubernetes cluster.
It captures raw network packets from the network interface that is shared by all resources on the node (Pods, Daemonsets, etc).
Captured network packets are reassembled into whole payloads and then parsed into known application level formats (eg HTTP).
Parsed payloads are converted into events and then sent to Honeycomb.

Events include network level information such as source & destination IPs and port numbers, kubernetes information such as source and destination Pod names, and application level format specific information such as HTTP method and response status code.

![design diagram](./agent_design.png)

## Getting Started (Quickstart)

### Requirements
Expand Down
Binary file added agent_design.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit d4df4ee

Please sign in to comment.