Kolegovia, pokračujeme v sérii článkov venovaných technologickému magazínu.
Dnes si ukážeme prax rozboru log logov TJ.
Ďalšie články zo série Technology Magazine:
Analýza technologických denníkov
Čo sa z tohto článku dozviete?
- Pozrime sa bližšie na prihlásenia 1C: Enterprise 8
- Pozrime sa podrobne na formát denníka Technologický časopis
- Pozrime sa na príklad denníka so zaznamenanými údajmi
Pozrime sa, čo sa stane, ak vytvoríme súbor logcfg.xml s vyššie uvedenou štruktúrou a umiestnite ju do adresára "C:\Program Files\1Cv82\conf"
Počkáme 60 sekúnd a otvoríme adresár "C:\1C_Info\Logs", pretože to je presne to, čo sme uviedli v riadku 3 súboru logcfg.
Ak je adresár 1C_Info nie je na disku, potom sa ho server 1C pokúsi vytvoriť, existuje však riziko, že používateľ, pod ktorým služba 1C beží, nebude mať práva. Preto sa odporúča vytvoriť adresáre pre protokoly manuálne a skontrolovať, či má server 1C práva na zápis do tohto adresára.
Výsledkom je, že v adresári vidíme 3 podadresáre.
Každý klastrový proces vytvoril adresár, ktorý obsahuje protokoly iba tohto procesu a odvtedy Mám len 3 procesy, takže sú tam aj 3 adresáre.
Adresár je vytvorený pomocou šablóny ProcessName_PIDProcess. PID potrebné na rozlíšenie medzi procesmi s rovnakým názvom.
Log súbor je pomenovaný podľa vzoru YYMMDDHCH.log.
Ak je protokol starší ako počet hodín uvedený v parametri histórie súbor logcfg, potom ho platforma automaticky odstráni.
Pozrime sa bližšie na formát protokolu technológie.
Udalosť sa zapíše do denníka až po jej dokončení, pretože je potrebné zaznamenať trvanie udalosti.
Riadok denníka má formát:
Mm:ss.ttt-d,<ИмяСобытия>, <Уровень>, <Свойства>
mm– číslo minúty v aktuálnej hodine.
ss– číslo sekundy v aktuálnej minúte.
tttt– číslo desaťtisíciny aktuálnej sekundy pre 8,3 je tu zobrazené číslo milióntiny.
d– trvanie udalosti v desaťtisícinách sekundy, 8,3 v milióntine.
<ИмяСобытия> – názov udalosti.
<Уровень> – úroveň udalosti v zásobníku aktuálneho vlákna.
<Свойства> - vlastnosti udalosti oddelené čiarkami, hodnoty vlastností oddelené znamienkom «=» .
Pozrime sa na to na príklade.
Existuje denník s nasledujúcim obsahom:
Burmistrov Andrej
V nasledujúcich článkoch sa pozrieme na „Udalosti“, ako aj na ich filtrovanie TJ.
Medzitým priložte prijatý materiál k svojej testovacej informačnej základni :)
(alebo časť pomocou filtra), napríklad:
— spustiteľný kód 1C:Enterprise 8;
— Transact-SQL kód pre DBMS;
— interaktívne akcie používateľov,
- chybové hlásenia,
Poznámka. Ak TJ stále nie je zapísaný, udeľte všetkým práva na tento priečinok (dočasne, aby ste sa uistili, že práva sú správne).
3) V adresári technologického denníka by nemali byť žiadne nadbytočné súbory. Adresár obsahujúci nadbytočné súbory neumožní vytvorenie denníka (logov).
4) Neuchovávajte výpisy a protokoly spolu, pretože po stanovenom intervale (predvolená 1 hodina) sa obsah úplne vymaže a výpisy stratíte
nastavenie
Je lepšie nakonfigurovať TJ (pomocou filtrov - logcfg.xml tagov) len pre skúmané udalosti, zvyšok nezbierať, inak zažijete „nedostatok miesta na disku“ a spomalíte výkon servera.
1) Jednoduchšie je konfigurovať filtre pomocou spracovania s ITS nastaveniami Technologického časopisu.epf, ale zároveň pamätajte, že nové funkcie najnovších vydaní nemusia byť zahrnuté v návrate (každá nová verzia pridáva nové funkcie, sú nepremietne do spracovania). V tomto prípade upravte súbor logcfg.xml manuálne.
2) Ak chcete zastaviť zhromažďovanie protokolov, stačí premenovať súbor, nie je potrebné reštartovať server, nastavenia sa prepočítavajú každú minútu „za behu“;
3) nakonfigurujte súbor logcfg.xml na filtrovanie udalostí pre špecifické zabezpečenie informácií, použite „p:processName=“
4) http://users.v8.1c.ru/Adm1936.aspx – príklady nastavení
Podrobnosti
Je jasné, že zhromažďovanie protokolov nestačí, aby sa vyriešil konkrétny problém.
1) Ťažkosti s čítaním TJ:
— Vyžaduje si dobré pochopenie architektúry systému
— Texty žiadostí sú registrované v internom jazyku 1C:Enterprise av jazyku DBMS
2) Technologické protokolové súbory sú uložené v podadresároch. Názov každého podadresára technologického denníka jedného procesu bude vyzerať takto:<ИмяПроцесса>_<ИдентификаторПроцесса>, napríklad: rphost_4076. Názov súboru protokolu je určený šablónou YYMMDDHCH.log. Napríklad v protokole 07051819.log je názov súboru vytvorený od 18. mája 2007, 19 hodín)
3) Protokol na analýzu je možné nahrať do Excelu napríklad pomocou čiarky ako oddeľovača
Ak chcete použiť protokol na analýzu chybových hlásení, použite bezplatnú službu.
ak ste nenašli odpoveď na svoju otázku, rozšírme materiál
— spustiteľný kód 1C:Enterprise 8;
— Transact-SQL kód pre DBMS;
— interaktívne akcie používateľov;
— chybové hlásenia;
- úniky pamäte.
V prípade abnormálneho ukončenia vám protokol umožňuje vytvoriť výpis pamäte a kópiu obrazovky na prenos vývojárom.
Ak chcete povoliť technologický denník, musíte:
Vytvorte súbor logcfg.xml v priečinku C:\Program Files (x86)\1cv82\8.2.15.301\bin\conf (cesta - adresár 1C Enterprise) na serveri 1C Enterprise.
Potom musíte zapísať cesty k vytvoreným priečinkom do súboru logcfg.xml (kde špecifikovaná cesta 1 je cesta k protokolom a špecifikovaná cesta 2 je cesta k výpisom):
Tu je príklad nastavení z môjho servera:
Po dokončení týchto krokov aplikácia 1cv8 automaticky začne ukladať systémové informácie o všetkých chybách, ktoré sa vyskytli v systéme do týchto adresárov.
Po dokončení analýzy je možné protokol procesu deaktivovať odstránením alebo premenovaním súboru logcfg.xml.
Predpokladá sa, že na počítačoch, kde bude tento protokol povolený, môžu súbory zaberať pomerne veľké množstvo miesta na disku (samozrejme relatívne). Preto odporúčam špecifikovať cesty k diskom s veľkým množstvom voľného miesta.
1) Ak chcete úspešne vytvárať protokoly, musíte vytvoriť adresáre pre protokoly (napríklad „D:\1Clog“) a výpisy (napríklad „D:\1Cdumps“), je lepšie ich vytvárať nie na systémovej jednotke.
2) Pre tieto TG adresáre musia byť nakonfigurované nasledujúce práva:
— plné práva na katalóg technologických časopisov;
— práva na čítanie pre vlastníka adresára technologického denníka.
Poznámka. Ak TJ stále nie je zapísaný, udeľte všetkým práva na tento priečinok (dočasne, aby ste sa uistili, že práva sú správne).
3) V adresári technologického denníka by nemali byť žiadne nadbytočné súbory. Adresár obsahujúci nadbytočné súbory neumožní vytvorenie denníka (logov).
4) Neuchovávajte výpisy a protokoly spolu, pretože po stanovenom intervale (predvolená 1 hodina) sa obsah úplne vymaže a výpisy stratíte
Je lepšie nakonfigurovať TJ (pomocou filtrov - logcfg.xml tagov) len pre skúmané udalosti, zvyšok nezbierať, inak zažijete „nedostatok miesta na disku“ a spomalíte výkon servera.
1) Jednoduchšie je konfigurovať filtre pomocou spracovania s ITS nastaveniami Technologického časopisu.epf, ale zároveň pamätajte, že nové funkcie najnovších vydaní nemusia byť zahrnuté v návrate (každá nová verzia pridáva nové funkcie, sú nepremietne do spracovania). V tomto prípade upravte súbor logcfg.xml manuálne.
2) Ak chcete zastaviť zhromažďovanie protokolov, stačí premenovať súbor, nie je potrebné reštartovať server, nastavenia sa prepočítavajú každú minútu „za behu“;
3) nakonfigurujte súbor logcfg.xml na filtrovanie udalostí pre špecifické zabezpečenie informácií, použite „p:processName=“
Pomocou týchto nastavení zhromažďujem informácie o:
výnimočné situácie aplikácií systému 1C: Enterprise 8.2, ktoré sa nespracúvajú normálne a môžu spôsobiť núdzové ukončenie serverového procesu alebo klientskeho procesu, ktorý je k nemu pripojený.
udalosti, ktoré sa začali, ale neskončili, keď nastala mimoriadna situácia.
udalosti súvisiace s celým procesom a ovplyvňujúce ďalší výkon procesu. Napríklad: začiatok, koniec, zlyhanie atď.
kontrolné akcie správcu klastra serverov 1C:Enterprise 8.2
udalosti súvisiace so zvýšením množstva pamäte obsadenej procesmi servera (ragent, rmngr, rphost).
udalosti úniku pamäte, ktoré môžu byť spôsobené chybami v konfiguračnom kóde.
Nie je to tak dávno, čo som pre seba objavil niečo nové, ukázalo sa, že existuje technologický časopis (TJ). Čo je to za zviera a prečo je to potrebné, pokúsim sa odpovedať v tomto článku.
Ako hovoriť 1C sám Technologický časopis Systémy 1C:Enterprise 8 možno použiť na analýzu technologických problémov systému a analýzu núdzových koncoviek. Registruje informácie zo všetkých aplikácií 1C:Enterprise 8 spustených na danom počítači.Z tejto definície je hneď zrejmá užitočnosť tohto nástroja, môžeme sa z nej dozvedieť napríklad:
- Pri vykonávaní akého kódu zlyhávajú pracovné procesy servera?
- ktoré dopyty sú pomalé a odkiaľ sa volajú?
- Zistite, či došlo k zablokovaniu alebo vypršaniu časového limitu
- a oveľa viac.
Tieto súbory možno rozdeliť do 2 skupín
- výpisy súborov
- log súbory
Skládky– ide o súbor s príponou mdmp, ktorý obsahuje obsah pamäte RAM procesu v čase zlyhania.
Pokračuj. V akom adresári sú uložené súbory TJ?
Predvolené TJ sa vytvorí v adresári:
%USERPROFILE%\Local Settings\Application Data\1C\1Cv82\
Ak používate systém Windows Vista a vyšší, použije sa adresár: %LOCALAPPDATA%\1C\1Cv82\
Pre 8.3 sa namiesto katalógu 1Cv82 používa 1Cv8.
Tento adresár je však možné zmeniť. Viac o tom nižšie.
Ako zapnúť TJ?
V predvolenom nastavení je protokol procesov povolený a nakonfigurovaný tak, aby ukladal minimálne výpisy. Pomocou špeciálneho súboru môžeme nakonfigurovať TJ. Menovite môžeme meniť adresáre TJ, označovať, ktoré udalosti sa majú evidovať v TJ atď.
Hovorím o súbore nastavení TJlogcfg.xml .
Tento súbor by sa mal nachádzať napríklad v adresári conf v priečinku s nainštalovaným 1c
"D:\Program Files\1Cv8\conf"
Pozrime sa na príklad súboru nastavení pre kompletnú TZ.
config xmlns="http://v8.1c.ru/v8/tech-log">
Je vhodnejšie nakonfigurovať TJ iba pre udalosti, ktoré nás zaujímajú, napríklad chceme vidieť, či sa v systéme vyskytli chyby alebo dlhé operácie (>10 sekúnd)
Pomocou nastavení TJ môžete odfiltrovať takmer všetky udalosti, ktoré nás zaujímajú.
Povedzme, že chceme v TC vidieť iba chyby a informácie o dopytoch do tabuľky AccRg105, ktoré trvali viac ako 3 sekundy. Potom by logcfg malo vyzerať takto.
Logické OR funguje medzi týmito dvoma, t.j. Keď nastane niektorá z udalostí, bude to zaznamenané v TJ.
Logické AND funguje vo vnútri jedného, t.j. daná udalosť sa zaznamená len vtedy, ak sú splnené všetky podmienky v rámci jednej.
Pri tomto nastavení sa udalosť EXCP bude zaznamenávať vždy a udalosť DBMSSQL sa zaznamená iba vtedy, ak sa reťazec „AccRg105“ nachádza kdekoľvek v texte požiadavky a požiadavka bola vykonaná dlhšie ako 3 sekundy. Filter na trvanie udalosti musí byť nastavený na desaťtisíciny sekundy bez ohľadu na verziu platformy. V tomto príklade používame niekoľko podmienok: eq, gt a like.
Môžu sa použiť tieto podmienky:
- eq – rovná sa;
- ne – nerovná sa;
- gt – viac;
- ge – väčšie alebo rovné;
- lt – menej;
- le – menšie alebo rovné;
- ako – zodpovedá maske.
Platforma načítava údaje zo súboru s nastaveniami raz za minútu, takže sa nevzrušujte a hneď skontrolujte súbory, o minútu budete mať pokoj)
Ak sa nechystáte odosielať údaje výpisu do 1C, nie je potrebné ich ukladať, neuvádzajte riadok umiestnenia výpisu v súbore nastavení.
Ak sa chystáte uložiť súbory TJ do iného adresára, ako je predvolený adresár, je lepšie si ho najskôr vytvoriť sami.
V testovacej databáze som zámerne vytvoril časový limit na zámku,
Použite to ako príklad
Kolegovia, začíname sériu článkov venovaných technologickému magazínu.
V tejto sérii sa pozrieme na to, ako použiť užitočný nástroj na preskúmanie problémov s výkonom a stabilitou 1C: Podnik- technologický časopis.
Nie všetci špecialisti o ňom vedia a len málokto vie, ako ho správne používať. Skúsme situáciu napraviť :)
Popis a zahrnutie technologického denníka
Čo sa z tohto článku dozviete?
- Popis a účel nástroja Technologický časopis
- Ako to zapnúť Technologický časopis V 1C:Podnik 8
- Princíp vytvárania a ukladania protokolov a skládok
Popis TJ
TJ určené na skúmanie chýb, analýzu a diagnostiku rôznych problémov pri prevádzke platformy 1C: Podnik.
Pomocou TZ môžete zistiť, ktoré dotazy sa spúšťajú pomaly a odkiaľ sú volané, pri vykonávaní akého kódu havarujú pracovné procesy servera, kde uniká pamäť a mnoho iného.
Všetky nástroje na analýzu výkonnosti platformy využívajú TJ na získavanie informácií. Ak si želáte a dôkladne si preštudujete problém pomocou TJ, môžete si napísať vlastný nástroj na analýzu výkonnosti.
TJ možno zbierať pre procesy servera 1C aj pre klientske aplikácie. V súlade s tým bude množina udalostí, ktoré je možné zaznamenať do TD, odlišná.
Klientske protokoly a výpisy sú veľmi zriedka zaujímavé, takže v tomto článku budeme brať do úvahy TZ výlučne z pohľadu servera. Všetko tu napísané však platí aj pre protokoly klientov.
Pomocou TZ môžete zbierať protokoly a konfigurovať vytváranie skládok v prípade núdzového ukončenia procesu.
Denníky– toto sú súbory s príponou .log, kde sú informácie uložené v textovej forme.
Skládky je súbor s príponou .mdmp, ktorá obsahuje obsah pamäte RAM procesu v čase zlyhania.
Výpis môže byť mimoriadne potrebný na preskúmanie problémov so stabilitou platformy. Nemôžeme sami analyzovať skládky, pretože... Nemáme zdrojový kód platformy, ale môžeme ho poslať na technickú podporu alebo partnerské fórum a získať riešenie nášho problému.
Zapnutie TJ
V predvolenom nastavení je protokol procesov povolený a funguje, ale zhromažďuje veľmi obmedzené množstvo údajov.
Minimálne množstvo dát znamená 2 veci:
1) Vytváranie skládok minimálnej veľkosti v prípade núdzového vypnutia procesov klastra 1C ( ragant, rmngr alebo rphost).
Predvolene sa výpis vytvorí v adresári:
%USERPROFILE%\Local Settings\Application Data\1C\1Cv82\dumps
Ak používate Windows Vista a vyšší, použije sa adresár:
%LOCALAPPDATA%\1C\1Cv82\dumps
Pre 8.3 namiesto adresára 1Cv82 použité 1Cv8.
2) Pre 8.3 je súčasťou minimálneho TZ tvorba logov s jednou udalosťou SYSTÉM s úrovňou Chyba.
Protokoly sa ukladajú do adresára:
%USERPROFILE%\Local Settings\Application Data\1C\1Cv8\logs
Pre Windows Vista a staršie sa používa adresár:
%LOCALAPPDATA%\1C\1Cv8\logs
Tieto protokoly sa predvolene uložia na 24 hodín, po ktorých platforma odstráni súbory denníkov, ktoré prekročia túto hranicu.
Informácie z predvoleného TZ najčastejšie nestačia a musíte ich nakonfigurovať manuálne.
Ak chcete doladiť TJ, musíte vytvoriť súbor logcfg.xml s určitou štruktúrou na určitom mieste.
Tento súbor musí byť umiestnený v adresári:
C:\Program Files\1Cv82\conf (pre adresár 8.3 1Cv8)
V tomto prípade nastavenia TJ bude platiť pre všetky verzie 1C, ktoré sú nainštalované na tomto počítači, a pre všetkých používateľov. Táto možnosť sa používa najčastejšie a odporúčame ju použiť.
Pri nastavovaní MKC, služby monitorovania výkonu cloudu a ďalšie nástroje, kde je potrebné zadať cestu k logcfg, je tiež lepšie použiť tento konkrétny adresár, inak pri aktualizácii platformy alebo zmene používateľského mena, pod ktorým služba servera beží 1C, popísané nástroje prestanú fungovať a budete musieť zmeniť nastavenia.
Existujú však aj iné možnosti, aj keď sa používajú oveľa menej často. Popíšem len to, čo budete s najväčšou pravdepodobnosťou potrebovať.
Nastaviť TJ len pre jednu verziu platformy, umiestňujeme logcfg.xml v katalógu:
C:\Program Files\1Cv82\8.2.19.106\bin\conf
Kde 8.2.19.106 – toto je číslo verzie, ktoré potrebujete.
Je to extrémne zriedkavé, ale stále môže byť potrebné nakonfigurovať TJ samostatne pre každého používateľa, pod ktorým beží služba servera 1C.
Potom položíme logcfg v katalógu:
%USERPROFILE%\Local Settings\Application Data\1C\1Cv82\Conf
Pre Windows Vista a staršie:
%LOCALAPPDATA%\1C\1Cv82\Conf
Toto môže byť potrebné, ak máte napríklad 1 serverovú službu 1C sa používa ako pracovný a druhý sa používa na ladenie. V prípade potreby môžete služby spúšťať pod rôznymi používateľmi a zhromažďovať TJ len pre jednu z nich, aby sa nezaťažoval druhý server a nezbierali sa zbytočné údaje do protokolov, prípadne si pre každú zo služieb spravte vlastné nastavenia TJ.
Nastavenia z logcfg sa neprečítajú okamžite, ale každých 60 sekúnd a každý z klastrových procesov číta súbor nastavení nezávisle od iných procesov. Napríklad protokoly procesu rmngr sa môžu objaviť ako prvé a až po 45 sekundách protokoly rphost.
Vypnúť TJ stačí odstrániť alebo premenovať súbor logcfg.xml.
Burmistrov Andrej
V nasledujúcich článkoch sa pozrieme na nuansy nastavenia TJ a prax používania.
Medzitým priložte prijatý materiál k svojej testovacej informačnej základni :)