Log teks OpenVPN meletakkan tarikh, masa dan us= nilai pada baris yang sama, dan yang terakhir daripada ketiga-tiganya ialah bahagian yang pembaca salah faham. Ia ialah komponen mikrosaat cap masa itu, dicetak tanpa pengisian sifar. Ia bukan pengecam sesi, nama pengguna atau pembilang, dan menganggapnya begitu menjadikan pecahan saat sebagai kesimpulan salah yang yakin. Tukarkannya sebagai pecahan saat yang dipaparkan dan seluruh baris kekal boleh dibaca.

Apa maksud tiga bahagian baris

Tarikh dan saat penuh datang dahulu, dan us= membawa baki di bawah satu saat. Nilai 12345 ialah dua belas ribu tiga ratus empat puluh lima mikrosaat, iaitu 0.012345 saat, jadi baris itu menerangkan 09:15:30.012345 apabila masa yang dicetak ialah 09:15:30. Pembilang bermula semula pada setiap saat baharu, jadi baris kemudian boleh mencetak pecahan yang lebih kecil tanpa mana-mana jam berjalan ke belakang. Hanya cap masa lengkap yang menyusun peristiwa.

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

Unitnya ialah satu persejuta saat, dan enam digit us= merangkumi seluruh julat dari 0.000000 hingga 0.999999. Lima digit menerangkan puluhan milisaat, manakala enam menerangkan ratusan milisaat hingga hampir satu saat penuh. Jika penukaran menghasilkan pecahan lebih besar daripada satu, titik perpuluhan telah bergerak dan aritmetiknya salah. Melakukannya dengan tangan bermakna membahagi integer yang dicetak dengan satu juta dan menambahkannya kepada saat penuh.

Pengisian ialah perangkapnya. us=42 ialah empat puluh dua mikrosaat, ditulis sebagai .000042, bukan .42. Isikan integer itu ke enam tempat di kiri sebelum menukar, dan nilainya berhenti kelihatan seperti pecahan perpuluhan digit yang anda lihat.

Menukar baris tanpa kalkulator

Ambil saat yang dicetak sebagai asas dan anggap us= sebagai pecahan. Untuk 09:15:30 dengan us=12345 bentuk perpuluhannya ialah 09:15:30.012345; untuk us=900000 ia ialah 09:15:30.900000. Digit selepas titik perpuluhan ialah integer yang telah diisi, tidak pernah integer dibahagi seribu. Menulis bentuk enam digit dahulu mengelakkan kebanyakan kesilapan.

Jika anda menghurai log menjadi cap masa, hurai tarikh, saat penuh dan pecahan itu bersama-sama. Penghurai yang menganggap milisaat akan menyusun peristiwa dengan salah sebanyak faktor seribu, dan outputnya masih kelihatan munasabah.

Apabila medan itu tiada dalam log

Bahagian mikrosaat tergolong dalam format log teks dan hanya muncul apabila cap masa terperinci diaktifkan. Dalam pemformat cap masa OpenVPN 2.6, ia ditambah apabila output itu dihidupkan dan nilai yang disimpan bukan sifar. Jadi log tanpa us= tidak berkata apa-apa tentang jam atau binaan; biasanya ia bermaksud verbositi yang dikonfigurasikan terlalu rendah. Semak konfigurasi sebelum menyalahkan penyegerakan masa.

Tetapan itu mudah disahkan daripada konfigurasi pelayan. Jalankan arahan di bawah dan baca nombor yang dikembalikannya. Output cap masa terperinci muncul pada verbositi 4, jadi nilai yang lebih rendah menerangkan medan yang hilang tanpa kerosakan lain. Menjalankan konfigurasi yang sama dengan --verb 4 menunjukkan medan itu sebaik sahaja daemon dimulakan semula dengan tahap tersebut.

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

Menaikkan verbositi menambah perincian pada log; ia tidak memperbaiki jam. Selepas dimulakan semula, bandingkan baris baharu dengan baris lama untuk mengesahkan format berubah, dan turunkan tahap itu semula apabila soalan sudah terjawab.

Apa yang enam digit tidak buktikan

Enam digit menerangkan resolusi, dan resolusi tidak berkata apa-apa tentang sama ada dua hos bersetuju tentang masa. Klien dan pelayan kedua-duanya boleh mencetak mikrosaat sementara jam mereka berbeza beberapa saat. Apabila anda mengaitkan peristiwa merentas mesin, catat zon waktu dan sebarang offset yang diketahui, dan utamakan medan yang menamakan rakan atau sesi berbanding mana-mana cap masa. Dua baris yang berkongsi pecahan belum tentu sambungan yang sama.

Pengumpul mungkin mengecap setiap baris semasa ketibaan, yang menambah cap masa kedua milik pengumpul dan bukan milik OpenVPN. Kenal pasti yang mana anda baca sebelum membandingkannya, dan simpan baris mentah supaya perbandingan boleh diulang.

Nilai us= baharu tidak membuktikan bahawa klien baharu log masuk, dan nilai berulang tidak membuktikan peristiwa berganda. Medan rakan dan sambungan menjawab soalan itu.

Artikel berkaitan