Skip to content
forked from grafana/agent

Prometheus Metrics, Loki Logs, and Tempo Traces, optimized for Grafana Cloud.

License

Notifications You must be signed in to change notification settings

tpaschalis/agent

This branch is 4 commits ahead of, 727 commits behind grafana/agent:main.

Folders and files

NameName
Last commit message
Last commit date
Oct 13, 2023
Oct 13, 2023
Oct 13, 2023
Oct 13, 2023
Oct 13, 2023
Oct 13, 2023
Oct 12, 2023
Sep 4, 2023
Sep 21, 2023
Oct 13, 2023
Aug 31, 2023
Oct 13, 2023
Oct 10, 2023
Sep 25, 2023
Oct 10, 2023
Aug 24, 2023
Sep 7, 2022
Apr 13, 2023
Jun 20, 2023
Sep 6, 2023
Apr 5, 2023
Oct 16, 2023
Jul 27, 2023
Apr 15, 2021
May 10, 2023
Mar 9, 2020
May 23, 2023
Oct 10, 2023
Aug 28, 2023
Feb 15, 2022
Oct 16, 2023
Oct 16, 2023

Repository files navigation

Grafana Agent logo

Grafana Agent is a vendor-neutral, batteries-included telemetry collector with configuration inspired by Terraform. It is designed to be flexible, performant, and compatible with multiple ecosystems such as Prometheus and OpenTelemetry.

Grafana Agent is based around components. Components are wired together to form programmable observability pipelines for telemetry collection, processing, and delivery.

NOTE: This page focuses mainly on "Flow mode," the Terraform-inspired revision of Grafana Agent.

Grafana Agent can collect, transform, and send data to:

Why use Grafana Agent?

  • Vendor-neutral: Fully compatible with the Prometheus, OpenTelemetry, and Grafana open source ecosystems.
  • Every signal: Collect telemetry data for metrics, logs, traces, and continuous profiles.
  • Scalable: Deploy on any number of machines to collect millions of active series and terabytes of logs.
  • Battle-tested: Grafana Agent extends the existing battle-tested code from the Prometheus and OpenTelemetry Collector projects.
  • Powerful: Write programmable pipelines with ease, and debug them using a built-in UI.
  • Batteries included: Integrate with systems like MySQL, Kubernetes, and Apache to get telemetry that's immediately useful.

Getting started

Check out our documentation to see:

Example

// Discover Kubernetes pods to collect metrics from.
discovery.kubernetes "pods" {
  role = "pod"
}

// Collect metrics from Kubernetes pods.
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
}

// 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
    }
  }
}

We maintain an example Docker Compose environment that can be used to launch dependencies to play with Grafana Agent locally.

Release cadence

A new minor release is planned every six weeks. You can use the list of Milestones to see what maintainers are planning on working on for a given release cycle.

Both the release cadence and the items assigned to a milestone are best-effort: releases may be moved forwards or backwards if needed, and items may be moved to a different milestone or removed entirely. The planned release dates for future minor releases do not change if one minor release is moved.

Patch and security releases may be created at any time.

Community

To engage with the Grafana Agent community:

Contribute

Refer to our contributors guide to learn how to contribute.

About

Prometheus Metrics, Loki Logs, and Tempo Traces, optimized for Grafana Cloud.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 94.4%
  • Jsonnet 3.3%
  • TypeScript 0.9%
  • Makefile 0.6%
  • Shell 0.3%
  • Dockerfile 0.2%
  • Other 0.3%