Skip to content

Commit

Permalink
Add a table to the flow description showing benefits and strengths of…
Browse files Browse the repository at this point in the history
… flow (grafana#5732)

* First draft adding config table

* Rephrase soem parts and move tables

* Update docs/sources/about.md

Co-authored-by: Jack Baldry <[email protected]>

* Cleanup some semantic linebreaks

* Reorg tabels, add note to operator

* Fix broken link

---------

Co-authored-by: Jack Baldry <[email protected]>
  • Loading branch information
clayton-cornell and jdbaldry authored Nov 16, 2023
1 parent 440d01d commit 7e33d9c
Showing 1 changed file with 71 additions and 34 deletions.
105 changes: 71 additions & 34 deletions docs/sources/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,27 +14,40 @@ weight: 100

# Introduction to Grafana Agent

Grafana Agent is a vendor-neutral, batteries-included telemetry collector. It
is designed to be flexible, performant, and compatible with multiple ecosystems
such as Prometheus and OpenTelemetry.
Grafana Agent is a flexible, high performance, vendor-neutral telemetry collector. It's fully compatible with the most popular open source observability standards such as OpenTelemetry (OTel) and Prometheus.

Grafana Agent is available in three different variants:

- [Static mode][]: The default, original variant of Grafana Agent.
- [Static mode Kubernetes operator][]: Variant which manages agents running in Static mode.
- [Flow mode][]: The newer, more flexible re-imagining variant of Grafana Agent.
- [Static mode][]: The original Grafana Agent.
- [Static mode Kubernetes operator][]: The Kubernetes operator for Static mode.
- [Flow mode][]: The new, component-based Grafana Agent.

{{% docs/reference %}}
[Static mode]: "/docs/agent/ -> /docs/agent/<AGENT VERSION>/static"
[Static mode]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/send-data/agent/static"

[Static mode Kubernetes operator]: "/docs/agent/ -> /docs/agent/<AGENT VERSION>/operator"
[Static mode Kubernetes operator]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/send-data/agent/operator"

[Flow mode]: "/docs/agent/ -> /docs/agent/<AGENT VERSION>/flow"
[Flow mode]: "/docs/grafana-cloud/ -> /docs/agent/<AGENT VERSION>/flow"
[Prometheus]: "/docs/agent/ -> /docs/agent/<AGENT_VERSION>/flow/getting-started/collect-prometheus-metrics.md"
[Prometheus]: "/docs/grafana-cloud/ -> /docs/agent/<AGENT_VERSION>/flow/getting-started/collect-prometheus-metrics.md"
[OTel]: "/docs/agent/ -> /docs/agent/<AGENT_VERSION>/flow/getting-started/collect-opentelemetry-data.md"
[OTel]: "/docs/grafana-cloud/ -> /docs/agent/<AGENT_VERSION>/flow/getting-started/collect-opentelemetry-data.md"
[Loki]: "/docs/agent/ -> /docs/agent/<AGENT_VERSION>/flow/getting-started/migrating-from-promtail.md"
[Loki]: "/docs/grafana-cloud/ -> /docs/agent/<AGENT_VERSION>/flow/getting-started/migrating-from-promtail.md"
[clustering]: "/docs/agent/ -> /docs/agent/<AGENT_VERSION>/flow/concepts/clustering/_index.md"
[clustering]: "/docs/grafana-cloud/ -> /docs/agent/<AGENT_VERSION>/flow/concepts/clustering/_index.md"
[rules]: "/docs/agent/ -> /docs/agent/latest/flow/reference/components/mimir.rules.kubernetes.md"
[rules]: "/docs/grafana-cloud/ -> /docs/agent/latest/flow/reference/components/mimir.rules.kubernetes.md"
[vault]: "/docs/agent/ -> /docs/agent/<AGENT_VERSION>/flow/reference/components/remote.vault.md"
[vault]: "/docs/grafana-cloud/ -> /docs/agent/<AGENT_VERSION>/flow/reference/components/remote.vault.md"
{{% /docs/reference %}}

[Pyroscope]: https://grafana.com/docs/pyroscope/latest/configure-client/grafana-agent/go_pull
[helm chart]: https://grafana.com/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/configuration/config-k8s-helmchart
[sla]: https://grafana.com/legal/grafana-cloud-sla
[observability]: https://grafana.com/docs/grafana-cloud/monitor-applications/application-observability/setup#send-telemetry

## Stability

| Project | Stability |
Expand All @@ -45,13 +58,44 @@ Grafana Agent is available in three different variants:

## Choose which variant of Grafana Agent to run

> **NOTE**: You do not have to pick just one variant; it is possible to
> **NOTE**: You don't have to pick just one variant; it's possible to
> mix-and-match installations of Grafana Agent.
### Compare variants

Each variant of Grafana Agent provides a different level of functionality. The following tables compare Grafana Agent Flow mode with Static mode, Operator, OpenTelemetry, and Prometheus.

#### Core telemetry

| | Grafana Agent Flow mode | Grafana Agent Static mode | Grafana Agent Operator | OpenTelemetry Collector | Prometheus Agent mode |
|--------------|--------------------------|---------------------------|------------------------|-------------------------|-----------------------|
| **Metrics** | [Prometheus][], [OTel][] | Prometheus | Prometheus | OTel | Prometheus |
| **Logs** | [Loki][], [OTel][] | Loki | Loki | OTel | No |
| **Traces** | [OTel][] | OTel | OTel | OTel | No |
| **Profiles** | [Pyroscope][] | No | No | Planned | No |

#### **OSS features**

| | Grafana Agent Flow mode | Grafana Agent Static mode | Grafana Agent Operator | OpenTelemetry Collector | Prometheus Agent mode |
|--------------------------|-------------------------|---------------------------|------------------------|-------------------------|-----------------------|
| **Kubernetes native** | [Yes][helm chart] | No | Yes | Yes | No |
| **Clustering** | [Yes][clustering] | No | No | No | No |
| **Prometheus rules** | [Yes][rules] | No | No | No | No |
| **Native Vault support** | [Yes][vault] | No | No | No | No |

#### Grafana Cloud solutions

| | Grafana Agent Flow mode | Grafana Agent Static mode | Grafana Agent Operator | OpenTelemetry Collector | Prometheus Agent mode |
|-------------------------------|-------------------------|---------------------------|------------------------|-------------------------|-----------------------|
| **Official vendor support** | [Yes][sla] | Yes | Yes | No | No |
| **Cloud integrations** | Some | Yes | Some | No | No |
| **Kubernetes monitoring** | [Yes][helm chart] | Yes, custom | Yes | No | Yes, custom |
| **Application observability** | [Yes][observability] | No | No | Yes | No |

### Static mode

[Static mode][] is the original variant of Grafana Agent, first introduced on
March 3, 2020. Static mode is the most mature variant of Grafana Agent.
[Static mode][] is the original variant of Grafana Agent, introduced on March 3, 2020.
Static mode is the most mature variant of Grafana Agent.

You should run Static mode when:

Expand All @@ -61,12 +105,15 @@ You should run Static mode when:

### Static mode Kubernetes operator

The [Static mode Kubernetes operator][] is a variant of Grafana Agent first
introduced on June 17, 2021. It is currently in beta.
{{% admonition type="note" %}}
Grafana Agent version 0.37 and newer provides Prometheus Operator compatibility in Flow mode.
You should use Grafana Agent Flow mode for all new Grafana Agent deployments.
{{% /admonition %}}

The Static mode Kubernetes operator was introduced for compatibility with
Prometheus Operator, allowing static mode to support resources from Prometheus
Operator, such as ServiceMonitors, PodMonitors, and Probes.
The [Static mode Kubernetes operator][] is a variant of Grafana Agent introduced on June 17, 2021. It's currently in beta.

The Static mode Kubernetes operator provides compatibility with Prometheus Operator,
allowing static mode to support resources from Prometheus Operator, such as ServiceMonitors, PodMonitors, and Probes.

You should run the Static mode Kubernetes operator when:

Expand All @@ -76,34 +123,24 @@ You should run the Static mode Kubernetes operator when:

### Flow mode

[Flow mode][] is a stable variant of Grafana Agent first introduced on
September 29, 2022.

Flow mode was introduced as a re-imagining of Grafana Agent with a focus on
vendor neutrality, ease-of-use, improved debuggability, and ability to adapt to
the needs of power users by adopting a configuration-as-code model.
[Flow mode][] is a stable variant of Grafana Agent, introduced on September 29, 2022.

Flow mode is considered to be the future of the Grafana Agent project.
Grafana Agent Flow mode focuses on vendor neutrality, ease-of-use,
improved debugging, and ability to adapt to the needs of power users by adopting a configuration-as-code model.

You should run Flow mode when:

* You need functionality unique to Flow mode:

* **Debuggability**: You need to more easily debug configuration issues using
a UI.

* **Full OpenTelemetry support**: Support for collecting OpenTelemetry
metrics, logs, and traces.
* **Improved debugging**: You need to more easily debug configuration issues using a UI.

* **PrometheusRule support**: Support for the PrometheusRule resource from
the Prometheus Operator project for configuring Grafana Mimir.
* **Full OpenTelemetry support**: Support for collecting OpenTelemetry metrics, logs, and traces.

* **Ecosystem transformation**: You need to be able to convert Prometheus and
Loki pipelines to and from OpenTelmetry Collector pipelines.
* **PrometheusRule support**: Support for the PrometheusRule resource from the Prometheus Operator project for configuring Grafana Mimir.

* **Grafana Pyroscope support**: Support for collecting profiles for Grafana
Pyroscope.
* **Ecosystem transformation**: You need to be able to convert Prometheus and Loki pipelines to and from OpenTelmetry Collector pipelines.

* **Grafana Pyroscope support**: Support for collecting profiles for Grafana Pyroscope.

### BoringCrypto

Expand Down

0 comments on commit 7e33d9c

Please sign in to comment.