Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

first draft of alloy overview rewrite #2031

Open
wants to merge 19 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 15 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 27 additions & 27 deletions docs/sources/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,31 +17,34 @@ hero:
width: 110
height: 110
description: >-
Grafana Alloy is a vendor-neutral distribution of the OpenTelemetry (OTel) Collector. Alloy uniquely combines the very best OSS observability signals in the community.
cards:
Grafana Alloy is a vendor-neutral distribution of the OpenTelemetry (OTel) Collector. With Alloy, you can instrument your application or infrastructure to collect, process, and forward telemetry data to the observability backend of your choice.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can instrument your application

Technically, Alloy is not used for application instrumentation. Normally "application instrumentation" refers to the SDK which users use for instrumenting - e.g. Prometheus or OTel.

Copy link
Contributor Author

@LisaHJung LisaHJung Dec 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for catching this @ptodev !

What role does Alloy play in data collection for applications?

Is Prometheus or OTel used to instrument an app, and the data is sent to Alloy for processing and forwarding?

If that is the case, why wouldn't they just use Prometheus or OTel to handle all of that?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ptodev , perhaps we could change the sentence to
"Alloy is a software that collects, processes, and forwards telemetry data to an observability backend of your choice, where they can be stored & visualized."

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Grafana Alloy is a vendor-neutral distribution of the OpenTelemetry (OTel) Collector. With Alloy, you can instrument your application or infrastructure to collect, process, and forward telemetry data to the observability backend of your choice.
Grafana Alloy is a vendor-neutral distribution of the OpenTelemetry (OTel) Collector.
Alloy collects, processes, and forwards telemetry data to an observability backend where is stored and visualized.

The distribution of OTel or not part isn't finalized on the OTel side (at least I don't think it has been... yet, so we can leave that as-is.

cards:
title_class: pt-0 lh-1
items:
- title: Introduction
href: ./introduction/
description: Discover more about the key features and benefits of Alloy.
- title: Concepts
href: ./get-started/
description: Learn about components, modules, clustering, and the Alloy configuration syntax.
LisaHJung marked this conversation as resolved.
Show resolved Hide resolved
- title: Install Alloy
href: ./set-up/install/
description: Learn how to install and uninstall Alloy on Docker, Kubernetes, Linux, macOS, or Windows.
- title: Run Alloy
href: ./set-up/run/
description: Learn how to start, restart, and stop Alloy after you have installed it.
- title: Configure Alloy
href: ./configure/
description: Learn how to configure Alloy on Kubernetes, Linux, macOS, or Windows.
- title: Run Alloy
href: ./set-up/run/
description: Learn how to start, restart, and stop Alloy after you have installed it.
- title: Migrate to Alloy
href: ./set-up/migrate/
description: Learn how to migrate to Alloy from Grafana Agent Operator, Prometheus, Promtail, Grafana Agent Static, or Grafana Agent Flow.
- title: Collect OpenTelemetry data
href: ./collect/opentelemetry-data/
description: You can configure Alloy to collect OpenTelemetry-compatible data and forward it to any OpenTelemetry-compatible endpoint. Learn how to configure OpenTelemetry data delivery, configure batching, and receive OpenTelemetry data over OTLP.
- title: Collect and forward Prometheus metrics
href: ./collect/prometheus-metrics/
description: You can configure Alloy to collect Prometheus metrics and forward them to any Prometheus-compatible database. Learn how to configure metrics delivery and collect metrics from Kubernetes Pods.
- title: Concepts
href: ./get-started/
description: Learn about components, modules, clustering, and the Alloy configuration syntax.
- title: Use Alloy to send logs to Loki
href: ./tutorials/send-logs-to-loki/
description: Learn how to use Grafana Alloy to send logs to Loki.
- title: Use Alloy to send metrics to Prometheus
href: ./tutorials/send-metrics-to-prometheus/
description: Learn how to use Grafana Alloy to send metrics to Prometheus.
- title: Reference
href: ./reference/
description: Read the reference documentation about the command line tools, configuration blocks, components, and standard library.
Expand All @@ -53,21 +56,19 @@ cards:

# Overview

{{< param "PRODUCT_NAME" >}} offers native pipelines for [OTel][], [Prometheus][], [Pyroscope][], [Loki][], and many other metrics, logs, traces, and profile tools.
In addition, you can use {{< param "PRODUCT_NAME" >}} pipelines to do different tasks, such as configure alert rules in Loki and [Mimir][].
{{< param "PRODUCT_NAME" >}} is fully compatible with the OTel Collector, Prometheus Agent, and [Promtail][].
You can use {{< param "PRODUCT_NAME" >}} as an alternative to either of these solutions or combine it into a hybrid system of multiple collectors and agents.
You can deploy {{< param "PRODUCT_NAME" >}} anywhere within your IT infrastructure and pair it with your Grafana LGTM stack, a telemetry backend from Grafana Cloud, or any other compatible backend from any other vendor.
{{< param "PRODUCT_NAME" >}} is flexible, and you can easily configure it to fit your needs in on-prem, cloud-only, or a mix of both.
Collecting the relevant telemetry data, such as metrics, logs, and traces, for analysis is an indispensable part of understanding the health of your system.
LisaHJung marked this conversation as resolved.
Show resolved Hide resolved

{{< param "PRODUCT_NAME" >}} is more than just a collector. You can use {{< param "PRODUCT_NAME" >}} to collect, process, and forward telemetry data to the observability backend of your choosing.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{{< param "PRODUCT_NAME" >}} is more than just a collector. You can use {{< param "PRODUCT_NAME" >}} to collect, process, and forward telemetry data to the observability backend of your choosing.
You can use {{< param "PRODUCT_NAME" >}} to collect, process, and forward telemetry data to the observability backend of your choosing.

Collecting,, processing, and forwarding is what any collector does :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The initial sentence was an attempt to rework some other suggested wording that didn't quite fit. I agree, it's better to simply drop it altogether.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ptodev and @clayton-cornell

What do you think about changing this sentence to:
Alloy is a software that collects, processes, and forwards telemetry data to an observability backend of your choice, where they can be stored & visualized.


{{< admonition type="tip" >}}
{{< param "PRODUCT_NAME" >}} uses the same components, code, and concepts that were first introduced in Grafana Agent Flow.
{{< /admonition >}}
{{< param "PRODUCT_NAME" >}} has the following features to help you customize, scale, secure, and troubleshoot your data pipeline.

## What can {{% param "PRODUCT_NAME" %}} do?
* Custom components
* GitOps compatibility
* Clustering support
* Security
* Debugging utilities
Comment on lines +65 to +69
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unless those bullet points are links, this might be too abstract and people may not understand it. We could either make them links, or explain it in more simple terms. Probably links are the better option.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ptodev , agreed.
I was trying to simplify what was on the original page but perhaps it's better to leave it out completely and explain this on another page. What do you think?


{{< param "PRODUCT_NAME" >}} is more than just observability signals like metrics, logs, and traces. It provides many features that help you quickly find and process your data in complex environments.
Some of these features include custom components, GitOps compatibility, clustering support, security, and debugging utilities. Refer to the {{< param "PRODUCT_NAME" >}} [Introduction] for more information on these and other key features.
{{< param "PRODUCT_NAME" >}} is flexible, and you can easily configure it to fit your needs in on-prem, cloud-only, or a mix of both.
LisaHJung marked this conversation as resolved.
Show resolved Hide resolved

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thing to add here is a clear call to action, which is for them to install, configure, and collect forward telemetry data.

We could do that by including the section on getting started in the original draft on the overview page

OR

include a blurb saying, "Getting started with Alloy consists of 3 major steps.
Click here to get started." Then, link it to a new page with content in the original draft as shown below.

New page:
Getting started with Alloy consists of 3 major steps:

  1. Install {{< param "PRODUCT_NAME" >}}
  2. Configure {{< param "PRODUCT_NAME" >}}
  3. Collect and forward telemetry data to the observability backend of your choice.

In addition, you can use the Grafana dashboard to visualize the data collected from the app or infrastructure.

For a quick overview of this process, check out the following tutorials.

What do you think?

Copy link
Contributor

@clayton-cornell clayton-cornell Dec 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some thoughts on this:

  • I'd really like to keep this landing page as simple as possible... and in-line with the other Grafana product landing pages.
  • We should never use Click here in any documentation.
  • The 3 major steps part doesn't fit in so well... if we want to dive into this level of detail, then it should be on a child page.
  • The landing page should simply introduce the product, not provide steps/instructions.

Copy link
Contributor Author

@LisaHJung LisaHJung Dec 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. @clayton-cornell Why don't we leave out the call to action part and include the suggested text on the Get Started page?
https://grafana.com/docs/alloy/latest/get-started/

## Explore

Expand All @@ -79,4 +80,3 @@ Some of these features include custom components, GitOps compatibility, clusteri
[Loki]: https://grafana.com/docs/loki/
[Mimir]: https://grafana.com/docs/mimir/
[Promtail]: https://grafana.com/docs/loki/latest/send-data/promtail/
[Introduction]: ./introduction/
54 changes: 27 additions & 27 deletions docs/sources/_index.md.t
Original file line number Diff line number Diff line change
Expand Up @@ -17,31 +17,34 @@ hero:
width: 110
height: 110
description: >-
Grafana Alloy is a vendor-neutral distribution of the OpenTelemetry (OTel) Collector. Alloy uniquely combines the very best OSS observability signals in the community.
cards:
Grafana Alloy is a vendor-neutral distribution of the OpenTelemetry (OTel) Collector. With Alloy, you can instrument your app or infrastrastructure to collect, process, and forward telemetry data to the observability backend of your choice.
cards:
title_class: pt-0 lh-1
items:
- title: Introduction
href: ./introduction/
description: Discover more about the key features and benefits of Alloy.
- title: Concepts
href: ./get-started/
description: Learn about components, modules, clustering, and the Alloy configuration syntax.
- title: Install Alloy
href: ./set-up/install/
description: Learn how to install and uninstall Alloy on Docker, Kubernetes, Linux, macOS, or Windows.
- title: Run Alloy
href: ./set-up/run/
description: Learn how to start, restart, and stop Alloy after you have installed it.
- title: Configure Alloy
href: ./configure/
description: Learn how to configure Alloy on Kubernetes, Linux, macOS, or Windows.
- title: Run Alloy
href: ./set-up/run/
description: Learn how to start, restart, and stop Alloy after you have installed it.
- title: Migrate to Alloy
href: ./set-up/migrate/
description: Learn how to migrate to Alloy from Grafana Agent Operator, Prometheus, Promtail, Grafana Agent Static, or Grafana Agent Flow.
- title: Collect OpenTelemetry data
href: ./collect/opentelemetry-data/
description: You can configure Alloy to collect OpenTelemetry-compatible data and forward it to any OpenTelemetry-compatible endpoint. Learn how to configure OpenTelemetry data delivery, configure batching, and receive OpenTelemetry data over OTLP.
- title: Collect and forward Prometheus metrics
href: ./collect/prometheus-metrics/
description: You can configure Alloy to collect Prometheus metrics and forward them to any Prometheus-compatible database. Learn how to configure metrics delivery and collect metrics from Kubernetes Pods.
- title: Concepts
href: ./get-started/
description: Learn about components, modules, clustering, and the Alloy configuration syntax.
- title: Use Alloy to send logs to Loki
href: ./tutorials/send-logs-to-loki/
description: Learn how to use Grafana Alloy to send logs to Loki.
- title: Use Alloy to send metrics to Prometheus
href: ./tutorials/send-metrics-to-prometheus/
description: Learn how to use Grafana Alloy to send metrics to Prometheus.
- title: Reference
href: ./reference/
description: Read the reference documentation about the command line tools, configuration blocks, components, and standard library.
Expand All @@ -53,21 +56,19 @@ cards:

# Overview

{{< param "PRODUCT_NAME" >}} offers native pipelines for [OTel][], [Prometheus][], [Pyroscope][], [Loki][], and many other metrics, logs, traces, and profile tools.
In addition, you can use {{< param "PRODUCT_NAME" >}} pipelines to do different tasks, such as configure alert rules in Loki and [Mimir][].
{{< param "PRODUCT_NAME" >}} is fully compatible with the OTel Collector, Prometheus Agent, and [Promtail][].
You can use {{< param "PRODUCT_NAME" >}} as an alternative to either of these solutions or combine it into a hybrid system of multiple collectors and agents.
You can deploy {{< param "PRODUCT_NAME" >}} anywhere within your IT infrastructure and pair it with your Grafana LGTM stack, a telemetry backend from Grafana Cloud, or any other compatible backend from any other vendor.
{{< param "PRODUCT_NAME" >}} is flexible, and you can easily configure it to fit your needs in on-prem, cloud-only, or a mix of both.
Collecting the relevant telemetry data, such as metrics, logs, and traces, for analysis is an indispensable part of understanding the health of your system.

{{< param "PRODUCT_NAME" >}} is more than just a collector. You can use {{< param "PRODUCT_NAME" >}} to collect, process, and forward telemetry data to the observability backend of your choosing.
Copy link
Contributor Author

@LisaHJung LisaHJung Nov 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why don't we change this sentence to:

Alloy is a software that collects, processes, and forwards telemetry data to an observability backend of your choice, where they can be stored & visualized.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

or:

Alloy collects, processes, and forwards telemetry data to an observability backend where is stored and visualized.


{{< admonition type="tip" >}}
{{< param "PRODUCT_NAME" >}} uses the same components, code, and concepts that were first introduced in Grafana Agent Flow.
{{< /admonition >}}
{{< param "PRODUCT_NAME" >}} has the following features to help you customize, scale, secure, and troubleshoot your data pipeline.

## What can {{% param "PRODUCT_NAME" %}} do?
* Custom components
* GitOps compatibility
* Clustering support
* Security
* Debugging utilities

{{< param "PRODUCT_NAME" >}} is more than just observability signals like metrics, logs, and traces. It provides many features that help you quickly find and process your data in complex environments.
Some of these features include custom components, GitOps compatibility, clustering support, security, and debugging utilities. Refer to the {{< param "PRODUCT_NAME" >}} [Introduction] for more information on these and other key features.
{{< param "PRODUCT_NAME" >}} is flexible, and you can easily configure it to fit your needs in on-prem, cloud-only, or a mix of both.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thing to add here is a clear call to action, which is for them to install, configure, and collect forward telemetry data.

We could do that by including the section on getting started in the original draft on the overview page

OR

include a blurb saying, "Getting started with Alloy consists of 3 major steps.
Click here to get started." Then, link it to a new page with content in the original draft as shown below.

New page:
Getting started with Alloy consists of 3 major steps:

Install {{< param "PRODUCT_NAME" >}}
Configure {{< param "PRODUCT_NAME" >}}
Collect and forward telemetry data to the observability backend of your choice.
In addition, you can use the Grafana dashboard to visualize the data collected from the app or infrastructure.

For a quick overview of this process, check out the following tutorials.

Use Grafana Alloy to send logs to Loki
Use Grafana Alloy to send metrics to Prometheus
For more tutorials, check out the tutorial page
What do you think?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's normally clear to users that they have to install and configure it. The main issue is that there are many ways to do so. For example, do they have to deploy one Alloy per server? Or one central Alloy instance? What if they use OpenTelemetry? Or Prometheus? I think we should simply link to several articles which help them get started quickly with the sort of telemetry they are interested in. The ones you linked to are a good choice:

Use Grafana Alloy to send logs to Loki
Use Grafana Alloy to send metrics to PrometheusUse Grafana Alloy to send logs to Loki
Use Grafana Alloy to send metrics to Prometheus

I'd also add one more about collecting OpenTelemetry. I do also wonder if we should rename those pages like this

  • send metrics to Prometheus -> collect infrastructure metrics
  • send logs to Loki -> collect infrastructure logs
  • send OpenTelemetry signals -> collect application telemetry

This reflects the current guidance on how to use components.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ptodev, this is such a great point.

@clayton-cornell recommended that we do not add a CTA to an overview page, which makes sense.

I suggest we include this information on the get started page: https://grafana.com/docs/alloy/latest/get-started/

Why don't we touch base on this when we restructure and improve the getting started page of the doc?

## Explore

Expand All @@ -79,4 +80,3 @@ Some of these features include custom components, GitOps compatibility, clusteri
[Loki]: https://grafana.com/docs/loki/
[Mimir]: https://grafana.com/docs/mimir/
[Promtail]: https://grafana.com/docs/loki/latest/send-data/promtail/
[Introduction]: ./introduction/
Loading