AI студия Владимира Ломтева
УСЛУГИПРОЕКТЫСТАТЬИБАЗА ЗНАНИЙМаркетплейсОбучениеПолезные сервисы

Оставьте заявку,
чтобы обсудить проект

Напишите ваш вопрос, не забудьте указать телефон. Мы перезвоним и все расскажем.

Контакты

Москва

Работаем по всей России
и миру (онлайн)

+7 (999) 760-24-41

Ежедневно с 9:00 до 21:00

lamooof@gmail.com

По вопросам сотрудничества

TelegramWhatsApp

Есть предложение?

Напишите нам в мессенджеры

© 2025 AI студия Владимира Ломтева

Политика конфиденциальностиСогласие на обработку ПДн|ИНН 623412173261
    Dashboarding — Скилл для ИИ-агентов | AI Рассвет

    Dashboarding

    Build, modify, and ship Grafana dashboards as JSON via the HTTP API — panel types (timeseries / stat / gauge / table / heatmap / logs / traces / node graph), gridPos 24 column layout, units, thresholds, template + datasource + chained variables, transformations (organize / calculateField / filterByValue), panel + dashboard links with ${ field.labels.x} / ${ from}, and Loki/Prometheus annotations. Use when scripting dashboard creation, writing the dashboard JSON for a new service, adding a $job dropdown variable, computing an "Error %" column with a transformation, overlaying deploys as annotations, or pushing a dashboard via POST /api/dashboards/db — even when the user says "create a dashboard for this metric", "add a service dropdown", "show errors as percentage", "overlay our deploys", or "export the dashboard JSON" without naming the API or schema. After every API push, verify with the returned version plus a GET on the dashboard UID.

    Скиллы для разработки#GitHub#grafana/skills#skills.sh
    Скачивания
    0
    В избранном
    0
    Комментарии
    0
    Просмотры
    1

    Установить скилл

    Добавьте инструмент одной командой или скачайте проверенный архив версии.

    npx skills add grafana/skills --skill dashboarding
    Скачать ZIP
    Версия
    1.0.0+ac17a41c8164
    Автор
    Владимир Ломтев
    Репозиторий
    grafana/skills
    GitHub: grafana/skills

    Как установить

    1. 1Скопируйте команду из блока установки.
    2. 2Запустите её в терминале из каталога проекта.

    Документация

    Grafana Dashboard Authoring

    Docs: https://grafana.com/docs/grafana/latest/dashboards/

    Dashboards are JSON. Author once, push via API, share by uid.

    Prerequisites

    • Grafana stack (OSS, Enterprise, or Cloud) reachable from your machine
    • API token with dashboards:write (Authorization: Bearer <token>)
    • jq for inspecting responses
    • The JSON-schema cheat sheet in references/json-schema.md

    Common Workflows

    1. Push a new dashboard via the API + verify

    ## 1. Build the payload — wrap the dashboard JSON, set folder, mark overwrite
    cat > /tmp/dash.json <<'JSON'
    {
      "dashboard": {
        "uid": "demo-svc-v1",
        "title": "Demo Service",
        "schemaVersion": 41,
        "tags": ["demo"],
        "time": { "from": "now-1h", "to": "now" },
        "templating": { "list": [] },
        "panels": [{
          "id": 1, "type": "timeseries", "title": "Request Rate",
          "gridPos": { "x": 0, "y": 0, "w": 24, "h": 8 },
          "datasource": { "type": "prometheus", "uid": "prometheus" },
          "targets": [{
            "expr": "sum(rate(http_requests_total[5m])) by (status_code)",
            "legendFormat": "{{status_code}}", "refId": "A"
          }],
          "fieldConfig": { "defaults": { "unit": "reqps" }, "overrides": [] }
        }]
      },
      "folderUid": "",
      "overwrite": true,
      "message": "initial push"
    }
    JSON
    
    ## 2. Validate the JSON BEFORE you send it (catches trailing-comma typos)
    jq empty /tmp/dash.json && echo "json ok"
    
    ## 3. POST
    RESP=$(curl -s -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" \
      "$GRAFANA/api/dashboards/db" -d @/tmp/dash.json)
    echo "$RESP" | jq '{status, uid, url, version}'
    ## Expect: status="success", url="/d/demo-svc-v1/...", version=1 (incremented on each push)
    
    ## 4. Verify the round-trip — read it back and confirm one panel + the expected title
    curl -s -H "Authorization: Bearer $TOKEN" \
      "$GRAFANA/api/dashboards/uid/demo-svc-v1" \
      | jq '{title: .dashboard.title, panels: (.dashboard.panels | length)}'
    ## Expect: {"title":"Demo Service","panels":1}
    
    ## 5. Open the dashboard in a browser — confirm the panel renders with data.
    

    2. Add a $job template variable to an existing dashboard

    ## 1. Fetch existing dashboard
    curl -s -H "Authorization: Bearer $TOKEN" \
      "$GRAFANA/api/dashboards/uid/demo-svc-v1" > /tmp/dash.json
    
    ## 2. Edit templating.list — append:
    ## { "name":"job", "type":"query",
    ## "datasource":{"type":"prometheus","uid":"prometheus"},
    ## "query":{"query":"label_values(up, job)","refId":"A"},
    ## "refresh":2, "includeAll":true, "multi":true, "label":"Service" }
    ## (Use jq, an editor, or the Grafana UI — schema in references/json-schema.md.)
    
    ## 3. Update the panel expr to use the variable: rate(http_requests_total{job=~"$job"}[5m])
    
    ## 4. POST it back with overwrite: true. Verify the variable appears in the UI dropdown.
    

    3. Compute an "Error %" column with a transformation

    {
      "id": "calculateField",
      "options": {
        "alias": "Error %", "mode": "reduceRow",
        "reduce": { "reducer": "last" },
        "binary": { "left": "errors", "right": "total", "operator": "/" }
      }
    }
    

    Add this to the panel's transformations: []. Verify in the UI panel inspector — the new field should appear and update with the variable selection.

    Full schema (panels, units, all transformations, annotations, links): references/json-schema.md.

    API reference

    ## Get
    curl -s -H "Authorization: Bearer $TOKEN" \
      "$GRAFANA/api/dashboards/uid/<uid>" | jq '.dashboard'
    
    ## Search
    curl -s -H "Authorization: Bearer $TOKEN" \
      "$GRAFANA/api/search?query=kubernetes&type=dash-db" | jq '.[] | {uid,title,folderTitle}'
    
    ## Create folder
    curl -s -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" "$GRAFANA/api/folders" \
      -d '{"uid":"platform-team","title":"Platform Team"}'
    

    For dashboards embedded in app plugins, use @grafana/scenes (skill grafana-o11y:grafana-scenes).

    Resources

    • Dashboard JSON model
    • HTTP API — dashboards
    • Panel types
    • Variables
    • Transformations

    Требования и возможности

    Источник пакета
    https://github.com/grafana/skills/tree/ac17a41c81649195d516509cf0194b5637fec44a/skills/grafana-core/dashboarding

    Файлы версии

    ПутьРазмерSHA256
    SKILL.md5568dca785650631cb08...
    references/json-schema.md4652fc056e7a202a1fe3...

    Частые вопросы

    Как установить Dashboarding?
    Используйте команду npx skills add grafana/skills --skill dashboarding или скачайте ZIP-архив.
    Можно ли скачать Dashboarding бесплатно?
    Да, опубликованную версию можно скачать из маркетплейса бесплатно.

    Похожие инструменты

    Смотреть все
    Terraform Style GuideGenerate Terraform HCL code following HashiCorp's official style conventions and best practices. Use when writing, reviewing, or generating Terraform configurations.2ГИС: Матрица расстояний 2ГИСРассчитать время и расстояния между наборами точек.React DoctorUse when finishing a feature, fixing a bug, before committing React code, or when the user types `/doctor`, asks to scan, triage, or clean up React diagnostics. Covers lint, accessibility, bundle size, architecture. Includes a regression check and a full local-triage workflow that fetches the canonical playbook.
    Комментарии

    Войдите, чтобы оставить комментарий.

    Комментариев пока нет.

    Установить скилл

    Добавьте инструмент одной командой или скачайте проверенный архив версии.

    npx skills add grafana/skills --skill dashboarding
    Скачать ZIP
    Версия
    1.0.0+ac17a41c8164
    Автор
    Владимир Ломтев
    Репозиторий
    grafana/skills
    GitHub: grafana/skills
    Agent DeviceAutomates Apple-platform apps (iOS, tvOS, macOS), Android devices, and Amazon Vega OS TV apps in Vega Virtual Devices. Use when navigating apps, taking snapshots/screenshots where supported, driving TV remotes, tapping, typing, scrolling, extracting UI info, collecting evidence, or planning agent-device CLI commands.