Компонент OpenSearch включен в плагин RT.Monitoring начиная с версии 2.0.0 и используется для распределенного поиска, сбора, анализа и визуализации данных логов компонентов другого кластера, например созданного с помощью плагина RT.DataLale.
Для лучшего понимания со схемой работы сервисов компонента OpenSearch можно ознакомится на следующем рисунке:
Для того чтобы установить и настроить подсистему сбора и визуализации логов необходимо выполнить следующие операции:
1. Создайте кластер с помощью плагина RT.Monitoring (как указано в п. 4, шаги с 1 по 6 документа “RT.Monitoring”).
2. Зайдите в созданный кластер, и на вкладке “Общие” добавьте компонент OpenSearch:
3. Зайдите в созданный компонент opensearch и на вкладке “Общие” добавьте ко всем сервисам компонента OpenSearch один и тот же хост:
4. Слинкуйте созданный кластер с кластером? компоненты которого будем мониторить - целевым кластером. Целевой кластер (в примере docluster) уже должен быть установлен и настроен:
5. Выполните установку программного обеспечения компонента OpenSearch нажав на кнопку “Установка” в правом верхнем углу формы компонента OpenSearch .
6. Для включения захвата логов, для компонентов целевого кластера необходимо выполнить следующую настройку (в примере компонент hdfs кластера созданного с помощью плагина RT.DataLake):
7. Выполните операцию “Переконфигурировать” для компонента целевого кластера у которого изменяли настройку.
8. Перейдите в web ui opensearch dashboards: используя “http://имя_хоста_opensearch_dashboards:5601” или через endpoint, как на рисунке ниже:
9. Авторизуйтесь в web ui opensearch dashboards (по умолчанию: admin/admin):
10. Сменить пароль можно в настройках:
11. Перейдите в Stack Management:
12. Для настройки индексов, выполните следующие действия:
Далее:
13. Создайте индекс:
14. Перейдите в Discover:
15. Проверьте результат работы OpenSearch:
# ======================== OpenSearch Configuration =========================
#
# NOTE: OpenSearch comes with reasonable defaults for most settings.
# Before you set out to tweak and tune the configuration, make sure you
# understand what are you trying to accomplish and the consequences.
#
# The primary way of configuring a node is via this file. This template lists
# the most important settings you may want to configure for a production cluster.
#
# Please consult the documentation for further information on configuration options:
# https://www.opensearch.org
#
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
cluster.name: my-application
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: red.localdomain
node.roles: [ master, data ]
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
path.data: /var/lib/opensearch
#
# Path to log files:
#
path.logs: /var/log/opensearch
#
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
#bootstrap.memory_lock: true
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# OpenSearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 0.0.0.0
#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#discovery.type: "single-node"
#
# Pass an initial list of hosts to perform discovery when this node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
discovery.seed_hosts: ["192.168.100.100"]
#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#
cluster.initial_master_nodes: ["red.localdomain"]
#
# For more information, consult the discovery and cluster formation module documentation.
#
# ---------------------------------- Gateway -----------------------------------
#
# Block initial recovery after a full cluster restart until N nodes are started:
#
#gateway.recover_after_nodes: 3
#
# For more information, consult the gateway module documentation.
#
# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
######## Start OpenSearch Security Demo Configuration ########
# WARNING: revise all the lines below before you go into production
plugins.security.disabled: false
compatibility.override_main_response_version: true
plugins.security.ssl.transport.pemcert_filepath: esnode.pem
plugins.security.ssl.transport.pemkey_filepath: esnode-key.pem
plugins.security.ssl.transport.pemtrustedcas_filepath: root-ca.pem
plugins.security.ssl.transport.enforce_hostname_verification: false
plugins.security.ssl.http.enabled: false
plugins.security.ssl.http.pemcert_filepath: esnode.pem
plugins.security.ssl.http.pemkey_filepath: esnode-key.pem
plugins.security.ssl.http.pemtrustedcas_filepath: root-ca.pem
plugins.security.allow_unsafe_democertificates: true
plugins.security.allow_default_init_securityindex: true
plugins.security.authcz.admin_dn: "CN=test,OU=client,O=client,L=test, C=ru"
plugins.security.ssl.http.clientauth_mode: NONE
plugins.security.audit.type: "internal_opensearch"
plugins.security.enable_snapshot_restore_privilege: true
plugins.security.check_snapshot_restore_write_privileges: true
plugins.security.restapi.roles_enabled: ['all_access', 'security_rest_api_access']
plugins.security.system_indices.enabled: true
plugins.security.system_indices.indices: ['.plugins-ml-model', '.plugins-ml-task', '.opendistro-alerting-config', '.opendistro-alerting-alert*', '.opendistro-anomaly-results*', '.opendistro-anomaly-detector*', '.opendistro-anomaly-checkpoints', '.opendistro-anomaly-detection-state', '.opendistro-reports-*', '.opensearch-notifications-*', '.opensearch-notebooks', '.opensearch-observability', '.opendistro-asynchronous-search-response*', '.replication-metadata-store']
#plugins.security.authcz.admin_dn:
#node.max_local_storage_nodes: 3
######## End OpenSearch Security Demo Configuration ########
2. Проверьте результат: