Logs
Procesy D2000 počas svojho behu logujú informácie o svojej činnosti a udalostiach v systéme. Do OTel logov sú zároveň zapisované aj záznamy z monitorovacej databázy. Zapisované informácie sa členia do niekoľkých kategórií, z ktorých niektoré sú zaujímavé pre administrátorov, iné sú určené pre aplikačných programátorov, pre vývojárov D2000 atď. Pre uľahčenie vyhľadávania a filtrovania má každý záznam v logu textový atribút s názvom d2_category, ktorý určuje kategóriu, do ktorej daný záznam spadá.
Aktuálne existujú tieto kategórie:
"AlarmLogging" - záznamy z monitorovania
"SystemLogging"- záznamy z monitorovania
"ProcessLogging"- záznamy z monitorovania
"KomLogging"- záznamy z monitorovania
"OperatorLogging"- záznamy z monitorovania
"EventMsgLogging"- záznamy z monitorovania
"LogonLogoffLogging"- záznamy z monitorovania
"DataExportLogging"- záznamy z monitorovania
"ChangeValueLogging"- záznamy z monitorovania
"PostMortemDataLogging"- záznamy z monitorovania
"cono" - textový výstup z konzoly procesu
"client_connect" - informácie o pripojení/odpojení klienta
"user_login" - informácie o prihlásení/odhlásení užívateľa
"license_overrun" - informácie ohľadom prekročenia licencie
Každý proces D2000 vystupuje v OTel ako samostatná služba - service - ktorej meno je tvorené ako <názov_aplikácie/meno_počítača/meno_procesu>.
Filtrovanie podľa atribútov:
Filtrovať je možné aj pomocou query language, nasl. príkaz filtruje záznamy procesu D2000 kernel, ktoré patria do kategórie SystemLogging
{service_name="a1/PC1SKOP5/D2000_KERNEL"} | d2_category = "SystemLogging"
Príklad1: potrebujeme vedieť, kedy sa prihlasoval užívateľ „operator1“
1a) do Grafany napíšeme query:
{service_name="a1/PC1SKOP5/D2000_KERNEL"} | d2_category=`LogonLogoffLogging` | d2_log_descript=`operator1` | d2_log_new_value=`Logon`
1b) prípadne vyskladáme podmienky graficky v UI Grafany:
2) v Grafane vidíme požadované záznamy:
Rovnaké záznamy vidíme aj v monitorovacej databáze (hi.exe, mimo OTel):
príklad 2 - prezeranie konzolového výstupu D2000 kernela:
Traces
Sledovanie (tracing) umožňuje sledovať spracovanie požiadaviek a udalostí naprieč rôznymi komponentami a procesmi systému. Zároveň umožňuje sledovať dekompozíciu požiadavky/udalosti na jednotlivé časti resp. úseky (span-y) a tiež sledovať, ako dlho jednotlivé úseky trvajú, ako na seba nadväzujú a ktoré komponenty/procesy dané úseky spracúvajú. Tracing sa používa najmä na optimalizáciu výkonu, keďže umožňuje odhaliť "úzke hrdlá" v spracovaní požiadavky.
Vo východzom stave je tracing vypnutý, zapnúť ho je možné niektorou z nasl. akcií:
- Parametrom procesu /E+OTEL.TRACING (pri štarte procesu, alebo v SysConsole počas behu procesu)
- V procese HI.EXE tlačidlom Trace v okne listenera (ctrl+shift+L)
- Pri krokovaní ESL:
Udalosti, ktoré vytvárajú koreňový trace záznam:
- spustenie eventu
- volanie RPC
- otvorenie schémy v HI
- užívateľská interakcia v HI v schéme (napr. kliknutie na tlačidlo)
V rámci operácie, ktorá je sledovaná, sú automaticky sledované všetky jej sub-operácie, ako volanie RPC, DB operácie, archívne operácie, XML funkcie, FIO funkcie atď.
Príklad: Máme schému S.MAIN, po kliknutí na tlačidlo, ESL skript 2x zavolá RPC „get_data” na server event E.SERVER, ktorý načíta dáta z databázy a vráti dáta do schémy. Vizualizácia trace vyzerá nasledovne:
Metrics
zatiaľ neimplementované
Tento návod popisuje inštaláciu a konfiguráciu jednotlivých OTel komponentov vo forme samostatných procesov pre OS Windows. Sprevádzkovanie OTel stack-u na platforme docker nie je predmetom tohto návodu.
grafana
- Zo stránky https://grafana.com/grafana/download?platform=windows&edition=oss stiahneme .zip súbor grafana-<verzia>.windows-amd64.zip
- Súbor rozbalíme do zvoleného adresára, napr.
c:\otel\grafana\
Spustenie grafana servera vykonáme príkazom grafana-server.exe v adresári c:\otel\grafana\bin
Užívateľské prostredie grafany je prístupné na http://localhost:3000/ (default užívateľ:heslo je admin:admin)
V grafana je potrebné nakonfigurovať zdroje dát (Data sources):
loki
V dolnej časti stránky klikneme "Save & test"
tempo
prometheus















