Skip to main content 홈 크리에이터 beko2210 firstbrain grafana-dashboards
grafana-dashboards Create and manage production-ready Grafana dashboards for comprehensive system observability.
설치로 이동 Skills Marketplace 커뮤니티가 만든 AI 스킬을 발견하고 탐색하세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/BEKO2210/Firstbrain --skill grafana-dashboards명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Zip 다운로드 다운로드 중... name grafana-dashboards description Create and manage production-ready Grafana dashboards for comprehensive system observability. type skill created 2026-02-27T00:00:00.000Z domain cloud-infrastructure category monitoring risk unknown source community tags ["skill","cloud-infrastructure","monitoring","grafana","dashboards"]
Grafana Dashboards
Create and manage production-ready Grafana dashboards for comprehensive system observability.
Do not use this skill when
The task is unrelated to grafana dashboards
You need a different domain or tool outside this scope
Instructions
Clarify goals, constraints, and required inputs.
Apply relevant best practices and validate outcomes.
Provide actionable steps and verification.
If detailed examples are required, open resources/implementation-playbook.md.
Purpose
Design effective Grafana dashboards for monitoring applications, infrastructure, and business metrics.
Use this skill when
Visualize Prometheus metrics
Create custom dashboards
Implement SLO dashboards
Monitor infrastructure
Track business KPIs
Dashboard Design Principles
1. Hierarchy of Information
┌─────────────────────────────────────┐
│ Critical Metrics (Big Numbers) │
├─────────────────────────────────────┤
│ Key Trends (Time Series) │
├─────────────────────────────────────┤
│ Detailed Metrics (Tables/Heatmaps) │
└─────────────────────────────────────┘
2. RED Method (Services)
Rate - Requests per second
Errors - Error rate
Duration - Latency/response time
3. USE Method (Resources)
Utilization - % time resource is busy
Saturation - Queue length/wait time
Errors - Error count
Dashboard Structure
API Monitoring Dashboard
{
"dashboard" : {
"title" : "API Monitoring" ,
"tags" : [ "api" , "production" ] ,
"timezone"
:
"browser"
,
"refresh"
:
"30s"
,
"panels"
:
[
{
"title"
:
"Request Rate"
,
"type"
:
"graph"
,
"targets"
:
[
{
"expr"
:
"sum(rate(http_requests_total[5m])) by (service)"
,
"legendFormat"
:
"{{service}}"
}
]
,
"gridPos"
:
{
"x"
:
0
,
"y"
:
0
,
"w"
:
12
,
"h"
:
8
}
}
,
{
"title"
:
"Error Rate %"
,
"type"
:
"graph"
,
"targets"
:
[
{
"expr"
:
"(sum(rate(http_requests_total{status=~\"5..\"}[5m])) / sum(rate(http_requests_total[5m]))) * 100"
,
"legendFormat"
:
"Error Rate"
}
]
,
"alert"
:
{
"conditions"
:
[
{
"evaluator"
:
{
"params"
:
[
5
]
,
"type"
:
"gt"
}
,
"operator"
:
{
"type"
:
"and"
}
,
"query"
:
{
"params"
:
[
"A"
,
"5m"
,
"now"
]
}
,
"type"
:
"query"
}
]
}
,
"gridPos"
:
{
"x"
:
12
,
"y"
:
0
,
"w"
:
12
,
"h"
:
8
}
}
,
{
"title"
:
"P95 Latency"
,
"type"
:
"graph"
,
"targets"
:
[
{
"expr"
:
"histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, service))"
,
"legendFormat"
:
"{{service}}"
}
]
,
"gridPos"
:
{
"x"
:
0
,
"y"
:
8
,
"w"
:
24
,
"h"
:
8
}
}
]
}
}
Reference: See assets/api-dashboard.json
Panel Types
1. Stat Panel (Single Value) {
"type" : "stat" ,
"title" : "Total Requests" ,
"targets" : [ {
"expr" : "sum(http_requests_total)"
} ] ,
"options" : {
"reduceOptions" : {
"values" : false ,
"calcs" : [ "lastNotNull" ]
} ,
"orientation" : "auto" ,
"textMode" : "auto" ,
"colorMode" : "value"
} ,
"fieldConfig" : {
"defaults" : {
"thresholds" : {
"mode" : "absolute" ,
"steps" : [
{ "value" : 0 , "color" : "green" } ,
{ "value" : 80 , "color" : "yellow" } ,
{ "value" : 90 , "color" : "red" }
]
}
}
}
}
2. Time Series Graph {
"type" : "graph" ,
"title" : "CPU Usage" ,
"targets" : [ {
"expr" : "100 - (avg by (instance) (rate(node_cpu_seconds_total{mode=\"idle\"}[5m])) * 100)"
} ] ,
"yaxes" : [
{ "format" : "percent" , "max" : 100 , "min" : 0 } ,
{ "format" : "short" }
]
}
3. Table Panel {
"type" : "table" ,
"title" : "Service Status" ,
"targets" : [ {
"expr" : "up" ,
"format" : "table" ,
"instant" : true
} ] ,
"transformations" : [
{
"id" : "organize" ,
"options" : {
"excludeByName" : { "Time" : true } ,
"indexByName" : { } ,
"renameByName" : {
"instance" : "Instance" ,
"job" : "Service" ,
"Value" : "Status"
}
}
}
]
}
4. Heatmap {
"type" : "heatmap" ,
"title" : "Latency Heatmap" ,
"targets" : [ {
"expr" : "sum(rate(http_request_duration_seconds_bucket[5m])) by (le)" ,
"format" : "heatmap"
} ] ,
"dataFormat" : "tsbuckets" ,
"yAxis" : {
"format" : "s"
}
}
Variables
Query Variables {
"templating" : {
"list" : [
{
"name" : "namespace" ,
"type" : "query" ,
"datasource" : "Prometheus" ,
"query" : "label_values(kube_pod_info, namespace)" ,
"refresh" : 1 ,
"multi" : false
} ,
{
"name" : "service" ,
"type" : "query" ,
"datasource" : "Prometheus" ,
"query" : "label_values(kube_service_info{namespace=\"$namespace\"}, service)" ,
"refresh" : 1 ,
"multi" : true
}
]
}
}
Use Variables in Queries sum(rate(http_requests_total{namespace="$namespace", service=~"$service"}[5m]))
Alerts in Dashboards {
"alert" : {
"name" : "High Error Rate" ,
"conditions" : [
{
"evaluator" : {
"params" : [ 5 ] ,
"type" : "gt"
} ,
"operator" : { "type" : "and" } ,
"query" : {
"params" : [ "A" , "5m" , "now" ]
} ,
"reducer" : { "type" : "avg" } ,
"type" : "query"
}
] ,
"executionErrorState" : "alerting" ,
"for" : "5m" ,
"frequency" : "1m" ,
"message" : "Error rate is above 5%" ,
"noDataState" : "no_data" ,
"notifications" : [
{ "uid" : "slack-channel" }
]
}
}
Dashboard Provisioning apiVersion: 1
providers:
- name: 'default'
orgId: 1
folder: 'General'
type: file
disableDeletion: false
updateIntervalSeconds: 10
allowUiUpdates: true
options:
path: /etc/grafana/dashboards
Common Dashboard Patterns
Infrastructure Dashboard
CPU utilization per node
Memory usage per node
Disk I/O
Network traffic
Pod count by namespace
Node status
Reference: See assets/infrastructure-dashboard.json
Database Dashboard
Queries per second
Connection pool usage
Query latency (P50, P95, P99)
Active connections
Database size
Replication lag
Slow queries
Reference: See assets/database-dashboard.json
Application Dashboard
Request rate
Error rate
Response time (percentiles)
Active users/sessions
Cache hit rate
Queue length
Best Practices
Start with templates (Grafana community dashboards)
Use consistent naming for panels and variables
Group related metrics in rows
Set appropriate time ranges (default: Last 6 hours)
Use variables for flexibility
Add panel descriptions for context
Configure units correctly
Set meaningful thresholds for colors
Use consistent colors across dashboards
Test with different time ranges
Dashboard as Code
Terraform Provisioning resource "grafana_dashboard" "api_monitoring" {
config_json = file("${path.module}/dashboards/api-monitoring.json")
folder = grafana_folder.monitoring.id
}
resource "grafana_folder" "monitoring" {
title = "Production Monitoring"
}
Ansible Provisioning - name: Deploy Grafana dashboards
copy:
src: "{{ item }} "
dest: /etc/grafana/dashboards/
with_fileglob:
- "dashboards/*.json"
notify: restart grafana
Reference Files
assets/api-dashboard.json - API monitoring dashboard
assets/infrastructure-dashboard.json - Infrastructure dashboard
assets/database-dashboard.json - Database monitoring dashboard
references/dashboard-design.md - Dashboard design guide
Related Skills
prometheus-configuration - For metric collection
slo-implementation - For SLO dashboards
Connections
Domain: [[Cloud & Infrastruktur]]
Kategorie: [[Monitoring & Observability]]
Navigation: [[Skills Uebersicht]], [[Home]]