Тэкставы журнал OpenVPN змяшчае дату, час і us= значэнне ў адным радку, і апошняя з трох — гэта частка, якую чытачы разумеюць няправільна. Гэта мікрасекундны кампанент гэтай адзнакі часу, надрукаваны без дапаўнення нулямі. Гэта не ідэнтыфікатар сеанса, не імя карыстальніка і не лічыльнік, і калі прымаць яго за такое, доля секунды ператвараецца ва ўпэўненую няправільную выснову. Пераўтварыце яго як долю адлюстраванай секунды, і астатняя частка радка застанецца чытальнай.

Што азначаюць тры часткі радка

Дата і цэлая секунда ідуць першымі, а us= нясе астатак ніжэй за адну секунду. Значэнне 12345 — гэта дванаццаць тысяч трыста сорак пяць мікрасекунд, або 0.012345 секунды, таму радок апісвае 09:15:30.012345, калі надрукаваны час 09:15:30. Лічыльнік пачынаецца нанова з кожнай новай секундай, таму пазнейшы радок можа надрукаваць драбнейшую долю, і ніводзін гадзіннік не ідзе назад. Толькі поўная адзнака часу ўпарадкоўвае падзеі.

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

Адзінка — гэта адна мільённая секунды, і шэсць лічбаў us= ахопліваюць увесь дыяпазон ад 0.000000 да 0.999999. Пяць лічбаў апісваюць дзясяткі мілісекунд, а шэсць — сотні мілісекунд аж да амаль поўнай секунды. Калі пераўтварэнне дае долю большую за адзінку, дзесятковы знак з’ехаў і арыфметыка няправільная. Зрабіць гэта ўручную значыць падзяліць надрукаваны цэлы лік на мільён і дадаць яго да цэлай секунды.

Дапаўненне — гэта пастка. us=42 — гэта сорак дзве мікрасекунды, запісаныя як .000042, а не .42. Дапоўніце цэлы лік да шасці знакаў злева перад пераўтварэннем, і значэнне перастане выглядаць як дзесятковая доля бачных лічбаў.

Пераўтварэнне радка без калькулятара

Вазьміце надрукаваную секунду за аснову і разглядайце us= як долю. Для 09:15:30 з us=12345 дзесятковая форма — 09:15:30.012345; для us=900000 яна — 09:15:30.900000. Лічбы пасля дзесятковага знака — гэта дапоўнены цэлы лік, а не цэлы лік, падзелены на тысячу. Калі спачатку запісаць шасцізначную форму, большасць памылак знікне.

Калі вы разбіраеце журналы на адзнакі часу, разбірайце дату, цэлую секунду і долю разам. Парсер, які мяркуе мілісекунды, упарадкуе падзеі няправільна ў тысячу разоў, а вынік усё яшчэ выглядае праўдападобна.

Калі поле адсутнічае ў журнале

Мікрасекундная частка належыць тэкставаму фармату журнала і з’яўляецца толькі пры ўключаных падрабязных адзнаках часу. У фарматавальніку адзнак часу OpenVPN 2.6 яна дадаецца, калі гэты вывад уключаны, а захаванае значэнне не нулявое. Таму журнал без us= нічога не кажа пра гадзіннік ці зборку; звычайна гэта значыць, што наладжаная шматслоўнасць занадта нізкая. Праверце канфігурацыю, перш чым вінаваціць сінхранізацыю часу.

Наладу лёгка пацвердзіць з канфігурацыі сервера. Выканайце каманду ніжэй і прачытайце лік, які яна вяртае. Падрабязны вывад адзнак часу з’яўляецца пры ўзроўні шматслоўнасці 4, таму меншае значэнне тлумачыць адсутнае поле без любой іншай няспраўнасці. Запуск той жа канфігурацыі з --verb 4 паказвае поле, як толькі дэман перазапусціцца з гэтым узроўнем.

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

Павышэнне шматслоўнасці дадае падрабязнасці ў журнал; яно не паляпшае гадзіннік. Пасля перазапуску параўнайце новы радок са старым, каб пераканацца, што фармат змяніўся, і зноў панізьце ўзровень, калі пытанне будзе вырашана.

Што не даказваюць шэсць лічбаў

Шэсць лічбаў апісваюць раздзяленне, а раздзяленне нічога не кажа пра тое, ці згодны два хасты наконт часу. Кліент і сервер могуць абодва друкаваць мікрасекунды, хоць іх гадзіннікі рознасцяцца на секунды. Калі вы суадносіце падзеі паміж машынамі, запішыце часовы пояс і любы вядомы зрух і аддавайце перавагу полю, якое называе партнёра або сеанс, перад любой адзнакай часу. Два радкі з аднолькавай доляй не абавязкова з’яўляюцца адным злучэннем.

Зборшчык можа ставіць адзнаку на кожным радку пры паступленні, што дадае другую адзнаку часу, якая належыць зборшчыку, а не OpenVPN. Вызначце, якую з іх вы чытаеце, перш чым параўноўваць, і захоўвайце сыры радок, каб параўнанне можна было паўтарыць.

Новае us= значэнне не даказвае, што ўвайшоў новы кліент, а паўторанае не даказвае дублікат падзеі. Палі партнёра і злучэння адказваюць на гэтыя пытанні.

Падобныя артыкулы