Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Wymagania

  1. Wymagana jest usługa Elasticsearch w wersji 7 lub wyższej  (uruchamiana w poniższej sekcji Konfiguracja i punkcie 3).

Konfiguracja

  1. Wymagana jest instalacja Dockera wraz z Docker Compose. 
  2. W repozytorium kodu (lub docker-compose.ymlplusworkflow/plusworkflow-core znajduje się docker-compose.yml do uruchomienia elastica i Kibany lokalnie.
  3. Będąc w lokalizacji powyższego pliku docker-compose.yml należy wywołać:

    Code Block
    docker compose up
  4. Trzeba ustawić flagę w experimental.properties:

    Code Block
    elasticProcessSearch=true
  5. Dodać plik w katalogu domowym w configu: elastic.properties o zawartości:

    Code Block
    elastic.hostname=localhost
    elastic.port=9200
    elastic.username=elastic
    elastic.password=elastic
    #Opcjonalne
    elastic.environment=
    elastic.protocol=
  6. Opcjonalnie można podać parametr elastic.environment, który jest przydatny w przypadku jednej usługi Elasticsearch dla kilku instancji systemu. Podajemy w nim unikalną nazwę dla każdej z tych instancji. 
    Nazwa nie może zawierać następujących znaków: spacja, ", *, \, <, |, ,, >, /, ?
  7. Opcjonalnie można podać parametr elastic.protocol, który określa, czy komunikacja z usługą Elasticsearch powinna odbywać się po HTTPS, czy HTTP (W zależności od ustawień serwera). Podajemy w nim wartość https lub http. W przypadku braku parametru, komunikacja odbywa się domyślnie po HTTP.

    Info
    titleUwaga

    Jeżeli komunikacja z Elasticsearch odbywa się po HTTPS, to należy uzupełnić parametr elastic.protocol wartością https.
    Aby komunikacja z usługą działała poprawnie, należy wgrać ważny certyfikat do systemu. Można skorzystać z systemowej zakładki Certyfikaty.

  8. Włączyć parametr systemowy ElasticEnabled (jeśli istnieje)
  9. Dodać zadanie zaplanowane o nazwie: Indeksowanie procesów zadań. Po jego uruchomieniu zastaną zaindeksowane wszystkie procesy i zadania.
    Zadanie posiada parametr "Rozmiar części", który odpowiada za dzielenie indeksowanych danych. Manipulując nim można mieć wpływ na szybkość wykonywania zadania.
    Zadnie po przetworzeniu każdej z części zapisuje w parametrze systemowym ElasticLastIndexedProcessObjectId ID ostatniego zaindeksowanego procesu z paczki. W przypadku wystąpienia błędu podczas wykonywania zadania i po jego ponownym uruchomieniu zadanie wznowi indeksowanie od ID procesu zapisanego w parametrze. W celu zresetowania zadania, należy jako wartość parametru podać 0.

Obsługa Kibany

...

Przy pierwszym uruchomieniu Kibany trzeba ustawić patterny dla indeksów (process* dla procesów i activity* dla zadań).

...

Management -> Stack Management -> IndexManagement

...

W przypadku wystąpienia błędu:

Code Block
Validation Failed: 1: this action would add [2] shards, but this cluster currently has [1000]/[1000] maximum normal shards open;

Należy zwiększyć maksymalny limit aktywnych shard'ów z poziomu zakładki Management -> Dev Tools wywołując:

Code Block
PUT /_cluster/settings
{
  "persistent" : {
      "cluster.max_shards_per_node": "2000"
  }
}

...

Obsługa Dockera

  1. Usuwanie kontenerów - Będąc w lokalizacji pliku docker-compose.yml należy wywołać:

    Code Block
    docker compose down

    Jeżeli chcemy również usunąć wolumen ze wszystkimi danymi wywołujemy z opcją -v

    Code Block
    docker compose down -v
  2. Jeżeli chcemy utworzyć kontenery bez wyświetlania logów, dodajemy komendę -d

    Code Block
    docker compose up -d
  3. Aby wyświetlić status kontenerów należy wykonać:

    Code Block
    docker stats

...

  1. Po usunięciu/anulowaniu procesu lub zawieszeniu/anulowaniu/przywróceniu zadania z poziomu widoku wyników wyszukiwania daną mogą nie być spójne, należy ponowne wyszukać.
  2. Wyszukiwanie zadań z użyciem pól związanych z terminami ostatecznymi nie wyszukuje tylko zadań z terminami ostatecznymi.
  3. Zmienne tabelaryczne są wyświetlane wyłącznie w ramach jednego wiersza.