OpenVPN-i tekstilog kirjutab samale reale kuupäeva, kellaaja ja us= väärtuse ning viimane kolmest on osa, mida lugejad valesti mõistavad. See on selle ajatempli mikrosekundite komponent, mis on trükitud ilma nullidega täitmata. See ei ole sessiooni identifikaator, kasutajanimi ega loendur, ja selle nii käsitlemine muudab sekundi murdosa enesekindlaks vale järelduseks. Teisendage see näidatud sekundi murdosana ja ülejäänud rida jääb loetavaks.

Mida rea kolm osa tähendavad

Kuupäev ja terve sekund tulevad esimesena ning us= kannab ülejäänu alla ühe sekundi. Väärtus 12345 on kaksteist tuhat kolmsada nelikümmend viis mikrosekundit, mis on 0.012345 sekundit, seega rida kirjeldab 09:15:30.012345, kui trükitud aeg on 09:15:30. Loendur algab iga uue sekundiga otsast, seega hilisem rida võib trükkida väiksema murdosa, ilma et ükski kell tagurpidi käiks. Ainult täielik ajatempel järjestab sündmused.

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

Ühik on üks miljonik sekundist ja kuus numbrit us= katavad kogu vahemiku 0.000000 kuni 0.999999. Viis numbrit kirjeldavad kümneid millisekundeid, samas kuus kirjeldavad sadu millisekundeid kuni peaaegu terve sekundini. Kui teisendus annab murdosa, mis on suurem kui üks, on koma kohta vahetanud ja aritmeetika vale. Käsitsi tegemine tähendab trükitud täisarvu jagamist miljoniga ja selle lisamist tervele sekundile.

Täitmine on lõks. us=42 on nelikümmend kaks mikrosekundit, kirjutatud kujul .000042, mitte .42. Täitke täisarv enne teisendamist vasakult kuue kohani ja väärtus ei paista enam nähtavate numbrite kümnendmurruna.

Rea teisendamine ilma kalkulaatorita

Võtke trükitud sekund aluseks ja käsitlege us= murdosana. 09:15:30 ja us=12345 korral on kümnendkuju 09:15:30.012345; us=900000 korral on see 09:15:30.900000. Numbrid pärast koma on täidetud täisarv, mitte kunagi tuhandega jagatud täisarv. Kuuekohalise kuju esmalt kirjutamine hoiab ära enamiku vigadest.

Kui parsitte loge ajatempliteks, parsige kuupäev, terve sekund ja murdosa koos. Parser, mis eeldab millisekundeid, järjestab sündmused tuhat korda valesti ja väljund näeb siiski usutav välja.

Kui väli logist puudub

Mikrosekundi osa kuulub tekstilogivormingule ja ilmub ainult siis, kui üksikasjalikud ajatemplid on lubatud. OpenVPN 2.6 ajatempli vormindajas lisatakse see siis, kui see väljund on sees ja salvestatud väärtus ei ole null. Logi ilma us= ei ütle seega kella ega buildi kohta midagi; tavaliselt tähendab see, et seadistatud detailsus on liiga madal. Kontrollige konfiguratsiooni, enne kui süüdistate aja sünkroonimist.

Seadet on serveri konfiguratsioonist lihtne kinnitada. Käivitage allolev käsk ja lugege numbrit, mille see tagastab. Üksikasjalik ajatempli väljund ilmub detailsusel 4, seega madalam väärtus selgitab puuduvat välja ilma muu rikketa. Sama konfiguratsiooni käivitamine koos --verb 4 näitab välja, kui deemon selle tasemega uuesti käivitub.

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

Detailsuse suurendamine lisab logile üksikasju; see ei paranda kella. Pärast taaskäivitust võrrelge uut rida vanaga, et kinnitada vormingu muutumist, ja langetage tase uuesti, kui küsimus on vastatud.

Mida kuus numbrit ei tõesta

Kuus numbrit kirjeldavad eraldusvõimet ja eraldusvõime ei ütle midagi selle kohta, kas kaks hosti on aja osas ühel meelel. Klient ja server võivad mõlemad trükkida mikrosekundeid, samal ajal kui nende kellad erinevad sekundite võrra. Kui korreleerite sündmusi masinate vahel, kirjutage üles ajavöönd ja mis tahes teadaolev nihe ning eelistage välja, mis nimetab partnerit või sessiooni, mis tahes ajatemplile. Kaks rida, mis jagavad murdosa, ei ole tingimata sama ühendus.

Koguja võib iga rea saabumisel tembeldada, mis lisab teise ajatempli, mis kuulub kogujale, mitte OpenVPN-ile. Tehke kindlaks, millist te loete, enne nende võrdlemist, ja hoidke töötlemata rida alles, et võrdlust saaks korrata.

Värske us= väärtus ei tõesta, et uus klient sisse logis, ja korduv ei tõesta dubleeritud sündmust. Partneri ja ühenduse väljad vastavad nendele küsimustele.

Seotud artiklid