From 6343f5fa8ab42e51340d4e08634eb9f940736ea7 Mon Sep 17 00:00:00 2001 From: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com> Date: Thu, 4 Apr 2024 15:00:31 -0700 Subject: [PATCH] Add more info to Introduction topic and clean up images (#119) * Clean up content add diagram * Update images in deploy topic --- docs/sources/introduction/_index.md | 62 ++++++++++------------------- docs/sources/shared/deploy-alloy.md | 6 +-- 2 files changed, 25 insertions(+), 43 deletions(-) diff --git a/docs/sources/introduction/_index.md b/docs/sources/introduction/_index.md index ba31aa20d0..4e68cdf445 100644 --- a/docs/sources/introduction/_index.md +++ b/docs/sources/introduction/_index.md @@ -30,46 +30,28 @@ Some of the key features of {{< param "PRODUCT_NAME" >}} include: * **Security:** {{< param "PRODUCT_NAME" >}} helps you manage authentication credentials and connect to HashiCorp Vaults or Kubernetes clusters to retrieve secrets. * **Debugging utilities:** {{< param "PRODUCT_NAME" >}} provides troubleshooting support and an embedded [user interface][UI] to help you identify and resolve configuration problems. - +## How does {{% param "PRODUCT_NAME" %}} work as an OpenTelemetry collector? + +{{< figure src="/media/docs/alloy/flow-diagram-small-alloy.png" alt="Alloy flow diagram" >}} + +### Collect + +{{< param "PRODUCT_NAME" >}} uses more than 120 components to collect telemetry data from applications, databases, and OpenTelemetry collectors. +{{< param "PRODUCT_NAME" >}} supports collection using multiple ecosystems, including OpenTelemetry and Prometheus. + +Telemetry data can be either pushed to {{< param "PRODUCT_NAME" >}}, or {{< param "PRODUCT_NAME" >}} can pull it from your data sources. + +### Transform + +{{< param "PRODUCT_NAME" >}} processes data and transforms it for sending. + +You can use transformations to inject extra metadata into telemetry or filter out unwanted data. + +### Write + +{{< param "PRODUCT_NAME" >}} sends data to OpenTelemetry-compatible databases or collectors, the Grafana LGTM stack, or Grafana Cloud. + +{{< param "PRODUCT_NAME" >}} can also write alerting rules in compatible databases. ## Next steps diff --git a/docs/sources/shared/deploy-alloy.md b/docs/sources/shared/deploy-alloy.md index 4ef7d7b3ac..7042b53172 100644 --- a/docs/sources/shared/deploy-alloy.md +++ b/docs/sources/shared/deploy-alloy.md @@ -17,7 +17,7 @@ This page lists common topologies used for {{% param "PRODUCT_NAME" %}} deployme Deploying {{< param "PRODUCT_NAME" >}} as a centralized service is recommended for collecting application telemetry. This topology allows you to use a smaller number of collectors to coordinate service discovery, collection, and remote writing. -![centralized-collection](/media/docs/agent/agent-topologies/centralized-collection.png) +{{< figure src="/media/docs/alloy/collection-diagram-alloy.png" alt="Centralized collection with Alloy">}} Using this topology requires deploying {{< param "PRODUCT_NAME" >}} on separate infrastructure, and making sure that they can discover and reach these applications over the network. The main predictor for the size of an {{< param "PRODUCT_NAME" >}} deployment is the number of active metrics series it's scraping. A rule of thumb is approximately 10 KB of memory for each series. @@ -52,7 +52,7 @@ You can also use a Kubernetes Deployment in cases where persistent storage isn't Deploying one {{< param "PRODUCT_NAME" >}} instance per machine is required for collecting machine-level metrics and logs, such as node_exporter hardware and network metrics or journald system logs. -![daemonset](/media/docs/agent/agent-topologies/daemonset.png) +{{< figure src="/media/docs/alloy/host-diagram-alloy.png" alt="Alloy as a host daemon">}} Each {{< param "PRODUCT_NAME" >}} instance requires you to open an outgoing connection for each remote endpoint it’s shipping data to. This can lead to NAT port exhaustion on the egress infrastructure. @@ -88,7 +88,7 @@ The simplest use case of the host daemon topology is a Kubernetes DaemonSet, and Deploying {{< param "PRODUCT_NAME" >}} as a container sidecar is only recommended for short-lived applications or specialized {{< param "PRODUCT_NAME" >}} deployments. -![daemonset](/media/docs/agent/agent-topologies/sidecar.png) +{{< figure src="/media/docs/alloy/sidecar-diagram-alloy.png" alt="Alloy as a container sidecar">}} ### Using Kubernetes Pod sidecars