OpenSearch — Логирование и поиск¶
OpenSearch — инструмент для поиска и анализа данных в документах с открытым исходным кодом. Разработанный на основе Elasticsearch, OpenSearch предоставляет эффективное хранилище и обработку данных, а также масштабируемую архитектуру.
OpenSearch Dashboards — инструмент для визуализации данных, с помощью которого пользователи могут создавать информативные и интерактивные панели на основе данных из OpenSearch.
Пользователи могут взаимодействовать с данными на дашбордах, применять фильтры и детализировать информацию для более глубокого анализа.
Инструмент предоставляет различные типы визуализаций, включая графики, диаграммы и карты, чтобы визуально представлять разнообразные данные.
OpenSearch Dashboards поддерживает совместную работу, что позволяет нескольким пользователям одновременно создавать и редактировать дашборды.
Помимо этого, дашборды можно импортировать и экспортировать для обмена настройками и визуализациями между различными инсталляциями OpenSearch Dashboards.
В составе настоящего релиза OpenSearch поставляется без преднастроенных панелей. Предполагается, что администраторы кастомизируют панели под бизнес-задачи.
Создание пользовательских панелей с использованием различных виджетов и визуализаций¶
Для создания дашборда выполните следующие действия:
Выберите источник данных (происходит определение источника данных из OpenSearch для визуализации).
Добавьте визуализации (выбор и настройка виджетов и визуализаций для отображения данных).
Сконфигурируйте фильтры (применение фильтров для уточнения отображаемых данных).
Определите компоновки (размещение визуализаций на дашборде с учетом их взаимодействия).
Сохраните и опубликуйте (сохранение созданного дашборда и возможность его публикации для общего доступа).
Создание пользовательской панели. Выбор визуализации¶
Создание пользовательской панели. Применение фильтров¶
Создание пользовательской панели. Размещение визуализации¶
Подробнее о работе с OpenSearch Dashboards см. в документации OpenSearch Dashboards.
Добавление нового output для сборщика логов¶
Если требуется сбор логов в дополнительный output, выполните следующие действия:
В репозитории региона в директории
config/fluentd/output(создать при отсутствии) создайте (или отредактируйте при наличии) файл03-opensearch.conf.Содержание
03-opensearch.conf:<match **> @type copy <store> @type opensearch hosts http://{{ opensearch_address }}:{{ opensearch_port }},https://адрес_нового_сборщика:порт_нового_сборщика {% if fluentd_opensearch_path != '' %} path {{ fluentd_opensearch_path }} {% endif %} {% if fluentd_opensearch_scheme == 'https' %} ssl_version {{ fluentd_opensearch_ssl_version }} ssl_verify {{ fluentd_opensearch_ssl_verify }} {% if fluentd_opensearch_cacert | length > 0 %} ca_file {{ fluentd_opensearch_cacert }} {% endif %} {% endif %} {% if fluentd_opensearch_user != '' and fluentd_opensearch_password != ''%} user {{ fluentd_opensearch_user }} password {{ fluentd_opensearch_password }} {% endif %} logstash_format true logstash_prefix {{ opensearch_log_index_prefix }} reconnect_on_error true reload_connections false reload_on_failure true request_timeout {{ fluentd_opensearch_request_timeout }} suppress_type_name true ssl_verify false <buffer> @type file path /var/lib/fluentd/data/opensearch.buffer/openstack.* flush_interval 15s chunk_limit_size 10M </buffer> </store> </match>
Запустите пайплайна с тегом
commonи лимитом на мастер-узлы:-t common --limit control.
Создание шаблона индексов в OpenSearch¶
Для создания шаблона индексов в OpenSearch выполните следующие действия:
Перейдите на страницу
https://opensearch.<имя домена>. Данная страница при первом входе сразу направит вас на страницу создания шаблонов.Нажмите кнопку Create index patern.
В появившемся окне в поле index pattern name укажите
flog\*и нажмите Next Step.В поле Time field выберите из выпадающего списка
@timestampи нажмите Create index pattern.
Настройка глубины хранения индексов в OpenSearch¶
Данная настройка выполняется в самом OpenSearch. Для этого перейдите на сайт https://opensearch.<имя домена>, выберите и добавьте или измените политику:
{ "policy": { "policy_id": "Retention", "description": "hot warm delete workflow", "schema_version": 16, "default_state": "hot", "states": [ { "name": "hot", "actions": [ { "retry": { "count": 3, "backoff": "exponential", "delay": "1m" }, "replica_count": { "number_of_replicas": 1 } } ], "transitions": [ { "state_name": "warm", "conditions": { "min_index_age": "30d" } } ] }, { "name": "warm", "actions": [ { "retry": { "count": 3, "backoff": "exponential", "delay": "1m" }, "replica_count": { "number_of_replicas": 0 } } ], "transitions": [ { "state_name": "delete", "conditions": { "min_index_age": "60d" } } ] }, { "name": "delete", "actions": [ { "retry": { "count": 3, "backoff": "exponential", "delay": "1m" }, "delete": {} } ], "transitions": [] } ], "ism_template": [ { "index_patterns": [ "flog-*" ], "priority": 100 } ] } }
В данной политике:
Горячие/Hot–индексы хранятся до достижения общего возраста 30 дней с репликой 1. При достижении 30+ дней индексы переходят в warm состояние/state.
Прогретые/Warm–индексы хранятся до достижения общего возраста 60 дней с репликой 0. При достижении 60+ дней индексы переходят в delete, т.е. удаляются.