Назад к вопросам
Junior
84
questionbank

Как настраивать графики на панели Grafana?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Существует несколько способов:

  1. Визуальный редактор: В режиме редактирования панели выберите тип визуализации "Graph". На вкладке Query добавьте источники данных (например, Prometheus, InfluxDB). На вкладке "Graph" настройте внешний вид: оси, легенду, временной диапазон.

    // Пример настройки оси Y
    // Установка минимального и максимального значения
    // Unit: bytes, s, requests, etc.
    // Label: Название оси
    
  2. PromQL (для Prometheus): Используйте язык запросов Prometheus для выборки данных и построения графиков.

    // Пример запроса: средняя загрузка CPU за последние 5 минут
    avg(rate(node_cpu_seconds_total{mode="idle"}[5m]))
    
  3. InfluxQL (для InfluxDB): Язык запросов для InfluxDB.

    -- Пример запроса: среднее значение метрики memory_usage за последний час с группировкой по тегам host и device
    SELECT mean("memory_usage") FROM "telegraf"."autogen"."mem" WHERE time >= now() - 1h GROUP BY time(1m), "host", "device" fill(none)
    
  4. Jsonnet/Grafana Dashboard as Code: Описание панели и графиков в виде файла конфигурации. Позволяет управлять панелями версионировано и автоматизировать их создание.

    // Пример определения графика в Jsonnet
    {
      title: 'CPU Usage',
      type: 'graph',
      lines: true,
      targets: [
        {
          expr: '100 - avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100',
          legendFormat: 'CPU Busy',
          refId: 'A',
        },
      ],
      fieldConfig: {
        defaults: {
          unit: 'percent',
        },
      },
    }
    

Редактирование визуальных настроек осуществляется через вкладку "Graph" или "Visualization", в зависимости от типа графика и версии Grafana. Здесь настраиваются цвета, стили линий, отображение точек, область графика, tooltips и прочие элементы.

Важными аспектами являются выбор правильного временного интервала запроса (Time range), частота обновления данных (Refresh interval) и использование функций агрегации (avg, sum, rate и т.д.) для обработки данных из источников.