Ką reiškia us= OpenVPN žurnalo eilutėje ir kaip jį konvertuoti
Laukas us= yra žurnalo laiko žymos mikrosekundžių dalis, o ne sesijos ID. Užpildykite jį iki šešių skaitmenų ir perskaitykite visą eilutę prieš lygindami laikrodžius.
OpenVPN teksto žurnalas rašo datą, laiką ir us= reikšmę toje pačioje eilutėje, o paskutinė iš trijų yra dalis, kurią skaitytojai supranta neteisingai. Tai tos laiko žymos mikrosekundžių komponentas, spausdinamas be nulių užpildymo. Tai nėra sesijos identifikatorius, vartotojo vardas ar skaitiklis, o traktuojant jį taip, sekundės dalis virsta užtikrinta klaidinga išvada. Konvertuokite jį kaip rodomos sekundės dalį, ir likusi eilutės dalis lieka įskaitoma.
Ką reiškia trys eilutės dalys
Data ir visa sekundė eina pirmiausia, o us= neša likutį žemiau vienos sekundės. Reikšmė 12345 yra dvylika tūkstančių trys šimtai keturiasdešimt penki mikrosekundės, tai yra 0.012345 sekundės, todėl eilutė aprašo 09:15:30.012345, kai išspausdintas laikas yra 09:15:30. Skaitiklis pradedamas iš naujo su kiekviena nauja sekunde, todėl vėlesnė eilutė gali išspausdinti mažesnę dalį, nė vienam laikrodžiui neinant atgal. Tik visa laiko žyma išdėsto įvykius.
2026-11-02 08:41:07 us=4820
Vienetas yra viena milijoninė sekundės dalis, o šeši skaitmenys us= apima visą diapazoną nuo 0.000000 iki 0.999999. Penki skaitmenys aprašo dešimtis milisekundžių, o šeši aprašo šimtus milisekundžių iki beveik visos sekundės. Jei konvertavimas duoda didesnę nei viena dalį, dešimtainis kablelis pasistūmė ir aritmetika neteisinga. Daryti rankomis reiškia išspausdintą sveikąjį skaičių padalyti iš milijono ir pridėti prie visos sekundės.
Užpildymas yra spąstai. us=42 yra keturiasdešimt dvi mikrosekundės, užrašytos kaip .000042, o ne .42. Prieš konvertuodami užpildykite sveikąjį skaičių šešiomis vietomis iš kairės, ir reikšmė nebeprimins matomų skaitmenų dešimtainės dalies.
Eilutės konvertavimas be skaičiuotuvo
Paimkite išspausdintą sekundę kaip pagrindą ir traktuokite us= kaip dalį. 09:15:30 ir us=12345 dešimtainė forma yra 09:15:30.012345; us=900000 ji yra 09:15:30.900000. Skaitmenys po kablelio yra užpildytas sveikasis skaičius, niekada tūkstančiu padalytas sveikasis skaičius. Pirmiausia užrašius šešiaženklę formą, išvengiama daugumos klaidų.
Jei analizuojate žurnalus į laiko žymas, analizuokite datą, visą sekundę ir dalį kartu. Analizatorius, kuris daro prielaidą apie milisekundes, įvykius išdėstys neteisingai tūkstantį kartų, o išvestis vis tiek atrodo patikima.
Kai lauko žurnale nėra
Mikrosekundžių dalis priklauso teksto žurnalo formatui ir pasirodo tik tada, kai įjungtos išsamios laiko žymos. OpenVPN 2.6 laiko žymos formatuoklyje ji pridedama, kai ta išvestis įjungta ir išsaugota reikšmė nėra nulis. Todėl žurnalas be us= nieko nesako apie laikrodį ar rinkinį; paprastai tai reiškia, kad sukonfigūruotas išsamumas per mažas. Patikrinkite konfigūraciją, prieš kaltindami laiko sinchronizavimą.
Nuostatą lengva patvirtinti iš serverio konfigūracijos. Paleiskite žemiau pateiktą komandą ir perskaitykite skaičių, kurį ji grąžina. Išsami laiko žymos išvestis pasirodo esant 4 išsamumo lygiui, todėl mažesnė reikšmė paaiškina trūkstamą lauką be jokios kitos gedimo. Paleidus tą pačią konfigūraciją su --verb 4 demonas vėl paleidžiamas su tuo lygiu ir laukas parodomas.
grep -nE '^[[:space:]]*verb[[:space:]]+[0-9]' /etc/openvpn/server.conf
Išsamumo didinimas prideda žurnale detalių; jis nepagerina laikrodžio. Po paleidimo iš naujo palyginkite naują eilutę su sena, kad patvirtintumėte, jog formatas pasikeitė, ir vėl sumažinkite lygį, kai klausimas bus atsakytas.
Ko šeši skaitmenys neįrodo
Šeši skaitmenys aprašo skiriamąją gebą, o skiriamoji geba nieko nesako apie tai, ar du serveriai sutaria dėl laiko. Klientas ir serveris gali abu spausdinti mikrosekundes, nors jų laikrodžiai skiriasi sekundėmis. Kai koreliuojate įvykius tarp mašinų, užsirašykite laiko juostą ir bet kokį žinomą poslinkį, ir pirmenybę teikite laukui, kuriame nurodytas partneris ar sesija, o ne bet kuriai laiko žymai. Dvi eilutės, turinčios tą pačią dalį, nebūtinai yra tas pats ryšys.
Rinkėjas gali pažymėti kiekvieną eilutę atėjus, o tai prideda antrą laiko žymą, priklausančią rinkėjui, o ne OpenVPN. Nustatykite, kurią skaitote, prieš jas lygindami, ir išsaugokite neapdorotą eilutę, kad palyginimą būtų galima pakartoti.
Nauja us= reikšmė neįrodo, kad prisijungė naujas klientas, o pasikartojanti neįrodo dvigubo įvykio. Partnerio ir ryšio laukai atsako į šiuos klausimus.