OpenSearch - это масштабируемый, гибкий и расширяемый набор программного обеспечения с открытым исходным кодом для приложений поиска, аналитики и наблюдаемости, лицензированный под Apache 2.0. Основанный на Apache Lucene и поддерживаемый сообществом проекта OpenSearch, OpenSearch предлагает набор инструментов, не зависящий от производителя, который можно использовать для создания безопасных, высокопроизводительных и экономически эффективных приложений.
Установка плагина Prometheus Exporter для OpenSearch
Переходим в директорию opensearch
1 | cd /usr/share/opensearch/ |
В зависимости от используемой версии OpenSearch, выбираем необходимую версию плагина и выполняем команду:
1 | ./bin/opensearch-plugin install https://github.com/Aiven-Open/prometheus-exporter-plugin-for-opensearch/releases/download/2.11.1.0/prometheus-exporter-2.11.1.0.zip |
Если требуется локальная установка (без подключения к сети), то путь до файла необходимо указать в форммате как в примере ниже
1 2 | wget https://github.com/Aiven-Open/prometheus-exporter-plugin-for-opensearch/releases/download/2.11.1.0/prometheus-exporter-2.11.1.0.zip -O /tmp/prometheus-exporter.zip /usr/share/opensearch/bin/opensearch-plugin install -v -b file:///tmp/prometheus-exporter.zip |
Конфигурация плагина Prometheus Exporter для OpenSearch
Статические настройки конфигурируются в opensearch.yml.
1 | nano /etc/opensearch/opensearch.yml |
Префикс имени метрики (статическая)
Все имена метрик имеют общий префикс, по умолчанию установленный в opensearch_.
Значение этого префикса можно настроить с помощью параметра:
1 | prometheus.metric_name.prefix: "opensearch_" |
Динамические настройки
Динамические параметры настраиваются в config/opensearch.yml, но они также могут быть обновлены в любое время через REST API.
Метрики уровня индекса
Экспортировать ли подробные метрики уровня индекса или нет. Значение по умолчанию: true.
Подробные метрики уровня индекса могут представлять много данных и могут привести к появлению меток высокой кардинальности в Prometheus. Если вам не нужны подробные метрики уровня индексов, рекомендуется отключить их с помощью настройки:
1 | prometheus.indices: false |
Настройки кластера
Чтобы отключить экспорт настроек кластера, используйте:
1 | prometheus.cluster.settings: false |
Фильтр узлов
Метрики включают статистику об отдельных узлах OpenSearch. По умолчанию включается статистика только того узла, который получил запрос.
Экспортер Prometheus может быть настроен на включение статистики и с других узлов. Этот фильтр напрямую использует функцию фильтров узлов OpenSearch. Значение по умолчанию: "_local".
Например, чтобы получить статистику для всех узлов кластера с любого узла, используйте настройки:
1 | prometheus.nodes.filter: "_all" |
Использование
Метрики доступны непосредственно по адресу:
1 | http[s]://[opensearch-host]:9200/_prometheus/metrics |
В результате вы получаете:
Настройка Prometheus
На серверах Prometheus настройте новое задание как обычно.
Например, если у вас кластер из 3 узлов:
1 2 3 4 5 6 7 8 | - job_name: opensearch scrape_interval: 10s metrics_path: "/_prometheus/metrics" static_configs: - targets: - node1:9200 - node2:9200 - node3:9200 |
Конечно, вы можете использовать службу обнаружения сервисов вместо статического конфига.
Имейте в виду, что metrics_path должен быть /_prometheus/metrics, иначе Prometheus не найдет ни одной метрики.
Удаление плагина Prometheus Exporter в OpenSearch
Чтобы удалить плагин, выполните команду:
1 | ./bin/opensearch-plugin remove prometheus-exporter |