Čo znamená us= v riadku logu OpenVPN a ako ho previesť
Pole us= je mikrosekundová časť časovej značky logu, nie ID relácie. Doplňte ho na šesť číslic a prečítajte celý riadok, skôr než začnete porovnávať hodiny.
Textový log OpenVPN uvádza dátum, čas a us= hodnotu na tom istom riadku a posledná z troch je časť, ktorú čitatelia chápu nesprávne. Je to mikrosekundová zložka tejto časovej značky, vytlačená bez doplnenia nulami. Nie je to identifikátor relácie, používateľské meno ani počítadlo, a kto ho tak berie, premení zlomok sekundy na sebaistý nesprávny záver. Preveďte ho ako zlomok zobrazenej sekundy a zvyšok riadku zostane čitateľný.
Čo znamenajú tri časti riadku
Dátum a celá sekunda prichádzajú prvé a us= nesie zvyšok pod jednou sekundou. Hodnota 12345 je dvanásť tisíc tristo štyridsaťpäť mikrosekúnd, teda 0.012345 sekundy, takže riadok opisuje 09:15:30.012345, keď je vytlačený čas 09:15:30. Počítadlo začína znova s každou novou sekundou, takže neskorší riadok môže vytlačiť menší zlomok bez toho, aby akékoľvek hodiny išli späť. Udalosti zoraďuje iba úplná časová značka.
2026-11-02 08:41:07 us=4820
Jednotkou je jedna milióntina sekundy a šesť číslic us= pokrýva celý rozsah od 0.000000 do 0.999999. Päť číslic opisuje desiatky milisekúnd, kým šesť opisuje stovky milisekúnd až do takmer celej sekundy. Ak prevod dá zlomok väčší ako jedna, desatinná čiarka sa posunula a aritmetika je nesprávna. Ručný postup znamená vydeliť vytlačené celé číslo miliónom a pripočítať ho k celej sekunde.
Doplnenie je pasca. us=42 je štyridsaťdva mikrosekúnd, zapísaných ako .000042, nie .42. Pred prevodom doplňte celé číslo zľava na šesť miest a hodnota prestane vyzerať ako desatinný zlomok číslic, ktoré vidíte.
Prevod riadku bez kalkulačky
Vezmite vytlačenú sekundu ako základ a berte us= ako zlomok. Pre 09:15:30 s us=12345 je desatinný tvar 09:15:30.012345; pre us=900000 je to 09:15:30.900000. Číslice za desatinnou čiarkou sú doplnené celé číslo, nikdy celé číslo delené tisíc PÍSMENOM. Zápis šesťciferného tvaru ako prvého zabráni väčšine chýb.
Ak rozkladáte logy na časové značky, rozkladajte dátum, celú sekundu a zlomok spoločne. Parser, ktorý predpokladá milisekundy, zoradí udalosti nesprávne tisíckrát, a výstup napriek tomu vyzerá vierohodne.
Keď v logu pole chýba
Mikrosekundová časť patrí k textovému formátu logu a objavuje sa len vtedy, keď sú zapnuté podrobné časové značky. V formátovači časových značiek OpenVPN 2.6 sa pridáva, keď je tento výstup zapnutý a uložená hodnota nie je nula. Log bez us= teda nehovorí nič o hodinách ani o zostavení; zvyčajne znamená, že nastavená podrobnosť je príliš nízka. Skontrolujte konfiguráciu, skôr než obviníte synchronizáciu času.
Nastavenie sa dá ľahko overiť zo serverovej konfigurácie. Spustite nižšie uvedený príkaz a prečítajte číslo, ktoré vracia. Podrobný výstup časových značiek sa objavuje pri podrobnosti 4, takže nižšia hodnota vysvetľuje chýbajúce pole bez inej poruchy. Spustenie tej istej konfigurácie s --verb 4 ukáže pole, hneď ako sa démon reštartuje s touto úrovňou.
grep -nE '^[[:space:]]*verb[[:space:]]+[0-9]' /etc/openvpn/server.conf
Zvýšenie podrobnosti pridáva do logu detaily; hodiny to nezlepšuje. Po reštarte porovnajte nový riadok so starým, aby ste potvrdili zmenu formátu, a po zodpovedaní otázky úroveň znova znížte.
Čo šesť číslic nedokazuje
Šesť číslic opisuje rozlíšenie a rozlíšenie nehovorí nič o tom, či sa dva hostitelia zhodnú na čase. Klient aj server môžu tlačiť mikrosekundy, kým sa ich hodiny rozchádzajú o sekundy. Keď korelujete udalosti medzi strojmi, poznamenajte časové pásmo a akýkoľvek známy posun a uprednostnite pole, ktoré pomenúva partnera alebo reláciu, pred akoukoľvek časovou značkou. Dva riadky so spoločným zlomkom nemusia byť to isté spojenie.
Zberač môže orazítkovať každý riadok pri príchode, čo pridáva druhú časovú značku, ktorá patrí zberaču a nie OpenVPN. Určte, ktorú čítate, predtým než ich porovnáte, a uchovajte surový riadok, aby sa porovnanie dalo zopakovať.
Nová us= hodnota nedokazuje, že sa prihlásil nový klient, a opakovaná nedokazuje duplicitnú udalosť. Polia partnera a spojenia odpovedajú na tieto otázky.