OpenVPN-ov tekstualni log stavlja datum, vrijeme i us= vrijednost u isti red, a posljednji od tri dijela je onaj koji čitaoci pogrešno razumiju. To je mikrosekundna komponenta te vremenske oznake, ispisana bez dopunjavanja nulama. Nije identifikator sesije, korisničko ime ni brojač, a ako se tako tretira, djelić sekunde postaje siguran pogrešan zaključak. Pretvorite ga kao djelić prikazane sekunde i ostatak reda ostaje čitljiv.

Šta znače tri dijela reda

Datum i cijela sekunda dolaze prvi, a us= nosi ostatak ispod jedne sekunde. Vrijednost 12345 je dvanaest hiljada trista četrdeset pet mikrosekundi, što je 0.012345 sekundi, pa red opisuje 09:15:30.012345 kada je ispisano vrijeme 09:15:30. Brojač počinje iznova sa svakom novom sekundom, pa kasniji red može ispisati manji djelić bez da ijedan sat ide unatrag. Samo potpuna vremenska oznaka uređuje događaje.

2026-11-02 08:41:07 us=4820

Jedinica je jedna milionita sekunde, a šest cifara us= pokriva cijeli raspon od 0.000000 do 0.999999. Pet cifara opisuje desetke milisekundi, dok šest opisuje stotine milisekundi do skoro pune sekunde. Ako pretvorba daje djelić veći od jedan, decimalna tačka se pomjerila i račun je pogrešan. Ručno izvođenje znači dijeljenje ispisane cijele vrijednosti sa milionom i dodavanje na cijelu sekundu.

Dopunjavanje je zamka. us=42 je četrdeset dvije mikrosekunde, zapisano kao .000042, a ne .42. Dopunite cijeli broj na šest mjesta slijeva prije pretvaranja i vrijednost više ne izgleda kao decimalni djelić cifara koje vidite.

Pretvaranje reda bez kalkulatora

Uzmite ispisanu sekundu kao osnovu i tretirajte us= kao djelić. Za 09:15:30 sa us=12345 decimalni oblik je 09:15:30.012345; za us=900000 to je 09:15:30.900000. Cifre poslije decimalne tačke su dopunjena cijela vrijednost, nikada cijela vrijednost podijeljena sa hiljadu. Ako prvo napišete šestocifreni oblik, većina grešaka se izbjegava.

Ako pretvarate logove u vremenske oznake, pretvorite datum, cijelu sekundu i djelić zajedno. Parser koji pretpostavlja milisekunde poredat će događaje pogrešno za faktor hiljadu, a izlaz i dalje izgleda uvjerljivo.

Kada polje nedostaje u logu

Mikrosekundni dio pripada tekstualnom formatu loga i pojavljuje se samo kada su uključene detaljne vremenske oznake. U formateru vremenskih oznaka OpenVPN-a 2.6 dodaje se kada je taj izlaz uključen i sačuvana vrijednost nije nula. Zato log bez us= ne govori ništa o satu ni o buildu; obično znači da je podešena verbosnost preniska. Provjerite konfiguraciju prije nego što okrivite sinhronizaciju vremena.

Postavku je lako potvrditi iz konfiguracije servera. Pokrenite naredbu ispod i pročitajte broj koji vrati. Detaljni izlaz vremenskih oznaka pojavljuje se pri verbosnosti 4, pa niža vrijednost objašnjava nedostajuće polje bez ikakve druge greške. Pokretanje iste konfiguracije sa --verb 4 pokazuje polje kada se demon ponovo pokrene s tim nivoom.

grep -nE '^[[:space:]]*verb[[:space:]]+[0-9]' /etc/openvpn/server.conf

Povećanje verbosnosti dodaje detalje logu; ne poboljšava sat. Poslije restarta uporedite novi red sa starim da potvrdite da se format promijenio i ponovo spustite nivo kada pitanje bude odgovoreno.

Šta šest cifara ne dokazuje

Šest cifara opisuje rezoluciju, a rezolucija ne govori ništa o tome da li se dva hosta slažu o vremenu. Klijent i server mogu oba ispisati mikrosekunde dok im se satovi razlikuju za sekunde. Kada povezujete događaje između mašina, zabilježite vremensku zonu i svaki poznati pomak i dajte prednost polju koje imenuje partnera ili sesiju nad bilo kojom vremenskom oznakom. Dva reda koja dijele djelić nisu nužno ista veza.

Kolektor može označiti svaki red po dolasku, što dodaje drugu vremensku oznaku koja pripada kolektoru, a ne OpenVPN-u. Utvrdite koju čitate prije nego što ih uporedite i sačuvajte sirovi red da bi se poređenje moglo ponoviti.

Svježa us= vrijednost ne dokazuje da se prijavio novi klijent, a ponovljena ne dokazuje dupli događaj. Polja partnera i veze odgovaraju na ta pitanja.

Povezani članci