Мониторинг Solr (3 части серии)
Усыновление программного обеспечения с открытым исходным кодом продолжает расти. Инструменты, как Кафка и Solr Широко используются в небольших стартапах, которые используют инструменты готовых облаков с самого начала, но и на крупных предприятиях, где устаревшее программное обеспечение становится быстрее, включив новые инструменты. В этой второй части нашей серии мониторинга Solr (см. Первую часть, обсуждающую метрики Solr для мониторинга ), мы рассмотрим некоторые инструменты с открытым исходным кодом, доступными для мониторинга узлов Solr и кластеров. Мы возьмем возможность посмотреть на то, что нужно для установки, настроить и использовать каждый инструмент значимым образом.
Операционные, управление и обслуживание распределенных систем нелегко. Как мы исследовали в первой части нашего мониторинга серии Solr, существует более сорока метрик, которые нам нужно иметь полную видимость в наших случаях Solr и полный кластер. Без какого-либо мониторинга.
При поиске инструмента с открытым исходным кодом поможет вам отслеживать Метрики Solr , посмотрите на следующие качества:
- Возможность контролировать и управлять несколькими кластерами
- Легкий, непосредственный обзор всего кластера и его государства
- Очистить информацию о важнейших показателях производительности
- Возможность предоставлять исторические метрики для пост в Мортом
- Объединяет низкоуровневые метрики ОС, метрики JVM и специфические метрики Solr
- Возможность настройки предупреждений
Давайте теперь рассмотрим некоторые доступные варианты.
Prometheus Это система мониторинга и оповещения с открытым исходным кодом, которая изначально была разработана на SoundCloud. Прямо сейчас это автономный проект с открытым исходным кодом, и он поддерживается независимо от компании, которая создала его изначально. Prometheus Проект, в 2016 году, присоединился к Облачный родной вычислительный фонд В качестве второго размещенного проекта сразу после Кубернаны.
Из коробки PROMETHEUS поддерживает гибкий язык запроса на верхней части многомерной модели данных на основе ЦДБ где данные могут быть вытянуты с помощью протокола на основе HTTP:
Источник: https://prometheus.io/docs/introduction/overview/
Для Solr сможет доставить метрики для Premetheus, мы будем использовать инструмент под названием Экспортер Отказ Требуется Метрики от Solr и переводит их в формат, который подобно прометею. Solr Exporter не только может отправлять метрики для Premetheus, но и ответов на запросы, такие как Коллекции API Команды, пинг Запросы и аспекты собрал из результатов поиска.
PROMETHEUS SOLR Exporter поставляется с SOLR как модуль вклад, расположенный в Вклад/Прометеус-Экспортер каталог. Начать работу с этим, нам нужно взять solr-exormer.xml Файл, который находится в Вклад/Прометеус-Экспортер/Конф каталог. Он уже предварительно сконфигурирован на работу с Solr, и мы не будем изменять его сейчас. Однако, если вы заинтересованы в дополнительных метриках, отправьте дополнительные результаты FACET или отправьте меньше данных для PROMETHEUS, вы должны выглядеть и изменять упомянутый файл.
Как только у нас будет настроен экспортер, нам нужно начать его. Это очень просто. Просто иди к Вклад/Прометеус-Экспортер Каталог (или тот, где вы копировали его в свою производственную систему) и запустите соответствующую команду, в зависимости от архитектуры Solr, вы работаете.
Для развертываний Master-Plave Master-Plave вы пройдете:
./bin/solr-exporter -p 9854 -b http://localhost:8983/solr -f ./conf/solr-exporter-config.xml -n 8
Для SolrCloud вы пройдете:
./bin/solr-exporter -p 9854 -z localhost:2181/solr -f ./conf/solr-exporter-config.xml -n 16
Вышеуказанная команда работает Solr экспортер на 9854 Порт с 8 нитками для Solr Master-Plave и 16 для SolrCloud. В случае SolrCloud мы также указываем экспортер в ансамбль зоопарка, который доступен на порту 2181 на localhost Отказ Конечно, вы должны настроить команды, чтобы соответствовать вашей среде.
После успешного запуска команды вы должны увидеть следующее:
INFO - 2019-04-29 16:36:21.476; org.apache.solr.prometheus.exporter.SolrExporter; Start server
У нас есть работа Solr Master-Place/SolrCloud, и у нас есть наш Solr Exporter работает, это означает, что мы готовы сделать следующий шаг и настроить наш экземпляр PROMETHEUS, чтобы получить данные из нашего Solr Exporter. Для этого нам нужно настроить PROMETHEUS.YML Файл и добавьте следующее:
scrape_configs: - job_name: 'solr' static_configs: - targets: ['localhost:9854']
Конечно, в производственной системе наш PROMETHEUS будет работать на другом хосте по сравнению с нашим Solr и Solr Exporter — мы можем даже запустить несколько экспортеров. Это означает, что нам нужно будет настроить свойство цели, чтобы соответствовать нашей среде.
После всех препаратов мы, наконец, смотрите в то, что дает нам Прометеус. Мы можем начать с главного PROMETHEUS UI.
Это позволяет выбрать метрики, которые нас интересуют, график ее, предупреждая об этом и так далее. Красивая вещь в том, что UI поддерживает Полный язык запросов Premetheus Разрешение использования операторов, функций, подзапросов и многих, многое другое.
При использовании функциональности визуализации PROMETHEUS мы получим полный вид доступных метрик с использованием простого раскрывающегося меню, поэтому нам не нужно знать о каждой метрике, которая отправляется в Solr.
Приятная вещь о PROMETHEUS заключается в том, что мы не ограничиваемся UI по умолчанию, но мы также можем использовать Графана Для приспособления, оповещения и управления команды. Определение нового источника данных PROMETHEUS очень, очень просто:
Как только это сделано, мы можем начать визуализацию данных:
Однако все это требует от нас сами построить богатые панели. К счастью, Solr приходит с примером Предварительно построенная панель инструментов Grafana Это можно использовать вместе с метриками, снятыми к прометею. Примерное определение панели мошенничества хранится в Вклад/PROMETHEUS-Exporter/Conf/Grafana-Solr-Dashboard.json Файл и может быть загружен в Grafana, давая базовый вид на нашу кластер Solr.
Приборных панелей с метриками не все, на что графана способна. Мы можем настроить команды, пользователи, назначать им роли, настроить предупреждения о метриках и включать несколько источников данных в пределах одной установки графана. Это позволяет нам иметь все в одном месте — метрики из нескольких источников, журналов, сигналов, отслеживания и все, что нам нужно и подумать.
Графит Это бесплатное программное обеспечение для мониторинга с открытым мониторингом, которое может мониторировать и графические данные числовых данных серии времени. Он может собирать, хранить и отображать данные в режиме реального времени, что позволяет для тонкозернистыми мониторинга метрик. Он состоит из трех основных частей — Углерод , демон, слушая данные серии Time, Шепот — База данных для хранения данных временных серий и Графитовое веб-приложение Это используется для рендеринга метрики по требованию.
Чтобы начать мониторинг Solr с графитом в качестве платформы выбора, мы предполагаем, что у вас уже есть графит вверх и запущена, но если вы не можете начать с помощью приготовленного контейнера Docker:
docker run -d --name graphite --restart=always -p 80:80 -p 2003-2004:2003-2004 -p 2023-2024:2023-2024 -p 8125:8125/udp -p 8126:8126 graphiteapp/graphite-statsd
Чтобы быть в состоянии получить данные из SOLR, мы будем использовать Реестр метрик Solr вместе с Графитовый репортер Отказ Чтобы настроить, что нам нужно настроить Solr.xml Файл и добавьте ее часть метрики. Например, для мониторинга информации о JVM и узле Solr Solr Раздел метрики будет выглядеть следующим образом:
localhost 2003 60
Поэтому мы указали Solr на графитовый сервер, который работает на localhost на порту 2003 И мы определили период написания данных до 60, что означает, что SOLR будет толкать метрики узла JVM и Solr один раз в 60 секунд.
Имейте в виду, что по умолчанию Solr будет писать с помощью простого текстового протокола. Это менее эффективно, чем использование маринованного протокола. Если вы хотите настроить Solr и Graphite в производстве, мы предлагаем использовать настройку маринованного свойства в True в конфигурации репортера и с использованием порта для маринованного протокола, который в случае нашего контейнера Docker будет 2004.
Теперь мы можем легко перейти на наш графитовый сервер, доступный в 127.0.0.1 на порту 80 С нашим контейнером и графом наши данные:
Все метрики сортируются и легко доступны в левом меню, позволяющем для богатых возможностей панели инструментов.
Если вы используете Графана Легко установить графит в качестве еще одного источника данных и использует свои возможности для обработки графиков и панели инструментов для корреляции нескольких метрик, даже те, которые приходят из разных источников данных.
Далее нам нужно настроить графит в качестве источника данных. Это так же просто, как предоставляет правильный URL-адрес графита и установка версии:
И мы готовы создавать наши визуализации и приборные панели, что очень легко и мощно. С AutoComplete доступной для метрик, нам не нужно вспомнить ни одного из имени, и Grafana просто покажет их для нас. Пример одной метрической приборной панели может выглядеть следующим образом:
Ганглии это масштабируемая распределенная система мониторинга. Он основан на иерархическом дизайне, предназначенном для большого количества кластеров и узлов. Используется XML для представления данных, Xdr для транспортировки данных и RRD Для хранения данных и визуализации данных. Он использовался для подключения кластеров между университетскими кампусами и доказано обрабатывать кластеры с 2000 узлами.
Чтобы начать мониторинг Clusters Solr Master-Plave или SolrCloud Clusters с ганглиями мы начнем с настройки репортера метрики в Solr.xml конфигурационный файл. Для этого мы добавляем следующий раздел в упомянутый файл:
localhost 8649
Следующее, что нам нужно сделать, это разрешить Solr понять протокол XDR, используемый для транспортировки данных. Нам нужно скачать Oncrpc-1.0.7.jar JAR файл и поместите его либо в свой класс Solr или включите к нему путь в ваш solrconfig.xml файл, используя директиву lib.
Оно все вышеперечисленное сделано и при условии, что наши ганглии работают на localhost на порту 8649 Это все, что нам нужно сделать, чтобы иметь все готовые и начать доставку узлов Solr и метрики JVM.
Посещая Ganglia и выбирая узел Solr, мы можем начать смотреть в метрики:
Мы можем сразу прыгать на графики, выберите группу метрик, заинтересованных в и в основном, увидите большую часть данных, которые мы заинтересованы сразу.
Ganglia предоставляет нам всю видимость наших метрик, но из коробки, она не поддерживает одну из важных особенностей, которые мы ищем — оповещения. Есть проект под названием Ganglia-Alert , который является пользователем расширение в составе ганглии.
Как видите, есть широкий спектр инструментов, которые помогут вам отслеживать Solr. То, что вы должны иметь в виду, это то, что каждый требует настройки, настройки и ручной приборной панели, чтобы получить значимую информацию. Все это может потребовать глубоких знаний по всей экосистеме.
Если вы ищете инструмент мониторинга Solr, который вы можете настроить в минуту и иметь предварительные приборные панели со всей необходимой информацией, оповещения и руководство команды посмотрите на третью частью серии мониторинга Solr, чтобы узнать больше о Производство Готовый мониторинг Solr с Sematext Отказ
Если вам нужен наблюдаемость полной стопки для вашего программного стека, проверьте Сематест Отказ Мы нажав на Открытый исходный код наши продукты и оказать влияние.
Мониторинг Solr (3 части серии)
Оригинал: «https://dev.to/sematext/solr-open-source-monitoring-tools-39cn»