Устранение неполадок источника данных Graphite

В этом документе приведены решения типичных проблем, с которыми вы можете столкнуться при использовании источника данных Graphite.

Проблемы с соединением

Используйте следующие шаги устранения неполадок, чтобы решить проблемы соединения между Grafana и вашим сервером Graphite.

Проверка источника данных завершается ошибкой “Unable to connect”:

Если проверка источника данных завершается ошибкой, проверьте следующее:

  • URL в конфигурации вашего источника данных указан верно и доступен с сервера Grafana.
  • Сервер Graphite запущен и принимает соединения.
  • Любые правила брандмауэра или сетевые политики разрешают трафик между Grafana и сервером Graphite.
  • При использовании TLS убедитесь, что ваши сертификаты действительны и правильно настроены.

Чтобы проверить связность, выполните следующую команду с сервера Grafana:

sh
curl -v <GRAPHITE_URL>/render

Замените <GRAPHITE_URL> на URL вашего сервера Graphite. Успешное соединение возвращает ответ от сервера Graphite.

Ошибки аутентификации:

Если вы получаете ошибки 401 или 403:

  • Убедитесь, что имя пользователя и пароль Basic Auth указаны верно.
  • Убедитесь, что переключатель With Credentials включён, если ваш сервер Graphite требует cookie для аутентификации.
  • Проверьте, что ваши клиентские сертификаты TLS действительны и соответствуют тому, что ожидает сервер.

Подробную информацию о настройке аутентификации см. в разделе Configure the Graphite data source.

Проблемы с запросами

Используйте следующие шаги устранения неполадок, чтобы решить проблемы с запросами Graphite.

Данные не возвращаются:

Если ваш запрос не возвращает данных:

  • Убедитесь, что путь метрики существует на вашем сервере Graphite, проверив его напрямую в веб-интерфейсе Graphite.
  • Проверьте, что диапазон времени в Grafana соответствует времени сбора данных.
  • Убедитесь, что подстановочные знаки в вашем запросе соответствуют существующим метрикам.
  • Подтвердите, что синтаксис вашего запроса корректен для вашей версии Graphite.

Ошибки HTTP 500 с HTML-содержимым:

Версии graphite-web до 1.6 возвращают ошибки HTTP 500 с полными HTML-трассировками стека, когда запрос завершается ошибкой. Если вы видите сообщения об ошибках, содержащие HTML-теги:

  • Проверьте журналы сервера Graphite, чтобы получить полные сведения об ошибке.
  • Убедитесь, что синтаксис вашего запроса корректен.
  • Убедитесь, что запрашиваемый диапазон времени не превышает возможностей вашего сервера Graphite.
  • Проверьте, что все используемые в вашем запросе функции поддерживаются вашей версией Graphite.

Ошибки парсера в редакторе запросов:

Если редактор запросов отображает ошибки парсера:

  • Проверьте наличие несбалансированных скобок в вызовах функций.
  • Убедитесь, что аргументы функций имеют правильный формат.
  • Убедитесь, что пути метрик не содержат неподдерживаемых символов.

Справку по синтаксису запросов см. в разделе Graphite query editor.

Проблемы с версиями и функциями

Используйте следующие шаги устранения неполадок, чтобы решить проблемы, связанные с версиями и функциями Graphite.

В редакторе запросов отсутствуют функции:

Если ожидаемые функции не появляются в редакторе запросов:

  • Убедитесь, что в конфигурации источника данных выбрана правильная версия Graphite.
  • Доступные функции зависят от настроенной версии. Например, функции на основе тегов требуют Graphite 1.1 или более поздней версии.
  • Если вы используете пользовательскую установку Graphite с дополнительными функциями, убедитесь, что настройка версии соответствует вашему серверу.

Запросы на основе тегов не работают:

Если seriesByTag() или другие функции тегов завершаются ошибкой:

  • Подтвердите, что ваш сервер Graphite имеет версию 1.1 или более позднюю.
  • Убедитесь, что настройка версии Graphite в конфигурации вашего источника данных соответствует фактической версии вашего сервера.
  • Проверьте, что теги правильно настроены на вашем сервере Graphite.

Проблемы с производительностью

Используйте следующие шаги устранения неполадок для решения проблем с медленными запросами или тайм-аутами.

Запросы завершаются по тайм-ауту:

Если запросы постоянно завершаются по тайм-ауту:

  • Увеличьте значение параметра Timeout в конфигурации источника данных.
  • Сократите диапазон времени вашего запроса.
  • Используйте более конкретные пути метрик вместо широких подстановочных знаков.
  • Рассмотрите использование функций summarize() или consolidateBy() для сокращения объёма возвращаемых данных.
  • Проверьте производительность и использование ресурсов вашего сервера Graphite.

Медленное автодополнение в редакторе запросов:

Если автодополнение пути метрики работает медленно:

  • Это часто указывает на большое количество метрик на вашем сервере Graphite.
  • Используйте более конкретные префиксы путей, чтобы сузить область поиска.
  • Проверьте производительность индекса вашего сервера Graphite.

Проблемы, специфичные для MetricTank

Если вы используете MetricTank в качестве бэкенда Graphite, применяйте следующие шаги устранения неполадок.

Индикатор rollup не появляется:

Если индикатор rollup не отображается, когда ожидается:

  • Убедитесь, что в конфигурации источника данных в качестве типа бэкенда Graphite выбран Metrictank.
  • Убедитесь, что переключатель Rollup indicator включён.
  • Индикатор появляется только тогда, когда фактически происходит агрегирование данных.

Неожиданное агрегирование данных:

Если вы видите неожиданное агрегирование в ваших данных:

  • Проверьте конфигурацию rollup в вашем экземпляре MetricTank.
  • Настройте диапазон времени или используйте consolidateBy() для управления поведением агрегирования.
  • Просмотрите метаданные обработки запроса в инспекторе панели, чтобы узнать подробности обработки данных.

Получение дополнительной помощи

Если проблемы сохраняются:

При сообщении о проблемах указывайте следующую информацию:

  • Версия Grafana
  • Версия Graphite (например, 1.1.x) и тип бэкенда (Default или MetricTank)
  • Метод аутентификации (Basic Auth, TLS или отсутствует)
  • Сообщения об ошибках (удалите конфиденциальную информацию)
  • Шаги воспроизведения проблемы
  • Соответствующая конфигурация, например настройки источника данных, значения тайм-аута и настройка версии Graphite (удалите пароли и другие учётные данные)
  • Пример запроса (если применимо, с удалёнными конфиденциальными данными)