Устранение неполадок источника данных Graphite
В этом документе приведены решения типичных проблем, с которыми вы можете столкнуться при использовании источника данных Graphite.
Проблемы с соединением
Используйте следующие шаги устранения неполадок, чтобы решить проблемы соединения между Grafana и вашим сервером Graphite.
Проверка источника данных завершается ошибкой “Unable to connect”:
Если проверка источника данных завершается ошибкой, проверьте следующее:
- URL в конфигурации вашего источника данных указан верно и доступен с сервера Grafana.
- Сервер Graphite запущен и принимает соединения.
- Любые правила брандмауэра или сетевые политики разрешают трафик между Grafana и сервером Graphite.
- При использовании TLS убедитесь, что ваши сертификаты действительны и правильно настроены.
Чтобы проверить связность, выполните следующую команду с сервера Grafana:
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 для получения дополнительных параметров конфигурации.
- Обратитесь в Grafana Support, если вы являетесь клиентом Enterprise, Cloud Pro или Cloud Advanced.
При сообщении о проблемах указывайте следующую информацию:
- Версия Grafana
- Версия Graphite (например, 1.1.x) и тип бэкенда (Default или MetricTank)
- Метод аутентификации (Basic Auth, TLS или отсутствует)
- Сообщения об ошибках (удалите конфиденциальную информацию)
- Шаги воспроизведения проблемы
- Соответствующая конфигурация, например настройки источника данных, значения тайм-аута и настройка версии Graphite (удалите пароли и другие учётные данные)
- Пример запроса (если применимо, с удалёнными конфиденциальными данными)