Да, представьте себе есть люди, которые покупают лицензии для elasticsearch.

  1. Доступ к самой лицензии получаем тут после регистрации по ссылке, которую выслал дистрибьютор. В итоге должны получить json файл.
  2. Переносим этот файл на сервер
  3. Выполняем команду установки лицензии для кластера my-cluster
    curl -XPUT -u <user>  'http://elk-node1.my.lan:9122/_license'  -H "Content-Type: application/json"  -d @license.json
    #Windows
    Invoke-WebRequest  -uri http://elk-node1.my.lan:9122/_license -Credential elastic -Method Put -ContentType "application/json" -InFile .\license.json
    

    Настройка TLS в кластере

Если получаем ошибку Cannot install a [PLATINUM] license unless TLS is configured or security is disabled, то нужно включить TLS в elasticsearch.

Проще говоря включить TLS это значит добавить ssl сертификаты для всех нод в кластере (включить https).

  1. Получаем сами сертификаты ( у меня в формате pfx)
  2. Экспортируем публичный сертификат
     openssl pkcs12 -in /tmp/elk-node1.my.lan.pfx -clcerts -nokeys -out /tmp/elk-node1.my.lan.crt
    
  3. Экспортируем приватный ключ
    openssl pkcs12 -in /tmp/elk-node1.my.lan.pfx -nocerts -nodes -out /tmp/elk-node1.my.lan.key
    
  4. Копируем сертификаты в директорию конфигураций elasticsearch, иначе будет ошибка доступа к файлам.
    sudo cp /tmp/elk-node1.my.lan.crt /etc/elasticsearch/elk-node1.my.lan.crt
    sudo cp /tmp/elk-node1.my.lan.key /etc/elasticsearch/elk-node1.my.lan.key
    sudo cp /etc/pki/ca-trust/source/anchors/root-ca.crt /etc/elasticsearch/root-ca.crt
    sudo chmod 660  /etc/elasticsearch/elk-node1.my.lan.crt /etc/elasticsearch/elk-node1.my.lan.key
    
  5. Копируем корневой сертификат в директорию конфигураций elasticsearch
    sudo cp /etc/pki/ca-trust/source/anchors/root-ca.crt /etc/elasticsearch/root-ca.crt
    
  6. Настраиваем TLS
     sudo vim /etc/elasticsearch/elasticsearch.yml
    
    xpack.security.transport.ssl.enabled: true
    xpack.security.transport.ssl.verification_mode: certificate
    xpack.security.transport.ssl.key: /etc/elasticsearch/elk-node1.my.lan.key
    xpack.security.transport.ssl.certificate: /etc/elasticsearch/root-ca.crt
    xpack.security.transport.ssl.certificate_authorities: [ "/etc/elasticsearch/root-ca.crt" ]
    
  7. Перезапускаем elasticsearch
    sudo systemctl restart elasticsearch
    sudo systemctl status elasticsearch
    
  8. Выполняем команду установки ключа (должны получить статус 200)
    Invoke-WebRequest  -uri http://elk-node1.my.lan:9122/_license -Credential elastic -Method Put -ContentType "application/json" -InFile .\license.json