Я хотел использовать замечательное программное обеспечение dejavu для аудита локального экземпляра эластичного поиска.
Прекрасная идея, но в настоящее время кажется, что это не так просто, как должно быть. Но я нашел способ сделать это, и я хочу поделиться с сообществом.
По сути, вы можете запустить dejavu из opensource.appbase.io, но сначала вам нужно установить SSL для доступа к вашей локальной ES. Вот как я это сделал менее чем за 1 час (сэкономив остальные 4 часа поиска в Google / reasearch / try & fail).
Это немного похоже на проблему https://github.com/appbaseio/dejavu/issues/106, но запускается с веб-сайта dejavu вместо локального расширения.
На всякий случай, я успешно протестировал это на Chrome и Firefox. Я сделал все это в Windows, но я полагаю, что Linux должен работать, потому что здесь ничего не описано для Windows.
Плохая новость: расширение Google не работает (понятия не имею, поскольку сообщения об ошибках не существует)
Подробнее: я не хочу иметь дело с Docker, это другой «легкий» способ, который предоставляется.
Так вот что я сделал:
1.- вот ссылка на основной сайт: https://opensource.appbase.io/dejavu/
2.- нажмите, чтобы запустить его вживую. Вот ссылка: https://opensource.appbase.io/dejavu/live?default=true
Он начнется немедленно, но не сможет получить никаких данных. Не волнуйся.
3.- укажите его на локальный, в моем случае это было http://localhost:9200 плюс мой индексный документ ES. Не удалось, но не волнуйтесь.
Если вы посмотрите на консоль и сетевые инструменты вашего браузера, dejavu пытается подключиться через SSL к вашему ES. Вот где требуется установка SSL на ES (или перед ним).
Есть несколько способов сделать это. В моем случае (потому что это было не для производства) я использовал Apache httpd, в частности, уже упакованную (переносную) версию xampp, поэтому его загрузка и запуск занимает всего несколько минут. Я скачал отсюда: https://portableapps.com/apps/development/xampp
4.- после установки Apache откройте новую вкладку в своем браузере и попробуйте SSL, например https://localhost, и он выдаст правильное предупреждение о сертификате. Просто положитесь на него, чтобы проверить, работает ли SSL. Не беспокойтесь о предупреждении.
5.- чтобы установить SSL для правильного перенаправления ES-запросов, у вас есть эти простые настройки, которые нужно добавить в файл конфигурации apache, а затем перезапустить apache. Я взял эту идею отсюда: Elasticsearch с прокси-сервером apache2
<Proxy http://127.0.0.1:9200>
ProxySet connectiontimeout=5 timeout=90
</Proxy>
<LocationMatch "^(/_aliases|.*/_search|.*/_mapping|/_nodes|/_settings)$">
ProxyPassMatch http://127.0.0.1:9200
ProxyPassReverse http://127.0.0.1:9200
</LocationMatch>
6.- теперь необходимо установить авторизацию кросс-происхождения на вашем ES. Добавьте эти строки в файлasticsearch.yml и перезапустите ES. Инструкции взяты с сайта dejavu github: https://github.com/appbaseio/dejavu
http.cors.allow-origin: "https://opensource.appbase.io"
http.cors.enabled: true
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization,Access-Control-Allow-Origin
http.cors.allow-credentials: true
7.- проверьте, как идут дела: получите отображение индекса примерно так: https://localhost/your_es_doc_index/_mapping
Вы получите отображение JSON вашего индекса. Все работает (Apache и ES)
8.- теперь, в вашем dejavu, укажите его на https://localhost:443 (да, порт должен быть установлен, потому что если нет, то он будет https://localhost:9200, верить этому или нет). Не забудьте установить индексный документ ES в поле «заголовок» ni dejavu. Теперь нажмите «Подключиться».
Через пару секунд у вас будет готов список доступных типов в dejavu