manual/russian/Integration/Grafana.md
ПРИМЕЧАНИЕ: Некоторые панели и метрики на дашбордах требуют Manticore Buddy. Если некоторые панели остаются пустыми, убедитесь, что Buddy установлен.
Grafana — это платформа с открытым исходным кодом для визуализации данных и мониторинга, которая позволяет создавать интерактивные дашборды и диаграммы. Manticore Search может интегрироваться с Grafana двумя основными способами:
В настоящее время протестированы и поддерживаются версии Grafana 10.0-13.0.
Manticore предоставляет предварительно собранный дашборд Grafana и правила оповещений Prometheus в специальном репозитории manticoresoftware/grafana-dashboard. Репозиторий также включает в себя универсальный Docker-образ с Grafana и Prometheus для быстрого старта. Эти ресурсы можно использовать независимо с вашей существующей настройкой Grafana и Prometheus, что позволяет отслеживать операционные метрики Manticore — такие как задержка, использование ресурсов и ошибки — без необходимости запускать отдельный экземпляр.
Для полностью предварительно настроенной конфигурации запустите единый Docker-образ с Grafana и Prometheus, адаптированный для мониторинга Manticore. Этот вариант идеален, если у вас нет существующей настройки или вы хотите быстро создать тестовое окружение:
docker run -e MANTICORE_TARGETS=localhost:9308 -p 127.0.0.1:3000:3000 manticoresearch/dashboard:latest
MANTICORE_TARGETS — это список HTTP-эндпоинтов Manticore, разделенных запятыми, в формате хост:порт (например: localhost:9308,10.0.0.5:9308).
Если у вас уже запущены собственные Grafana и Prometheus, вы можете пропустить образ Docker и напрямую импортировать дашборд и правила оповещений, как описано ниже.
Чтобы добавить дашборд Manticore в вашу существующую инсталляцию Grafana:
job (по умолчанию ожидается значение метки manticoresearch).Для интеграции правил оповещений Manticore в вашу существующую систему Prometheus:
rule_files вашего Prometheus.manticoresearch, обновите селекторы {job="manticoresearch"} в правилах соответствующим образом.Файл manticore-alerts.yml разработан для отслеживания ключевых сигналов, связанных с доступностью, перегрузкой и истощением ресурсов — проблем, которые часто напрямую влияют на пользователей. Пороговые значения установлены как безопасные по умолчанию; настройте их в соответствии с вашей конкретной нагрузкой.
critical): Prometheus не может собрать метрики Manticore (up == 0 в течение 2 минут). Обычно это означает, что конечная точка метрик недоступна, недостижима или конфигурация сбора неверна.warning): Время работы остается ниже 5 минут в течение 5 минут. Часто сигнализирует о нестабильности, такой как циклы сбоев, убийства из-за нехватки памяти (OOM) или перезапуски оркестратором.warning): manticore_maxed_out_error_count увеличивается за последние 5 минут. Manticore отклоняет запросы из-за достижения пределов емкости, параллелизма или ресурсов.warning): P95 задержка поиска превышает 500 мс в течение 10 минут. Многие пользователи могут воспринимать поиск как медленный.critical): P99 задержка поиска превышает 1000 мс в течение 10 минут. Хвостовая задержка сильно повышена, что указывает на очень медленные запросы в наихудшем случае.warning): Длина очереди задач превышает 100 в течение 5 минут. Запросы накапливаются, что часто приводит к увеличению задержки.warning): Более 90% рабочих потоков активны в течение 10 минут. Рабочие потоки приближаются к полной загрузке, что, вероятно, вызывает более высокую задержку и очередь.warning): Использование кэша запросов превышает 90% от настроенного максимума в течение 10 минут. Это увеличивает риск вытеснения и обновления кэша, потенциально замедляя запросы; рассмотрите возможность увеличения кэша или оптимизации шаблонов запросов.warning): manticore_agent_retry_count увеличивается более чем на 10 за 5 минут. Обычно указывает на проблемы с подключением к удаленным агентам (например, сетевые проблемы, таймауты или сбои в распределенных запросах).warning): Текущие подключения превышают 500 в течение 10 минут. Это может указывать на всплеск трафика, утечки подключений или медленных клиентов.warning): manticore_slowest_thread_seconds превышает 30 секунд в течение 10 минут. Присутствуют долго выполняющиеся или зависшие запросы; исследуйте медленные запросы и конкуренцию за ресурсы.warning): manticore_connect_time_seconds превышает 0,2 секунды в течение 5 минут. Установка соединения задерживается (например, из-за сетевых проблем, накладных расходов TLS или перегрузки сервера).critical): manticore_searchd_crashes_total увеличивается за последние 10 минут. Произошел сбой; проверьте логи, дампы памяти и события OOM.warning): Количество файлов бинарного лога превышает 1000 в течение 10 минут. Это говорит о том, что бинарные логи не ротируются или не очищаются должным образом; проверьте настройки бинарного лога и использование диска.warning): Количество файловых дескрипторов searchd превышает 4096 в течение 10 минут. Это грозит достижением ограничений ОС; проверьте ulimit -n, подключения, открытые файлы и возможные утечки.warning): Количество файловых дескрипторов Buddy превышает 4096 в течение 10 минут. Аналогично предыдущему, но для процесса Buddy.warning): Анонимная RSS searchd превышает 8 ГБ в течение 10 минут. Высокое использование памяти, не связанной с файлами; изучите рост памяти, шаблоны запросов/индексов и ограничения контейнера.warning): Анонимная RSS Buddy превышает 8 ГБ в течение 10 минут. Повышенное использование памяти Buddy; проверьте логи Buddy и рабочую нагрузку.warning): Одна или несколько таблиц, перечисленных в manticore.json, отсутствуют в SHOW TABLES в течение 10 минут. Обычно это означает, что таблицы не загрузились или были удалены/перемещены; проверьте логи запуска и пути к таблицам.warning): Коэффициент дискового отображенного кэша падает ниже 50% в течение 15 минут. Вероятно увеличение дискового ввода-вывода, что потенциально замедляет поиск, если рабочий набор превышает оперативную память.critical): Коэффициент дискового отображенного кэша падает ниже 20% в течение 15 минут. Серьезные промахи кэша; ожидайте интенсивного дискового ввода-вывода и высокой задержки.Дашборд организует панели по темам. Ключевые моменты включают:
Этот подход использует коннектор MySQL Grafana для прямого запроса таблиц Manticore, позволяя визуализировать ваши поисковые данные, такие как временные тренды или агрегации.
Перед настройкой визуализации данных:
Чтобы подключить Manticore Search к Grafana:
localhost:9306)root)После подключения Manticore Search к Grafana вы можете создавать панели и визуализации:
Вот простой пример с данными временных рядов. Сначала создайте таблицу и загрузите пример данных:
CREATE TABLE btc_usd_trading (
id bigint,
time timestamp,
open float,
high float,
low float,
close float
);
Загрузите данные:
curl -sSL https://gist.githubusercontent.com/donhardman/df109ba6c5e690f73198b95f3768e73f/raw/0fab3aee69d7007fad012f4e97f38901a64831fb/btc_usd_trading.sql | mysql -h0 -P9306
В Grafana вы можете создавать:
Примеры запросов:
-- Time series query
SELECT time, close FROM btc_usd_trading ORDER BY time;
-- Aggregation query
SELECT DATE(time) as date, AVG(close) as avg_price
FROM btc_usd_trading
GROUP BY date
ORDER BY date;
При работе с Manticore Search через Grafana вы можете:
information_schema.tablesДля получения дополнительной информации и подробных инструкций: