The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

Overview

Grafana

The open-source platform for monitoring and observability.

License Circle CI Go Report Card

Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture:

  • Visualize: Fast and flexible client side graphs with a multitude of options. Panel plugins offer many different ways to visualize metrics and logs.
  • Dynamic Dashboards: Create dynamic & reusable dashboards with template variables that appear as dropdowns at the top of the dashboard.
  • Explore Metrics: Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side.
  • Explore Logs: Experience the magic of switching from metrics to logs with preserved label filters. Quickly search through all your logs or streaming them live.
  • Alerting: Visually define alert rules for your most important metrics. Grafana will continuously evaluate and send notifications to systems like Slack, PagerDuty, VictorOps, OpsGenie.
  • Mixed Data Sources: Mix different data sources in the same graph! You can specify a data source on a per-query basis. This works for even custom datasources.

Get started

Unsure if Grafana is for you? Watch Grafana in action on play.grafana.org!

Documentation

The Grafana documentation is available at grafana.com/docs.

Contributing

If you're interested in contributing to the Grafana project:

Get involved

License

Grafana is distributed under the Apache 2.0 License.

Comments
  • Test Datasource: do not use global random

    Test Datasource: do not use global random

    What is this feature? In alerting we do some performance testing using the test data source with function RandomWalk. During investigating performance problems I found that the RandomWalk method was the bottleneck. This happens because it uses global randomizer instance, that has synchronous access guarded by a mutex.

    blocks

    image

    This PR updates test data source to not use the global randomizer.

    type/performance area/backend datasource/TestDataDB no-backport no-changelog 
    opened by yuri-tceretian 0
  • Traces: Create span when a new session is opened

    Traces: Create span when a new session is opened

    What is this feature? When I tested changes in https://github.com/grafana/grafana/pull/61109 I found serious difference between top-level spans and query execution spans (sometimes seconds). It turned out that in my tests the code was blocked on starting a new session.

    This PR adds a tracing span that records when the session is open and closed. This will make db operations more visible because real duration of the query does not indicate the time it took to get data from database.

    image

    for example, this trace is much useful because it shows that although query took 3.78ms, the real db access took more than 4.8s ! Also, it revealed some unnecessary session opening, which is fixed in https://github.com/grafana/grafana/pull/61117

    area/backend area/tracing no-backport no-changelog 
    opened by yuri-tceretian 0
  • Alerting: Add client configuration for remote Loki historian backend and test connection

    Alerting: Add client configuration for remote Loki historian backend and test connection

    What is this feature?

    This PR creates and allows configuration of a Loki client, to be used in the remote loki state historian backend. We configure the client with a URL only (for now), and verify that we are able to communicate with Loki on startup.

    As in the previous PR, the configuration options are intentionally not documented. We might break them in the future.

    Which issue(s) does this PR fix?:

    contrib https://github.com/grafana/grafana/issues/48359

    Special notes for your reviewer:

    area/alerting area/backend pr/external no-backport no-changelog kata:state-history 
    opened by alexweav 0
  • Docs: removed unsupported versions; reordered

    Docs: removed unsupported versions; reordered

    This PR supports the Grafana 10 goal: Upgrade with Confidence. The Docs Squad has committed to refactoring and updating the upgrade guide.

    This PR removes unsupported versions from the upgrade guide and reorders content.

    type/docs pr/external 
    opened by chri2547 0
  • Traces: Fix timestamp for database query traces

    Traces: Fix timestamp for database query traces

    What is this feature? Grafana support tracing of database queries. However, the trace span starts when the query is already executed and closed almost immediately.

    https://github.com/grafana/grafana/blob/862a6a2fa625100b690c5a48a9b12e7a7dd42041/pkg/services/sqlstore/database_wrapper.go#L98-L108

    This makes span duration to be wrong:

    Screenshot

    image

    This PR updates the creation of the span and provides the actual query start timestamp

    Related: https://github.com/grafana/grafana/pull/42674

    Note: this fixes only OpenTelemetry mode. OpenTracing implementation does ignores the options

    type/bug area/backend area/tracing no-changelog backport v9.3.x 
    opened by yuri-tceretian 0
Releases(v9.3.2)
Owner
Grafana Labs
Grafana Labs is behind leading open source projects Grafana and Loki, and the creator of the first open & composable observability platform.
Grafana Labs
An example logging system using Prometheus, Loki, and Grafana.

Logging Example Structure Collector Export numerical data for Prometheus and log data for Promtail. Exporter uses port 8080 Log files are saved to ./c

YoungHwan Joo 5 Nov 21, 2022
Go starter project with Gin, Viper, postgres , redis, zap, prometheus metrics etc setup

Go REST Service Starter/Boilerplate Easily extendible REST API Service boilerplate aiming to follow idiomatic go and best practice. Any feedback and p

Kshitij Singh 1 Jun 23, 2022
SigNoz 4.7k Sep 24, 2021
Like Prometheus, but for logs.

Loki: like Prometheus, but for logs. Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. It

Grafana Labs 17.9k Dec 30, 2022
gosivy - Real-time visualization tool for Go process metrics

Gosivy tracks Go process's metrics and plot their evolution over time right into your terminal, no matter where it's running on. It helps you understand how your application consumes the resources.

Ryo Nakao 449 Nov 27, 2022
Very powerful server agent for collecting & sending logs & metrics with an easy-to-use web console.

logkit-community δΈ­ζ–‡η‰ˆ Introduce Very powerful server agent for collecting & sending logs & metrics with an easy-to-use web console. logkit-community De

Qiniu Cloud 1.3k Dec 29, 2022
A Postgres Metrics Dashboard

#Pome Pome stands for Postgres Metrics. Pome is a PostgreSQL Metrics Dashboard to keep track of the health of your database. This project is at a very

Rachid Belaid 1.1k Dec 22, 2022
pprof is a tool for visualization and analysis of profiling data

Introduction pprof is a tool for visualization and analysis of profiling data. pprof reads a collection of profiling samples in profile.proto format a

Google 6.1k Jan 8, 2023
Pragmatic and minimalistic module for collecting and sending traces from Go code πŸ’ͺ🏽

tracing-go Pragmatic and minimalistic module for collecting and exporting trace data from the Go code. prometheus/client_golang but for Traces NOTE: T

Bartlomiej Plotka 11 Jan 6, 2023
Structured, composable logging for Go

log15 Package log15 provides an opinionated, simple toolkit for best-practice logging in Go (golang) that is both human and machine readable. It is mo

Alan Shreve 1.1k Dec 18, 2022
Write log entries, get X-Ray traces.

logtoxray Write to logs, get X-Ray traces. No distributed tracing instrumenation library required. ?? ?? ?? THIS PROJECT IS A WORK-IN-PROGRESS PROTOTY

JBD 27 Apr 24, 2022
Tracetest - Trace-based testing. End-to-end tests powered by your OpenTelemetry Traces.

End-to-end tests powered by OpenTelemetry. For QA, Dev, & Ops. Live Demo | Documentation | Twitter | Discord | Blog Click on the image or this link to

kubeshop 333 Jan 3, 2023
gin-gonic/gin metrics for prometheus.

gin-metrics gin-gonic/gin metrics exporter for Prometheus. δΈ­ζ–‡ Introduction gin-metrics defines some metrics for gin http-server. There have easy way t

Pelen 149 Jan 1, 2023
Goimportcycle - a tool to visualize Go imports resolved to the file level

Go Import Cycle goimportcycle is a tool to visualize Go imports resolved to the

Sam L 29 Dec 8, 2022
mtail - extract internal monitoring data from application logs for collection into a timeseries database

mtail - extract internal monitoring data from application logs for collection into a timeseries database mtail is a tool for extracting metrics from a

Google 3.4k Dec 29, 2022
A flexible process data collection, metrics, monitoring, instrumentation, and tracing client library for Go

Package monkit is a flexible code instrumenting and data collection library. See documentation at https://godoc.org/gopkg.in/spacemonkeygo/monkit.v3 S

Space Monkey Go 470 Dec 14, 2022
Library and program to parse and forward HAProxy logs

haminer Library and program to parse and forward HAProxy logs. Supported forwarder, Influxdb Requirements Go for building from source code git for dow

Shulhan 22 Aug 17, 2022
Search and analysis tooling for structured logs

Zed The Zed system provides an open-source, cloud-native, and searchable data lake for semi-structured and structured data. Zed lakes utilize a supers

Brim 941 Jan 5, 2023
A customized GORM logger that implements the appropriate interface and uses Logrus to output logs

CryptoMath GORM Logger A customized GORM logger that implements the appropriate interface and uses Logrus to output logs. Install go get github.com/ma

Crypto Math 0 Nov 6, 2021