<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/getting-started-with-influxdb-3-and-grafana-tutorial-mapqehwjx" -->

---
title: Getting Started with InfluxDB 3 and Grafana Tutorial
description: A hands-on walkthrough shows how to build a complete monitoring stack with InfluxDB 3 and Grafana using a self-generated week of smart-building sensor data. It...
canonical: https://daily.dev/posts/getting-started-with-influxdb-3-and-grafana-tutorial-mapqehwjx
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Getting Started with InfluxDB 3 and Grafana Tutorial | daily.dev
og:description: A hands-on walkthrough shows how to build a complete monitoring stack with InfluxDB 3 and Grafana using a self-generated week of smart-building sensor data. It...
og:url: https://daily.dev/posts/getting-started-with-influxdb-3-and-grafana-tutorial-mapqehwjx
og:image: https://api.daily.dev/og/posts/mapqEHwjX.png
og:image:alt: Getting Started with InfluxDB 3 and Grafana Tutorial
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Getting Started with InfluxDB 3 and Grafana Tutorial

**[InfluxData](https://daily.dev/sources/influxdb)** · 24 min read · 0 upvotes · 0 comments

## Summary

A hands-on walkthrough shows how to build a complete monitoring stack with InfluxDB 3 and Grafana using a self-generated week of smart-building sensor data. It covers writing line protocol, using an InfluxDB 3 Python Processing Engine plugin to derive an indoor-air-quality risk score table from raw telemetry, connecting Grafana's built-in InfluxDB datasource via Flight SQL with read-only tokens, and building eight dashboard panels (stats, time series, state timelines, bar gauges, tables) using template variables, chained variables, $__timeFilter, and date_bin() downsampling. It closes with pointers to further InfluxDB 3 features like scheduled triggers, rollup tables, and caching, plus Grafana features like transformations and data links.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.influxdata.com/blog/getting-started-influxdb-3-grafana>

## Questions this post answers

### How do I connect Grafana to InfluxDB 3 without installing a third-party plugin?

Grafana ships with a built-in InfluxDB datasource that speaks InfluxDB 3 SQL over Flight SQL, so no third-party plugin or custom query language is needed. Configure it with the InfluxDB server URL, SQL as the query language, the target database name, a read-only token scoped to that database, and enable Insecure Connection when running without TLS locally.

_daily.dev surfaces integration guides like this for engineers wiring up time-series dashboards._

### How do I transform raw sensor data into derived metrics automatically in InfluxDB 3?

Use an InfluxDB 3 Python Processing Engine plugin registered as a WAL trigger scoped to the raw table, which runs on every write and outputs a separate derived table via LineBuilder. Scoping the trigger to only the raw table (not the derived one) prevents recursive invocation, and keeping raw data untouched lets you recompute scoring logic later without losing source data.

_engineers designing write-time enrichment pipelines track patterns like this on daily.dev._

### What is the InfluxDB 3 Distinct Value Cache used for?

It speeds up SELECT DISTINCT queries over a tag column, which is exactly the type of query Grafana template variables run when populating dropdown filters like building or zone. On large deployments this can be the difference between dashboards that load instantly and ones that stall during variable refresh.

_teams tuning dashboard performance can follow database caching techniques via daily.dev._

## Similar posts on daily.dev

- [Smart Home Monitoring with InfluxDB 3, Google Nest, and Grafana](https://daily.dev/posts/smart-home-monitoring-with-influxdb-3-google-nest-and-grafana-j9xfnzgio) · InfluxData · 0 upvotes · 0 comments
- [Visualizations with InfluxDB 3: More Options Than Ever Before](https://daily.dev/posts/visualizations-with-influxdb-3-more-options-than-ever-before-wcji5rigf) · InfluxData · 0 upvotes · 0 comments
- [Getting Started with InfluxDB 3 Core: From Installation to First Query in 10 Minutes](https://daily.dev/posts/getting-started-with-influxdb-3-core-from-installation-to-first-query-in-10-minutes-xz2pznuq3) · InfluxData · 3 upvotes · 0 comments

---

Tags: [#python](https://daily.dev/tags/python), [#sql](https://daily.dev/tags/sql), [#grafana](https://daily.dev/tags/grafana), [#influxdb](https://daily.dev/tags/influxdb)

[View this post on daily.dev](https://daily.dev/posts/getting-started-with-influxdb-3-and-grafana-tutorial-mapqehwjx)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Getting Started with InfluxDB 3 and Grafana Tutorial","url":"https://daily.dev/posts/getting-started-with-influxdb-3-and-grafana-tutorial-mapqehwjx","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/getting-started-with-influxdb-3-and-grafana-tutorial-mapqehwjx"},"datePublished":"2026-09-02T13:23:11.281Z","dateModified":"2026-09-02T13:36:12.346Z","description":"A hands-on walkthrough shows how to build a complete monitoring stack with InfluxDB 3 and Grafana using a self-generated week of smart-building sensor data. It...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/37aa3f6b38e21ecffb9b1b2b10a2a934?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/37aa3f6b38e21ecffb9b1b2b10a2a934?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"InfluxData","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"InfluxData","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/fe5458bda4564e9eb0e51001b4b81374","url":"https://daily.dev/sources/influxdb"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/getting-started-with-influxdb-3-and-grafana-tutorial-mapqehwjx","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"python,sql,grafana,influxdb","timeRequired":"PT24M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"InfluxData","item":"https://daily.dev/sources/influxdb"},{"@type":"ListItem","position":3,"name":"Getting Started with InfluxDB 3 and Grafana Tutorial"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/getting-started-with-influxdb-3-and-grafana-tutorial-mapqehwjx#faq","mainEntity":[{"@type":"Question","name":"How do I connect Grafana to InfluxDB 3 without installing a third-party plugin?","acceptedAnswer":{"@type":"Answer","text":"Grafana ships with a built-in InfluxDB datasource that speaks InfluxDB 3 SQL over Flight SQL, so no third-party plugin or custom query language is needed. Configure it with the InfluxDB server URL, SQL as the query language, the target database name, a read-only token scoped to that database, and enable Insecure Connection when running without TLS locally. daily.dev surfaces integration guides like this for engineers wiring up time-series dashboards."}},{"@type":"Question","name":"How do I transform raw sensor data into derived metrics automatically in InfluxDB 3?","acceptedAnswer":{"@type":"Answer","text":"Use an InfluxDB 3 Python Processing Engine plugin registered as a WAL trigger scoped to the raw table, which runs on every write and outputs a separate derived table via LineBuilder. Scoping the trigger to only the raw table (not the derived one) prevents recursive invocation, and keeping raw data untouched lets you recompute scoring logic later without losing source data. engineers designing write-time enrichment pipelines track patterns like this on daily.dev."}},{"@type":"Question","name":"What is the InfluxDB 3 Distinct Value Cache used for?","acceptedAnswer":{"@type":"Answer","text":"It speeds up SELECT DISTINCT queries over a tag column, which is exactly the type of query Grafana template variables run when populating dropdown filters like building or zone. On large deployments this can be the difference between dashboards that load instantly and ones that stall during variable refresh. teams tuning dashboard performance can follow database caching techniques via daily.dev."}}]}
```

