Подключение и настройка Elasticsearch

Elasticsearch – система, которая позволяет хранить данные различного формата и осуществлять по ним полнотекстовый поиск. Эта статья содержит описание процесса настройки Elasticsearch для Центрального Пульта.

В предлагаемом решении для сборки и фильтрации данных используется Logstash, для настройки и визуализации данных применяется Kibana. Упомянутые три инструмента образуют так называемый стек ELK (Elasticsearch, Logstash, Kibana).

Все описанные ниже инструкции необходимо выполнить на том сервере, где установлен Центральный Пульт.

Настройка и запуск ELK

Если Docker Compose не установлен на вашей системе, необходимо установить его по инструкции.

Для запуска ELK необходимо выполнить следующие шаги:

  1. Скачать и распаковать архив elk.tar.gz. . Перейти в директорию elk и выполнить следующую команду:

    $ sudo chmod 777 elasticsearch/data/
  2. Запустить ELK:

    $ sudo docker-compose up -d

После запуска Logstash автоматически создаёт индекс для хранения данных с именем my_index. Далее задаются настройки для индекса.

Чтобы настроить индекс, необходимо открыть консоль в Kibana (https://YOUR_HOST_IP:5601/app/kibana#/dev_tools/console?_g=()) и ввести следующую команду:

PUT _template/my_index
{
    "index_patterns": [
        "my_index*"
    ],
    "settings": {
        "index": {
            "lifecycle": {
                "name": "my_index-policy",
                "rollover_alias": "my_index"
            }
        }
    },
    "mappings": {
        "dynamic": false,
        "properties": {
            "payload": {
                "dynamic": true,
                "type": "object"
            },
            "entityId": {
                "norms": false,
                "type": "text",
                "fields": {
                    "keyword": {
                        "ignore_above": 256,
                        "type": "keyword"
                    }
                }
            },
            "timestamp": {
                "format": "epoch_millis",
                "type": "date"
            }
        }
    },
    "aliases": {}
}

Если запрос выполнен успешно, то в правой части экрана будет следующий ответ:

{
    "acknowledged" : true
}

Настройка Центрального Пульта для работы с ELK

Для настройки ELK необходимо выполнить следующие шаги:

  1. В конфигурационный файл сервера /etc/saymon/saymon-server.conf добавить следующие настройки:

    "elasticsearch": {
        "node": "http://127.0.0.1:9200",
        "index_pattern": "my_index*"
    }
  2. Перезапустить Центральный Пульт:

    $ sudo service saymon-server restart

Получение данных из Elasticsearch

На текущий момент пользователи Центрального Пульта могут получить данные из Elasticsearch только через API (см. метод Get Stat History).