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

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

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

Контакты

Москва

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

+7 (999) 760-24-41

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

v.lomtev@airassvet.ru

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

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
    Скачивания
    5
    В избранном
    0
    Комментарии
    0
    Просмотры
    41

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

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

    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 бесплатно?
    Да, опубликованную версию можно скачать из маркетплейса бесплатно.

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

    Смотреть все
    2ГИС: Карточка организации 2ГИСПолучить подробные данные объекта по идентификатору.2ГИС: Статическая карта 2ГИССформировать PNG-карту с точками, линиями или полигонами.2ГИС: Пешеходный маршрут 2ГИСПостроить пешеходный маршрут между точками.2ГИС: Обратное геокодирование 2ГИСНайти адрес и объекты рядом с заданными координатами.
    Комментарии

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

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

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

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

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