Sziasztok!
Tudtok ajánlani olyan eszközt ami megeszik egy logfájlt és ez alapján azonosítja egy folyamat lépéseit illetve a köztük lévő összefüggéseket?
Részmegoldások is érdekelnek. pl. ha valami csak a lépéseket tudja azonosítani.
A cél az lenne, hogy egy rendszer logját megetetem vele és ebből felrajzolja, hogy milyen folyamat/folyamatokat hajt végre a rendszer. Lehetőség szerint minél automatikusabb eszköz kellene, tehát ne kelljen neki pl. megmondani, hogy a "Dokumentumfeldolgozás kezdete" szöveget tartalmazó sor az egy lépéshez tartozik, ezt találja ki magától.
Köszi!
- 458 megtekintés
Hozzászólások
Ilyen out-of-the box tuti nincs, főleg ami magyarul is tud. Olyat lehet találsz amit be kell "tanítani" egy kulcszó-folyamat asszociációs adathalmazzal.
// Hocus Pocus, grab the focus
winSetFocus(...)
http://c2.com/cgi/wiki?FunnyThingsSeenInSourceCodeAndDocumentation
- A hozzászóláshoz be kell jelentkezni
Hát ha ilyen létezik tetszőleges logra, akkor megemelem a kalapom. (sub)
- A hozzászóláshoz be kell jelentkezni
+1
Kell valami korrelációs ID, különben még az sem triviális melyik soroknak van köze egymáshoz.
Observability témakörben néznék körbe és az OpenTelemetry-nek megfelelő módon készíteném elő a logokat, akkor van esély. Random logok esetén nincs az az AI ami ezt kibogozza
- A hozzászóláshoz be kell jelentkezni
Köszi, ránézek! Én azért nem gondolom megoldhatatlannak a dolgot két okból.
1. A lépéseket jelentő logsorok ismétlődnek a logban, ezt az ismétlődést fel lehet ismerni.
2. Korrelációs id-t is viszonylag jól be lehet lőni, mivel az meg állandó lesz a változó logsorokban. Ez alapján pl. a folyamat hosszát be lehet lőni ami alapján szintén lehet szűkíteni azt a tartományt amin meg kell oldjuk a feladatot.
- A hozzászóláshoz be kell jelentkezni
Felhasználók és azok folyamatai elkülöníthetőek?
Amúgy sokszor nem az derül így, hogyan kell használni valamit, hanem az, hogyan használják.
- A hozzászóláshoz be kell jelentkezni
subscribe
ChatGPT? :)
- A hozzászóláshoz be kell jelentkezni
Ez a problématerüelt a folyamatbányászat körébe tartozik, és van rá pár dolog:
https://en.wikipedia.org/wiki/Alpha_algorithm
https://en.wikipedia.org/wiki/Inductive_miner
Olvass utána: https://en.wikipedia.org/wiki/Process_mining
- A hozzászóláshoz be kell jelentkezni
Köszi! Asszem egy darabig elleszek vele :)
- A hozzászóláshoz be kell jelentkezni
Egy szakmérnöki képzés során a folyamatbányászat tárgy keretében volt szerencsém találkozni 2 megoldással is, az egyik a Disco, a másik a PM4py . A PM4py teljesen szabad szoftver, a fent említett algoritmusok mellett egyebeket is tud használni, széles a megjelenítési eszköztára, a fejlesztése mögött a Fraunhofer áll, szerintem egy próbát mindenképp megér. Anno a beadandóhoz a PM4py-t használtam, egy egyszerű gyártási folyamatot vizsgáltam vele, és az lett a végső konklúzióm, hogy szép és jó, de a párhuzamosságok megfelelő felderítéséhez több adatra lenne szükség a gyártási naplóban. Az egyes folyamatlépések kezdő időpontja mellett kellene a befejező időpont is, és azokat a PM4py-nak együtt kellene tudnia kezelni, amire nem találtam meg a megoldást, de lehet, hogy nem voltam kellően körültekintő. A Disco elvileg évek óta tudja ezt: https://fluxicon.com/blog/2017/09/dealing-with-parallelism-in-your-process-maps/
Szabi
- A hozzászóláshoz be kell jelentkezni
Observability: metrics, logs, traces. Mint látod logokból trace-t csinálni fából vaskarika. Használjatok tracing library-t az applikációban.
- A hozzászóláshoz be kell jelentkezni
Legutóbb nem LOG-ra, de egy spéci adathalmazra kellett nekem ábrát rajzolnom.
Ajánlom figyelmedbe a python3-graphviz csomagot.
A LOG elemzését Pythonból neked kell implementálnod. Viszont az így "megálmodott" gráfot ezzel a tool-lal szépen megrajzolhatod.
#!/usr/bin/python3
import graphviz
gvfilename = "gv-teszt.gv"
dot = graphviz.Digraph(comment='Első teszt')
dot.node('A', 'Egyik')
dot.node('B', 'Másik')
dot.node('C', 'Harmadik')
dot.node('D', 'Negyedik')
dot.edges(['AB', 'BC', 'CD'])
dot.edge('D', 'B', constraint='false') # nyíl vissza, de ne tolja el az objektumot
# Írjuk ki, rendreljük le
open(gvfilename, "w").write(dot.source)
dot.render(gvfilename).replace('\\', '/') # PDF-et gyárt
- A hozzászóláshoz be kell jelentkezni
Miért írod a logot csupa nagybetűvel?
- A hozzászóláshoz be kell jelentkezni
... megszokásból, még a CW korszakból. :) Tényleg onnan maradt bennem. Köszi az észrevételt.
- A hozzászóláshoz be kell jelentkezni
Egy Celonis nevű eszközt ajánlott most egyik kollégám. Van vele tapasztalat?
- A hozzászóláshoz be kell jelentkezni
Én nem ismerem, de ahogy a weboldalán látom, ez egy olyan eszköz, ami a már fentebb linkelt folyamatbányászati algoritmusokat implementálja.
- A hozzászóláshoz be kell jelentkezni