Подключение и настройка Elasticsearch
Elasticsearch – система, которая позволяет хранить данные различного формата и осуществлять по ним полнотекстовый поиск. Эта статья содержит описание процесса настройки Elasticsearch для Центрального Пульта.
В предлагаемом решении для сборки и фильтрации данных используется Logstash, для настройки и визуализации данных применяется Kibana. Упомянутые три инструмента образуют так называемый стек ELK (Elasticsearch, Logstash, Kibana).
Все описанные ниже инструкции необходимо выполнить на том сервере, где установлен Центральный Пульт. |
Настройка и запуск ELK
Если Docker Compose не установлен на вашей системе, необходимо установить его по инструкции. |
Для запуска ELK необходимо выполнить следующие шаги:
-
Скачать и распаковать архив elk.tar.gz. . Перейти в директорию
elk
и выполнить следующую команду:$ sudo chmod 777 elasticsearch/data/
-
Запустить 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 необходимо выполнить следующие шаги:
-
В конфигурационный файл сервера
/etc/saymon/saymon-server.conf
добавить следующие настройки:"elasticsearch": { "node": "http://127.0.0.1:9200", "index_pattern": "my_index*" }
-
Перезапустить Центральный Пульт:
$ sudo service saymon-server restart
Получение данных из Elasticsearch
На текущий момент пользователи Центрального Пульта могут получить данные из Elasticsearch только через REST API (см. метод Получить историю данных мониторинга).