Skip to content

Commit

Permalink
Move files around, rename, and edit contents
Browse files Browse the repository at this point in the history
  • Loading branch information
clayton-cornell committed Mar 28, 2024
1 parent d82a74d commit e3fe86f
Show file tree
Hide file tree
Showing 13 changed files with 127 additions and 148 deletions.
34 changes: 0 additions & 34 deletions docs/sources/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,40 +36,6 @@ Some of these features 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.

## Supported platforms

* Linux

* Minimum version: kernel 2.6.32 or later
* Architectures: AMD64, ARM64

* Windows

* Minimum version: Windows Server 2016 or later, or Windows 10 or later.
* Architectures: AMD64

* macOS

* Minimum version: macOS 10.13 or later
* Architectures: AMD64 (Intel), ARM64 (Apple Silicon)

* FreeBSD

* Minimum version: FreeBSD 10 or later
* Architectures: AMD64

## Release cadence

A new minor release is planned every six weeks for {{< param "PRODUCT_NAME" >}}.

The release cadence is best-effort.
If necessary, releases may be performed outside of this cadence, or a scheduled release date can be moved forwards or backwards.

Minor releases published on cadence include updating dependencies for upstream OpenTelemetry Collector code if new versions are available.
Minor releases published outside of the release cadence may not include these dependency updates.

Patch and security releases may be created at any time.

[OpenTelemetry]: https://opentelemetry.io/ecosystem/distributions/
[Prometheus]: https://prometheus.io
[Loki]: https://github.com/grafana/loki
Expand Down
21 changes: 11 additions & 10 deletions docs/sources/data-collection.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,26 @@ title: Grafana Alloy data collection
weight: 900
---

# {{% param "FULL_PRODUCT_NAME" %}} Data collection
# {{% param "FULL_PRODUCT_NAME" %}} data collection

By default, {{< param "FULL_PRODUCT_NAME" >}} sends anonymous but uniquely identifiable usage information from your {{< param "PRODUCT_NAME" >}} instance to Grafana Labs.
These statistics are sent to `stats.grafana.org`.

Statistics help us better understand how {{< param "PRODUCT_NAME" >}} is used. This helps us prioritize features and documentation.
Statistics help Grafana better understand how {{< param "PRODUCT_NAME" >}} is used. This helps us prioritize features and documentation.

The usage information includes the following details:

* A randomly generated, anonymous unique ID (UUID).
* A randomly generated, anonymous, unique ID (UUID).
* Timestamp of when the UID was first generated.
* Timestamp of when the report was created (by default, every four hours).
* Version of running {{< param "PRODUCT_NAME" >}}.
* Operating system {{< param "PRODUCT_NAME" >}} is running on.
* System architecture {{< param "PRODUCT_NAME" >}} is running on.
* List of enabled [components][]
* Method used to deploy {{< param "PRODUCT_NAME" >}}, for example Docker, Helm, RPM, or Operator.

This list may change over time. All newly reported data is documented in the CHANGELOG.
* The version of {{< param "PRODUCT_NAME" >}}.
* The operating system {{< param "PRODUCT_NAME" >}} is running on.
* The system architecture {{< param "PRODUCT_NAME" >}} is running on.
* A list of enabled [components][]
* The method used to deploy {{< param "PRODUCT_NAME" >}}, for example Docker, Helm, or a Linux package.

This list may change over time.
All newly reported data is documented in the CHANGELOG.

## Opt-out of data collection

Expand Down
2 changes: 1 addition & 1 deletion docs/sources/get-started/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ weight: 50

# Get started with {{% param "FULL_PRODUCT_NAME" %}}

This section covers topics that help you get started with {{< param "PRODUCT_NAME" >}}, including installation, running {{< param "PRODUCT_NAME" >}}, overview of deployment topologies, and more.
This section helps you install, deploy, and run {{< param "PRODUCT_NAME" >}}.

{{< section >}}
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
---
canonical: https://grafana.com/docs/alloy/latest/get-started/deploy-alloy/
canonical: https://grafana.com/docs/alloy/latest/get-started/deploy/
description: Learn about possible deployment topologies for Grafana Alloy
menuTitle: Deploy
title: Grafana Alloy deployment topologies
title: Deploy Grafana Alloy
weight: 900
---

{{< docs/shared source="alloy" lookup="/deploy-alloy.md" version="<ALLOY_VERSION>" >}}

## Processing different types of telemetry in different {{< param "PRODUCT_NAME" >}} instances

If the load on {{< param "PRODUCT_NAME" >}} is small, it is recommended to process all necessary telemetry signals in the same {{< param "PRODUCT_NAME" >}} process.
For example, a single {{< param "PRODUCT_NAME" >}} can process all of the incoming metrics, logs, traces, and profiles.
If the load on {{< param "PRODUCT_NAME" >}} is small, you can process all necessary telemetry signals in the same {{< param "PRODUCT_NAME" >}} process.
For example, a single {{< param "PRODUCT_NAME" >}} deployment can process all of the incoming metrics, logs, traces, and profiles.

However, if the load on the {{< param "PRODUCT_NAME" >}}s is big, it may be beneficial to process different telemetry signals in different deployments of {{< param "PRODUCT_NAME" >}}s.
However, if the load on {{< param "PRODUCT_NAME" >}} is big, it may be beneficial to process different telemetry signals in different deployments of {{< param "PRODUCT_NAME" >}}.

This provides better stability due to the isolation between processes.
For example, an overloaded {{< param "PRODUCT_NAME" >}} processing traces won't impact an {{< param "PRODUCT_NAME" >}} processing metrics.
For example, an overloaded {{< param "PRODUCT_NAME" >}} instance processing traces won't impact an {{< param "PRODUCT_NAME" >}} instance processing metrics.
Different types of signal collection require different methods for scaling:

* "Pull" components such as `prometheus.scrape` and `pyroscope.scrape` are scaled using hashmod sharing or clustering.
* "Push" components such as `otelcol.receiver.otlp` are scaled by placing a load balancer in front of them.
* "Push" components such as `otelcol.receiver.otlp` are scaled by placing a load balancer in front of the components.

### Traces

Expand All @@ -39,9 +39,9 @@ To decide whether scaling is necessary, check metrics such as:
#### Stateful and stateless components

In the context of tracing, a "stateful component" is a component that needs to aggregate certain spans to work correctly.
A "stateless {{< param "PRODUCT_NAME" >}}" is an {{< param "PRODUCT_NAME" >}} which does not contain stateful components.
A "stateless {{< param "PRODUCT_NAME" >}}" is an {{< param "PRODUCT_NAME" >}} which doesn't contain stateful components.

Scaling stateful {{< param "PRODUCT_NAME" >}}s is more difficult, because spans must be forwarded to a specific {{< param "PRODUCT_NAME" >}} according to a span property such as trace ID or a `service.name` attribute.
Scaling stateful {{< param "PRODUCT_NAME" >}} instances is more difficult, because spans must be forwarded to a specific {{< param "PRODUCT_NAME" >}} instance according to a span property such as trace ID or a `service.name` attribute.
You can forward spans with `otelcol.exporter.loadbalancing`.

Examples of stateful components:
Expand All @@ -55,7 +55,7 @@ Examples of stateful components:
A "stateless component" doesn't need to aggregate specific spans to work correctly.
It can work correctly even if it only has some of the spans of a trace.

A stateless {{< param "PRODUCT_NAME" >}} can be scaled without using `otelcol.exporter.loadbalancing`.
A stateless {{< param "PRODUCT_NAME" >}} instance can be scaled without using `otelcol.exporter.loadbalancing`.
For example, you could use an off-the-shelf load balancer to do a round-robin load balancing.

Examples of stateless components:
Expand Down
4 changes: 2 additions & 2 deletions docs/sources/get-started/install/binary.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
canonical: https://grafana.com/docs/alloy/latest/get-started/install/binary/
description: Learn how to install Alloy as a standalone binary
description: Learn how to install Grafana Alloy as a standalone binary
menuTitle: Standalone
title: Install Alloy as a standalone binary
title: Install Grafana Alloy as a standalone binary
weight: 600
---

Expand Down
2 changes: 1 addition & 1 deletion docs/sources/get-started/install/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ You can modify the last line to change the arguments passed to the {{< param "PR
Refer to the documentation for [run][] for more information about the options available to the `run` command.

{{< admonition type="note" >}}
Make sure you pass `--server.http.listen-addr=0.0.0.0:12345` as an argument as shown in the example above.
Make sure you pass `--server.http.listen-addr=0.0.0.0:12345` as an argument as shown in the example.
If you don't pass this argument, the [debugging UI][UI] won't be available outside of the Docker container.
{{< /admonition >}}

Expand Down
1 change: 0 additions & 1 deletion docs/sources/get-started/install/kubernetes.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ To deploy {{< param "PRODUCT_NAME" >}} on Kubernetes using Helm, run the followi
- _`<NAMESPACE>`_: The namespace used in the previous step.

You have successfully deployed {{< param "PRODUCT_NAME" >}} on Kubernetes, using default Helm settings.
To configure {{< param "PRODUCT_NAME" >}}, see the [Configure {{< param "PRODUCT_NAME" >}} on Kubernetes][Configure] guide.

## Next steps

Expand Down
2 changes: 1 addition & 1 deletion docs/sources/get-started/install/linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ title: Install Grafana Alloy on Linux
weight: 300
---

# Install or uninstall {{% param "FULL_PRODUCT_NAME" %}} on Linux
# Install {{% param "FULL_PRODUCT_NAME" %}} on Linux

You can install {{< param "PRODUCT_NAME" >}} as a systemd service on Linux.

Expand Down
1 change: 1 addition & 0 deletions docs/sources/get-started/install/macos.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ You can install {{< param "PRODUCT_NAME" >}} on macOS with Homebrew .
{{< admonition type="note" >}}
The default prefix for Homebrew on Intel is `/usr/local`.
The default prefix for Homebrew on Apple Silicon is `/opt/Homebrew`.

To verify the default prefix for Homebrew on your computer, open a terminal window and type `brew --prefix`.
{{< /admonition >}}

Expand Down
12 changes: 6 additions & 6 deletions docs/sources/get-started/install/windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ To do a standard graphical install of {{< param "PRODUCT_NAME" >}} on Windows, p

1. Scroll down to the **Assets** section.

1. Download the file called `alloy-installer.exe.zip`.
1. Download the file called `alloy-installer-windows-amd64.exe.zip`.

1. Unzip the downloaded file.

1. Double-click on `alloy-installer.exe` to install {{< param "PRODUCT_NAME" >}}.
1. Double-click on `alloy-installer-windows-amd64.exe` to install {{< param "PRODUCT_NAME" >}}.

{{< param "PRODUCT_NAME" >}} is installed into the default directory `C:\Program Files\Grafana\Alloy`.
{{< param "PRODUCT_NAME" >}} is installed into the default directory `%PROGRAMFILES64%\GrafanaLabs\Alloy`.

## Silent install

Expand All @@ -34,7 +34,7 @@ To do a silent install of {{< param "PRODUCT_NAME" >}} on Windows, perform the f

1. Scroll down to the **Assets** section.

1. Download the file called `alloy-installer.exe.zip`.
1. Download the file called `alloy-installer-windows-amd64.exe.zip`.

1. Unzip the downloaded file.

Expand All @@ -57,14 +57,14 @@ To do a silent install of {{< param "PRODUCT_NAME" >}} on Windows, perform the f

## Service Configuration

{{< param "PRODUCT_NAME" >}} uses the Windows Registry `HKLM\Software\Grafana\Grafana Alloy` for service configuration.
{{< param "PRODUCT_NAME" >}} uses the Windows Registry `HKLM\Software\GrafanaLabs\Alloy` for service configuration.

* `Arguments` (Type `REG_MULTI_SZ`) Each value represents a binary argument for alloy binary.
* `Environment` (Type `REG_MULTI_SZ`) Each value represents a environment value `KEY=VALUE` for alloy binary.

## Uninstall

You can uninstall {{< param "PRODUCT_NAME" >}} with Windows Remove Programs or `C:\Program Files\Grafana\Alloy\uninstaller.exe`.
You can uninstall {{< param "PRODUCT_NAME" >}} with Windows Remove Programs or `%PROGRAMFILES64%\GrafanaLabs\Alloy\uninstaller.exe`.
Uninstalling {{< param "PRODUCT_NAME" >}} stops the service and removes it from disk.
This includes any configuration files in the installation directory.

Expand Down
126 changes: 44 additions & 82 deletions docs/sources/about.md → docs/sources/introduction/_index.md
Original file line number Diff line number Diff line change
@@ -1,90 +1,38 @@
---
canonical: https://grafana.com/docs/alloy/latest/about/
description: Alloy is a flexible, performant, vendor-neutral, telemetry collector
canonical: https://grafana.com/docs/alloy/latest/introduction/
description: Grafana Alloy is a flexible, high performance, vendor-neutral distribution of the OTel Collector
menuTitle: Introduction
title: Introduction to Alloy
title: Introduction to Grafana Alloy
weight: 10
---

# Introduction to {{% param "FULL_PRODUCT_NAME" %}}

{{< param "PRODUCT_NAME" >}} 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.
{{< param "PRODUCT_NAME" >}} is a flexible, high performance, vendor-neutral distribution of the [OpenTelemetry][] (OTel) Collector.
It's fully compatible with the most popular open source observability standards such as OpenTelemetry (OTel), Prometheus, and .

{{< param "PRODUCT_NAME" >}} focuses on ease-of-use, debuggability, and ability to adapt to the needs of power users.
{{< param "PRODUCT_NAME" >}} focuses on ease-of-use and the ability to adapt to the needs of power users.

Components allow for reusability, composability, and focus on a single task.
## Key features

* **Reusability** allows for the output of components to be reused as the input for multiple other components.
* **Composability** allows for components to be chained together to form a pipeline.
* **Single task** means the scope of a component is limited to one narrow task and thus has fewer side effects.
Some of the key features of {{< param "PRODUCT_NAME" >}} include:

## Features
* **Custom components:** You can use {{< param "PRODUCT_NAME" >}} to create and share custom components.
Custom components combine a pipeline of existing components into a single, easy-to-understand component that is just a few lines long.
You can use pre-built custom components from the community, ones packaged by Grafana, or create your own.
* **Reusable components:** You can use the output of a component as the input for multiple other components.
* **Chained components:** You can chain components together to form a pipeline.
* **Single task per component:** The scope of each component is limited to one specific task.
* **GitOps compatibility:** {{< param "PRODUCT_NAME" >}} uses frameworks to pull configurations from Git, S3, HTTP endpoints, and just about any other source.
* **Clustering support:** {{< param "PRODUCT_NAME" >}} has native clustering support.
Clustering helps distribute the workload and ensures you have high availability.
You can quickly create horizontally scalable deployments with minimal resource and operational overhead.
* **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.

* Write declarative configurations with a Terraform-inspired configuration language.
* Declare components to configure parts of a pipeline.
* Use expressions to bind components together to build a programmable pipeline.
* Includes a UI for debugging the state of a pipeline.
### Compare {{% param "PRODUCT_NAME" %}} with OpenTelemetry and Prometheus

## Example

```alloy
// Discover Kubernetes pods to collect metrics from
discovery.kubernetes "pods" {
role = "pod"
}
// Scrape metrics from Kubernetes pods and send to a prometheus.remote_write
// component.
prometheus.scrape "default" {
targets = discovery.kubernetes.pods.targets
forward_to = [prometheus.remote_write.default.receiver]
}
// Get an API key from disk.
local.file "apikey" {
filename = "/var/data/my-api-key.txt"
is_secret = true
}
// Collect and send metrics to a Prometheus remote_write endpoint.
prometheus.remote_write "default" {
endpoint {
url = "http://localhost:9009/api/prom/push"
basic_auth {
username = "MY_USERNAME"
password = local.file.apikey.content
}
}
}
```

## {{% param "PRODUCT_NAME" %}} configuration generator

The {{< param "PRODUCT_NAME" >}} [configuration generator][] helps you get a head start on creating {{< param "PRODUCT_NAME" >}} configurations.

{{< admonition type="note" >}}
This feature is experimental, and it doesn't support all {{< param "PRODUCT_NAME" >}} components.
{{< /admonition >}}

## Next steps

* [Install][] {{< param "PRODUCT_NAME" >}}.
* Learn about the core [Concepts][] of {{< param "PRODUCT_NAME" >}}.
* Follow the [Tutorials][] for hands-on learning of {{< param "PRODUCT_NAME" >}}.
* Consult the [Tasks][] instructions to accomplish common objectives with {{< param "PRODUCT_NAME" >}}.
* Check out the [Reference][] documentation to find specific information you might be looking for.

[configuration generator]: https://grafana.github.io/alloy-configurator/
[Install]: ../get-started/install/
[Concepts]: ../concepts/
[Tasks]: ../tasks/
[Tutorials]: ../tutorials/
[Reference]: ../reference/

### Compare distributions

The following tables compare {{< param "PRODUCT_NAME" >}} with OpenTelemetry and Prometheus.
The following tables compare some of the features of {{< param "PRODUCT_NAME" >}} with OpenTelemetry and Prometheus.

#### Core telemetry

Expand Down Expand Up @@ -113,22 +61,36 @@ The following tables compare {{< param "PRODUCT_NAME" >}} with OpenTelemetry and
| **Kubernetes monitoring** | [Yes][helm chart] | No | Yes, custom |
| **Application observability** | [Yes][observability] | Yes | No |

<!--
### BoringCrypto
[BoringCrypto][] is an **EXPERIMENTAL** feature for building {{< param "PRODUCT_NAME" >}}
binaries and images with BoringCrypto enabled. Builds and Docker images for Linux arm64/amd64 are made available.
[BoringCrypto]: https://pkg.go.dev/crypto/internal/boring
-->

## Next steps

* [Install][] {{< param "PRODUCT_NAME" >}}.
* Learn about the core [Concepts][] of {{< param "PRODUCT_NAME" >}}.
* Follow the [Tutorials][] for hands-on learning of {{< param "PRODUCT_NAME" >}}.
* Consult the [Tasks][] instructions to accomplish common objectives with {{< param "PRODUCT_NAME" >}}.
* Check out the [Reference][] documentation to find specific information you might be looking for.

[Install]: ../get-started/install/
[Concepts]: ../concepts/
[Tasks]: ../tasks/
[Tutorials]: ../tutorials/
[Reference]: ../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

[components]: ./reference/components
[Prometheus]: ./tasks/collect-prometheus-metrics/
[OTel]: ./tasks/collect-opentelemetry-data/
[Loki]: ./tasks/migrate/from-promtail/
[clustering]: ./concepts/clustering/
[rules]: ./reference/components/mimir.rules.kubernetes/
[vault]: ./reference/components/remote.vault/

### BoringCrypto

[BoringCrypto][] is an **EXPERIMENTAL** feature for building {{< param "PRODUCT_NAME" >}}
binaries and images with BoringCrypto enabled. Builds and Docker images for Linux arm64/amd64 are made available.

[BoringCrypto]: https://pkg.go.dev/crypto/internal/boring
Loading

0 comments on commit e3fe86f

Please sign in to comment.