Перейти к основному содержимому
Версия: 5.2

Управление плагинами

Информация

Условные обозначения:

  • OS_HOME - домашняя директория OpenSearch, обычно это /app/opensearch/
  • OS_IP - IP-адрес одного из серверов кластера OpenSearch
  • OSD_HOME - домашняя директория OpenSearch Dashboards, обычно это /app/opensearch-dashboards/
  • LS_HOME - директория установки Logstash, обычно /app/logstash

Управление плагинами производится с помощью следующих утилит:

  • opensearch-plugin
  • opensearch-dashboards-plugin
  • logstash-plugin

Просмотр списка плагинов

OpenSearch

Для просмотра списка плагинов OpenSearch используйте команду:

$OS_HOME/bin/opensearch-plugin list

OpenSearch Dashboards

Для просмотра списка плагинов OpenSearch Dashboards используйте команду:

$OSD_HOME/bin/opensearch-dashboards-plugin list
предупреждение

При выполнении команды под пользователем root потребуется использования флага --allow-root. Пример:

$OSD_HOME/bin/opensearch-dashboards-plugin list --allow-root

Logstash

Для просмотра списка плагинов Logstash используйте команду:

$LS_HOME/bin/logstash-plugin list

Установка плагинов

Используйте команду install для установки плагинов. После выполнения команды требуется перезапуск сервиса.

OpenSearch

Обратите внимание!

Для кластеров, состоящих из нескольких узлов, перед обновлением узла(ноды) рекомендуется отключить аллокацию, а после завершения загрузки и подключения узла к кластеру включить ее обратно. Это можно сделать через консоль разработчика (Навигационное меню - Параметры системы - Консоль разработчика), выполнив следующую команду:

PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "none"
}
}

Сделать тоже самое можно из терминала следующей командой:

curl -XPUT -k -u admin "https://$OS_IP:9200/_cluster/settings?pretty" -H "Content-Type: application/json" -d '{"persistent":{"cluster.routing.allocation.enable": "none"}}'

При обновлении узлов кластера не используйте отключение аллокации с помощью скрипта обновления. После обновления всех узлов кластера включите аллокацию:

PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "all"
}
}

Сделать тоже самое можно из терминала следующей командой:

curl -XPUT -k -u admin "https://$OS_IP:9200/_cluster/settings?pretty" -H "Content-Type: application/json" -d '{"persistent":{"cluster.routing.allocation.enable": "all"}}'

Для установки плагина OpenSearch используйте команду:

$OS_HOME/bin/opensearch-plugin install file://<абсолютный путь к архиву>
systemctl restart opensearch

Некоторые плагины требуют расширенных привилегий, превышающих те, которые по умолчанию предоставляются в ядре OpenSearch. Эти плагины автоматически перечислят необходимые привилегии и запросят подтверждение от пользователя перед продолжением установки. При выполнении сценария установки плагина из другой программы, сам сценарий плагина должен автоматически определить, что его вызывают не из консоли, и проигнорировать запрос на подтверждение, предоставляя все запрашиваемые разрешения без участия пользователя.

Для принудительного включения пакетного режима, указав -b или --batch следующим образом:

$OS_HOME/bin/opensearch-plugin install file://<абсолютный путь к архиву> --batch

OpenSearch Dashboards

Для установки плагина OpenSearch Dashboards используйте команду:

$OSD_HOME/bin/opensearch-dashboards-plugin install file://<абсолютный путь к архиву>
systemctl restart opensearch-dashboards
Обратите внимание!

При выполнении команды под пользователем root потребуется использования флага --allow-root. Пример:

$OSD_HOME/bin/opensearch-dashboards-plugin install file://<абсолютный путь к архиву> --allow-root

Обратите внимание, что файлы плагина после установки будут иметь как владельца пользователя root. Скорректируйте права на файлы перед продолжением работы.

осторожно

При установке или обновлении плагина требуется увеличение параметра build.number в файле:

$OSD_HOME/package.json

Это требуется для сброса кэша, сохраняемого браузером. Если этот шаг будет пропущен, изменения в интерфейсе пользователей могут не примениться.

Пример изменения параметра:

...
"build": {
- "number": 6870
+ "number": 6871
}
...

Выполните перезапуск сервиса.

Logstash

Используйте следующие форматы файлов:

  • gem
  • zip

Для установки плагина используйте команду:

$LS_HOME/bin/logstash-plugin install file://<путь к плагину>
systemctl restart logstash

Удаление плагинов

Используйте команду remove для удаления установленного плагина. После выполнения команды требуется перезапуск сервиса.

OpenSearch

Для удаления плагина OpenSearch используйте команду:

$OS_HOME/bin/opensearch-plugin remove <имя плагина>
systemctl restart opensearch

OpenSearch Dashboards

Для удаления плагина OpenSearch Dashboards используйте команду:

$OSD_HOME/bin/opensearch-dashboards-plugin remove <имя плагина>
systemctl restart opensearch-dashboards
Обратите внимание!

При выполнении команды под пользователем root потребуется использования флага --allow-root. Пример:

$OSD_HOME/bin/opensearch-dashboards-plugin remove <имя плагина> --allow-root
осторожно

При удалении плагина требуется увеличение параметра build.number в файле:

$OSD_HOME/package.json

Это требуется для сброса кэша, сохраняемого браузером. Если этот шаг будет пропущен, изменения в интерфейсе пользователей могут не примениться.

Пример изменения параметра:

...
"build": {
- "number": 6870
+ "number": 6871
}
...

Выполните перезапуск сервиса.

Logstash

Для удаления плагина Logstash используйте команду:

$LS_HOME/bin/logstash-plugin remove <имя плагина>
systemctl restart logstash

Особенности установки плагинов Job Scheduler

Данный раздел описывает специфичные требования и процедуры для плагинов sm-job-scheduler и sm-sigma.

Требования к узлам

Плагин sm-job-scheduler должны быть установлен исключительно на узлах типа data (data-нодах). Установка плагина на узлы других типов (master или ingest) приведет к некорректной работе планировщика задач и ошибкам в кластере, таким как Base user limit not found in index.

Удаление плагинов с некорректных узлов

Если плагины были ошибочно установлены на master или ingest-ноду, необходимо выполнить их удаление в следующем порядке:

  1. Удалите плагин sm-sigma. Этот плагин предназначен для конвертации конфигурационных файлов в Планировщике задач. На master и ingest он не нужен

  2. Удалите плагин sm-job-scheduler

  3. Удалите пароль jobscheduler.email.pass из keystore

  4. Перезапустите узел