Mitä us= tarkoittaa OpenVPN-lokirivillä ja miten se muunnetaan
us=-kenttä on lokin aikaleiman mikrosekuntiosa, ei istunnon tunniste. Täytä se kuuteen numeroon ja lue koko rivi ennen kellojen vertaamista.
OpenVPN:n tekstiloki kirjoittaa päivämäärän, kellonajan ja us= arvon samalle riville, ja viimeinen kolmesta on osa, jonka lukijat ymmärtävät väärin. Se on kyseisen aikaleiman mikrosekuntikomponentti, tulostettuna ilman nollatäyttöä. Se ei ole istunnon tunniste, käyttäjänimi eikä laskuri, ja sellaisena pitäminen muuttaa sekunnin murto-osan itsevarmaksi vääräksi johtopäätökseksi. Muunna se näytetyn sekunnin murto-osana, niin rivin loppuosa pysyy luettavana.
Mitä rivin kolme osaa tarkoittavat
Päivämäärä ja kokonainen sekunti tulevat ensin, ja us= kantaa loppuosan alle sekunnin. Arvo 12345 on kaksitoista tuhatta kolmesataa neljäkymmentäviisi mikrosekuntia, eli 0.012345 sekuntia, joten rivi kuvaa aikaa 09:15:30.012345, kun tulostettu aika on 09:15:30. Laskuri alkaa alusta jokaisen uuden sekunnin myötä, joten myöhempi rivi voi tulostaa pienemmän murto-osan ilman, että mikään kello kulkee taaksepäin. Vain täydellinen aikaleima järjestää tapahtumat.
2026-11-02 08:41:07 us=4820
Yksikkö on sekunnin miljoonasosa, ja kuusi numeroa us= kattavat koko alueen 0.000000:sta 0.999999:ään. Viisi numeroa kuvaa kymmeniä millisekunteja, kun taas kuusi kuvaa satoja millisekunteja lähes täyteen sekuntiin asti. Jos muunnos tuottaa murto-osan, joka on suurempi kuin yksi, desimaalipilkku on siirtynyt ja lasku on väärin. Käsin tekeminen tarkoittaa tulostetun kokonaisluvun jakamista miljoonalla ja sen lisäämistä kokonaiseen sekuntiin.
Täyttö on ansa. us=42 on neljäkymmentäkaksi mikrosekuntia, kirjoitettuna .000042, ei .42. Täytä kokonaisluku ennen muuntamista kuuteen paikkaan vasemmalta, niin arvo ei enää näytä näkemiesi numeroiden desimaalimurto-osalta.
Rivin muuntaminen ilman laskinta
Ota tulostettu sekunti perustaksi ja käsittele us= murto-osana. Arvolla 09:15:30 ja us=12345 desimaalimuoto on 09:15:30.012345; arvolla us=900000 se on 09:15:30.900000. Desimaalipilkun jälkeiset numerot ovat täytetty kokonaisluku, ei koskaan tuhannella jaettu kokonaisluku. Kuusinumeroisen muodon kirjoittaminen ensin estää useimmat virheet.
Jos jäsennät lokeja aikaleimoiksi, jäsennä päivämäärä, kokonainen sekunti ja murto-osa yhdessä. Jäsennin, joka olettaa millisekunteja, järjestää tapahtumat väärin tuhannella kertoimella, ja tuloste näyttää silti uskottavalta.
Kun kenttä puuttuu lokista
Mikrosekuntiosa kuuluu tekstilokimuotoon ja näkyy vain, kun yksityiskohtaiset aikaleimat on otettu käyttöön. OpenVPN 2.6:n aikaleimamuotoilijassa se lisätään, kun kyseinen tuloste on päällä ja tallennettu arvo ei ole nolla. Siksi loki ilman us= ei kerro mitään kellosta tai buildista; yleensä se tarkoittaa, että määritetty yksityiskohtaisuus on liian alhainen. Tarkista kokoonpano ennen kuin syytät ajan synkronointia.
Asetuksen voi helposti vahvistaa palvelimen kokoonpanosta. Suorita alla oleva komento ja lue sen palauttama numero. Yksityiskohtainen aikaleimatuloste näkyy yksityiskohtaisuudella 4, joten pienempi arvo selittää puuttuvan kentän ilman muuta vikaa. Saman kokoonpanon ajaminen komennolla --verb 4 näyttää kentän, kun daemon käynnistyy uudelleen kyseisellä tasolla.
grep -nE '^[[:space:]]*verb[[:space:]]+[0-9]' /etc/openvpn/server.conf
Yksityiskohtaisuuden lisääminen lisää lokiin yksityiskohtia; se ei paranna kelloa. Käynnistyksen jälkeen vertaa uutta riviä vanhaan varmistaaksesi, että muoto on muuttunut, ja laske tasoa taas, kun kysymys on vastattu.
Mitä kuusi numeroa eivät todista
Kuusi numeroa kuvaa erottelukykyä, eikä erottelukyky kerro mitään siitä, ovatko kaksi isäntää samaa mieltä ajasta. Asiakas ja palvelin voivat molemmat tulostaa mikrosekunteja, vaikka niiden kellot eroavat sekunteja. Kun korreloit tapahtumia koneiden välillä, kirjaa aikavyöhyke ja mahdollinen tunnettu poikkeama, ja suosi kenttää, joka nimeää vastapuolen tai istunnon, minkä tahansa aikaleiman sijaan. Kaksi riviä, joilla on sama murto-osa, eivät välttämättä ole sama yhteys.
Kerääjä voi leimata jokaisen rivin saapuessa, mikä lisää toisen aikaleiman, joka kuuluu kerääjälle eikä OpenVPN:lle. Tunnista, kumpaa luet, ennen kuin vertaat niitä, ja säilytä raaka rivi, jotta vertailu voidaan tehdä uudelleen.
Tuore us= arvo ei todista, että uusi asiakas kirjautui sisään, eikä toistettu todista kaksoistapahtumaa. Vastapuolen ja yhteyden kentät vastaavat näihin kysymyksiin.