SynfraCore
Synfracore
Start Learning
Navigation

Academies

Platform

RoadmapsLabsCertificationsInterviewPYQsAI AssistantCareer
Start Learning Free🗺️ Learning Roadmaps

GrafanaCertification

Exam guides, practice questions, and prep strategies

🏆
Aligned with official exam objectives. Updated for current exam versions.· Updated 2025 · SynfraCore Grafana Team
Expert Content

Grafana Certification Guide

Certifications Available

CertFull NameFormatPassing

|------|-----------|--------|---------|

**Grafana Associate**Grafana Certified AssociateMCQ + practical70%
Grafana Associate — LokiLoki-focused associateMCQ + practical70%
Grafana Cloud coursesFree badges on grafana.com/trainingOnline

Exam available at: grafana.com/training/certification/


Exam Domains

DomainCoverage

|--------|----------|

Data sources & connectionPrometheus, Loki, Tempo, InfluxDB, MySQL
PromQL / LogQL queriesWriting queries in dashboard panels
Dashboard creationPanels, variables, links, annotations
AlertingAlert rules, contact points, notification policies
AdministrationUsers, orgs, RBAC, provisioning

Dashboard Creation Patterns

PANEL TYPES:
  Time series: metrics over time (most common)
  Stat: single current value with threshold coloring
  Gauge: current value on a dial
  Bar chart: compare categories
  Table: tabular data with column mapping
  Logs: Loki log streams
  Traces: Tempo distributed traces
  Geomap: geographic data
  Heatmap: distribution over time (histogram data)
  State timeline: state changes over time
  Histogram: distribution of values

VARIABLES (make dashboards dynamic):
  Query: populate from data source (e.g., all namespaces)
  Custom: static list of values
  Textbox: free-form input
  Constant: non-overridable value
  Data source: switch between data sources

  Example variable query for K8s namespaces:
  label_values(kube_namespace_labels, namespace)

  Use in panel: sum(rate(http_requests_total{namespace="$namespace"}[5m]))

Alerting in Grafana

ALERT RULE COMPONENTS:
  1. Query: PromQL or LogQL expression
  2. Condition: when to fire (Threshold, No data, Error)
  3. Pending period: how long before alerting
  4. Labels: route to correct contact point

CONTACT POINTS: Slack, PagerDuty, Email, OpsGenie, Webhook, Teams
NOTIFICATION POLICIES: label-based routing
  Default policy → specific policies by label
  matchers: [severity=critical] → PagerDuty
  matchers: [severity=warning] → Slack

SILENCES: suppress alerts during maintenance
NOTIFICATION TEMPLATES: customize alert messages with Go templates

ALERT STATE MACHINE:
  Normal → Pending (for: duration) → Firing → Resolved

Provisioning (Code as Config)

yaml
# datasources/prometheus.yaml
apiVersion: 1
datasources:
  - name: Prometheus
    type: prometheus
    url: http://prometheus:9090
    access: proxy
    isDefault: true
    jsonData:
      scrapeInterval: 15s
      httpMethod: POST

# dashboards/dashboards.yaml
apiVersion: 1
providers:
  - name: Default
    type: file
    options:
      path: /etc/grafana/dashboards
bash
# Grafana CLI
grafana-cli plugins install grafana-piechart-panel
grafana-cli admin reset-admin-password newpassword

# API (useful for automation)
curl -H "Authorization: Bearer $API_KEY" http://grafana:3000/api/dashboards/home

Study Resources

Grafana Fundamentals (grafana.com/tutorials) — free, official, best starting point
Play Grafana (play.grafana.org) — live playground, no setup needed
Grafana YouTube — free video tutorials
Grafana Community (community.grafana.com) — forums for questions

Revision Notes

GRAFANA = visualization layer for any time-series data source.
Core data sources: Prometheus (metrics) | Loki (logs) | Tempo (traces) | InfluxDB

DASHBOARD ESSENTIALS:
  Variables make dashboards reusable across services/namespaces
  Template variable syntax: $variable or ${variable}
  Panel links and dashboard links for navigation
  Annotations: mark events (deployments, incidents) on time series

ALERTING (Unified Alerting since Grafana 9):
  Alert rules live IN Grafana (not in Prometheus alertmanager for Grafana-managed)
  Contact points = receivers | Notification policies = routing
  Silences = maintenance windows

PROVISIONING: YAML config for datasources and dashboards → GitOps friendly
RBAC: Admin > Editor > Viewer roles | Teams for group permissions
Share:
Join our Community
Daily tips, job alerts, interview help — join engineers learning together
Up Next
📋
GrafanaCheatsheets
Quick reference — commands, syntax, and patterns
Also Worth Exploring
← Back to all Grafana modules
TroubleshootingCheatsheets