4.4. Instalace pomocí deployment skriptů
Pro instalaci a provoz aplikace Elza v prostředí Linux je k dispozici sada deployment skriptů, která automatizuje instalaci, aktualizaci, zálohování databáze a sledování stavu aplikace. Skripty jsou publikovány na adrese get.lightcomp.com/elza.
Skripty jsou určeny pro provoz aplikace jako služby systemd s databází PostgreSQL a doplňují postup popsaný v kapitole Instalace pomocí binární distribuce.
Požadavky:
Linux se systemd,
databáze PostgreSQL (včetně klientských nástrojů
pg_dump),nástroje
bash,curl,oprávnění root pro instalaci (vlastní aplikace běží pod samostatným uživatelem).
4.4.1. Instalace
Instalace se provádí spuštěním bootstrap skriptu:
curl -fsSL https://get.lightcomp.com/elza/elza-bootstrap.sh | bash -s -- --home /opt/elza
Bootstrap skript stáhne balík skriptů (ověřený kontrolním součtem) do
adresáře /opt/elza/scripts, připraví konfigurační soubor
elza-env a nainstaluje jednotky systemd.
Po instalaci je nutné upravit konfigurační soubor elza-env
(zejména připojení k databázi) a spustit první nasazení příkazem
elza-deploy.
4.4.2. Dostupné příkazy
Po instalaci jsou k dispozici následující příkazy:
elza-deploy- instalace nebo aktualizace aplikace: zastavení služby, záloha databáze, stažení distribuce, atomické přepnutí na novou verzi (symbolický linkcurrent), spuštění služby a ověření funkčnosti. Volba--autonainstaluje verzi dle nastaveného kanálu.
elza-backup- záloha databáze pomocípg_dumps automatickým mazáním starých záloh.
elza-health- kontrola stavu aplikace a volitelné hlášení stavu dohledovému systému (viz Hlášení stavu dohledovému systému).
elza-update- bezobslužná aktualizace na novou verzi.
Všechny příkazy podporují volbu --show-config pro výpis výsledné
konfigurace.
Jednotky systemd
Skripty instalují následující jednotky systemd:
elza.service- vlastní aplikace Elza,
elza-backup.timer- pravidelná záloha databáze (výchozí: neděle 02:30),
elza-health.timer- pravidelná kontrola stavu (výchozí: každých 10 minut),
elza-update.timer- bezobslužná aktualizace (pokud je povolena, provádí se mimo nastavenou pracovní dobu).
4.4.3. Konfigurace
Konfigurace se provádí v souboru elza-env v adresáři skriptů.
Přehled hlavních voleb:
Volba |
Význam |
|---|---|
|
Domovský adresář instalace (např. |
|
Připojení k databázi PostgreSQL. |
|
Velikost paměti JVM (výchozí: 4G). |
|
Kanál aktualizací: |
|
Povolení bezobslužné aktualizace a vymezení pracovní doby, ve které se aktualizace neprovádí. |
|
Doba uchování pravidelných záloh a záloh před aktualizací. |
|
Automatický import balíčků pravidel při nasazení (viz Automatizace aktualizace balíčků). |
|
Volitelná URL pro lokální HTTP kontrolu, že aplikace skutečně
odpovídá, např. |
|
Interval hlášení stavu dohledovému systému (výchozí: 10m). |
|
Přístupové údaje a název instance pro hlášení stavu dohledovému systému. Bez jejich nastavení se žádná hlášení neodesílají. |
|
URL lokálního endpointu s metrikami Prometheus (výchozí:
|
4.4.4. Hlášení stavu dohledovému systému
Skript elza-health umí pravidelně hlásit stav instance vzdálenému
dohledovému systému provozovanému dodavatelem podpory. LightComp v.o.s.
nabízí tuto službu jako součást podpory pod názvem Customer
Service Center (CSC); hlášení lze směřovat i do jiného systému
implementujícího stejné rozhraní.
Hlášení je aktivní pouze tehdy, jsou-li nastaveny přístupové údaje
(CUSTOMER_ID a CUSTOMER_SERVICE_SECRET). Bez jejich
nastavení skripty žádná data neodesílají a provádí pouze lokální
kontrolu stavu.
Komunikace probíhá výhradně směrem od instance k dohledovému systému (push) protokolem HTTPS a jednotlivá hlášení jsou podepsána klíčem zákazníka (HMAC). Dohledový systém se nikdy nepřipojuje do infrastruktury zákazníka.
Odesílané údaje
Následující přehled je umožňuje mimo jiné IT oddělení vidět, jaké údaje jsou předávány straně zajišťující dohled. V každém hlášení (výchozí interval 10 minut) se odesílá:
celkový stav instance (
up/degraded/down),výsledky dílčích kontrol (stav služby systemd, výsledek HTTP kontroly),
verze aplikace a čas jejího spuštění,
jméno počítače (hostname),
vybrané metriky dle níže uvedeného seznamu.
Metriky se získávají z lokálního endpointu Prometheus (viz admin_monitoring_metrics) a odesílají se pouze metriky výslovně uvedené v seznamu (allow-list). Odesílají se výhradně číselné hodnoty vybraných metrik - neodesílá se žádný archivní obsah, osobní údaje ani kompletní výpis metrik.
Předávaná metrika |
Jednotka |
Význam |
Výchozí práh upozornění |
|---|---|---|---|
|
sekundy |
Stáří posledního úspěšného dotazu na externí systém (CAM). |
nad 7200 (2 hodiny) |
|
počet |
Počet položek fronty zpracování ve stavu chyba. |
nad 0 |
|
sekundy |
Stáří nejstarší položky ve stavu chyba. |
nad 3600 (1 hodina) |
|
sekundy |
Stáří nejstarší odložené položky fronty zpracování. |
nad 86400 (24 hodin) |
|
počet |
Počet aktuálně připojených uživatelů. |
nesledováno (informativní) |
Prahové hodnoty jsou výchozí a strana zajišťující dohled je může pro
konkrétní instalaci upravit. Autoritativní strojově čitelný seznam
předávaných metrik je součástí distribuce Elza v souboru
config/csc-metrics.json.
Vypnutí předávání údajů:
úplné vypnutí hlášení - nenastavovat (odebrat)
CUSTOMER_IDaCUSTOMER_SERVICE_SECRET,vypnutí předávání metrik při zachování hlášení stavu - nastavit
CSC_METRICS_URLna prázdnou hodnotu.