Přeskočit obsah

Elasticsearch v ASAB Maestro

Technologie Elasticsearch rozšiřuje konfiguraci služby Elasticsearch a spojuje Elasticsearch s ostatními službami.

Parametry

Seznam parametrů vytvořených technologií Elasticsearch, dostupných modelu a deskriptorům, kdykoli je Elasticsearch přítomen v instalaci.

ELASTIC_HOSTS_KIBANA

Řetězec URL adres všech ElasticSearch master nodů.

"[http://lmc01:9200, http://lmc02:9201, http://lmc03:9202]"

Kibana descriptor

define:
    type: rc/descriptor
    name: Kibana
    url: https://www.elastic.co/kibana

descriptor:
    image: docker.elastic.co/kibana/kibana
    volumes:
        - "{{SITE}}/{{INSTANCE_ID}}/config:/usr/share/kibana/config"

files:
    - "config/kibana.yml": |
        # https://github.com/elastic/kibana/blob/main/config/kibana.yml
        server.host: {{NODE_ID}}
        elasticsearch.hosts: {{ELASTIC_HOSTS_KIBANA}}
        elasticsearch.username: "elastic"
        elasticsearch.password: {{ELASTIC_PASSWORD}}
        xpack.monitoring.ui.container.elasticsearch.enabled: true
        server.publicBaseUrl: {{PUBLIC_URL}}/kibana
        server.basePath: "/kibana"
        server.rewriteBasePath: true
ELASTIC_PASSWORD

Tajný klíč umožňující přístup a zápis do Elasticsearch.

Konfigurace ASAB služeb

Každá ASAB služba obdrží konfigurační sekci elasticsearch.

[elasticsearch]
url=http://lmc01:9200
    http://lmc02:9201
    http://lmc03:9202
username=elastic
password=<ELASTIC_PASSWORD>

Konfigurace Elasticsearch

Proměnné prostředí

Existuje několik proměnných prostředí v deskriptoru Elasticsearch nastavených na null a nahrazených technologií.

node.roles

Roles jsou načítány z modelu pro každou instanci. Názvy specifikované pro každou instanci (master, hot, warm, cold) jsou přeloženy do node.roles následovně:

  • master -> node.roles=master,ingest
  • hot -> node.roles=data_content,data_hot
  • warm -> node.roles=data_warm
  • cold -> node.roles=data_cold

Jiné názvy a vrstvy nejsou podporovány Elasticsearchem ani ASAB Maestro.

http.port

Každá instance Elasticsearchu dostává jedinečný port podle své role. Všechny master instance začínají na 9200, všechny hot instance začínají na 9250, všechny warm instance začínají na 9300, všechny cold instance začínají na 9350.

transport.port

Každá instance Elasticsearchu dostává jedinečný port pro vnitřní (mezi-elastickou) komunikaci. Všechny master instance začínají na 9400, všechny hot instance začínají na 9450, všechny warm instance začínají na 9500, všechny cold instance začínají na 9550.

cluster.initial_master_nodes

Všechny master instance Elasticsearchu.

discovery.seed_hosts

Všechny master nody kromě toho, který je právě konfigurován.

ES_JAVA_OPTS

Pokud není -Xms již nastavena, nastaví se na -Xms2g pro master nody a -Xms28g pro ostatní nody. Pokud není -Xmx již nastavena, nastaví se na -Xmx2g pro master nody a -Xmx28g pro ostatní nody.

Certifikáty

Komunikace mezi instancemi Elasticsearch je zabezpečena certifikáty. Certifikáty jsou generovány ASAB Remote Control, pomocí jeho certifikační autority.

Konfigurace Nginx

Porty přiřazené master nodům jsou šířeny do konfigurace Nginx, aby vytvořily záznam upstream pro službu Elasticsearch.