Git Product home page Git Product logo

agent's Introduction

Grafana Cloud Agent

Grafana Cloud Agent is an observability data collector optimized for sending metrics and log data to Grafana Cloud.

Users of Prometheus cloud storage vendors with a single Prometheus instance can struggle sending their data at massive scale (millions of active series): Prometheus is sometimes called a single point of failure that generally requires a giant machine with a lot of resources allocated to it.

The Grafana Cloud Agent uses the same code as Prometheus, but tackles these issues by only using the most relevant parts of Prometheus for interaction with hosted metrics:

  1. Service Discovery
  2. Scraping
  3. Write Ahead Log (WAL)
  4. Remote Write

On top of these, the Grafana Cloud Agent allows for an optional host filter mechanism, enabling users to easily shard the Agent across their cluster and lower the memory requirements per machine.

A typical deployment of the Grafana Cloud Agent for Prometheus metrics can see up to a 40% reduction in memory usage with comparable scrape loads.

Despite called the "Grafana Cloud Agent," it can be utilized with any Prometheus remote_write API.

Trade-offs

By heavily optimizing Prometheus for remote write and resource reduction, some trade-offs have been made:

  • You can't query the Agent; you can only query metrics from the remote write storage.
  • Recording rules aren't supported.
  • Alerts aren't supported.
  • When sharding the Agent, if your node has problems that interrupt metric availability, metrics tracking that node won't be sent for alerting on.

While the Agent can't use recording rules and alerts, remote_write systems such as Cortex currently support server-side rules and alerts. Note that this trade-off means that reliability of alerts are tied to the reliability of the remote system and alerts will be delayed at least by the time it takes for samples to reach the remote system.

Roadmap

  • Prometheus metrics
  • Promtail for Loki logs
  • carbon-relay-ng for Graphite metrics.
  • A second clustering mode to solve sharding monitoring availability problems.

Getting Started

The easiest way to get started with the Grafana Cloud Agent is to use the Kubernetes install script. Simply copy and paste the following line in your terminal:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/grafana/agent/release/production/kubernetes/install.sh)" | kubectl apply -f -

Other installation methods can be found in our Production documentation.

More detailed documentation is provided as part of the repository.

Example

A docker-compose config is provided in example/. It deploys the Agent, Cortex, Grafana, and Avalanche for load testing. See the README in example/ for more information.

Getting Help

If you have any questions or feedback regarding the Grafana Cloud Agent:

  • Ask a question on the Agent Slack channel. To invite yourself to the Grafana Slack, visit https://slack.grafana.com/ and join the #agent channel.
  • File an issue for bugs, issues and feature suggestions.

agent's People

Contributors

gotjosh avatar joe-elliott avatar rfratto avatar sh0rez avatar tomwilkie avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.