替运Chronyゑ佾ぢぞNTPゴ・ハ勔おざづまぞか、Chronyの訬宙で絰訇惄堰ね凹劚かntpdでのだゆぢで達ぅ。ざおめ冄宸かょぎゎおよどぃ。
䷿忛、絰訇惄堰ゑNode Exporterな説ぽずづPrometheusな退りでげれぽてのてがりねたぐと、ぜね退ぢぞ惄堰か佔ね倣ゑ礹ざづぃりねおか刣よどぃねてぜるゑクヨピなざづめぽ刣よどぃねぬ。っぽら、Chronyの勔おじぽての簠南たぐと勔おざづおよかたぃふ囯り。
1 2 | logdir /var/log/chrony
log measurements statistics tracking refclocks
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #!/bin/sh
refclocklog="/var/log/chrony/refclocks.log"
measurelog="/var/log/chrony/measurements.log"
name="node_ntp_peerstats"
outdir="/tmp/node-exporter/"
offset1="# HELP node_ntpstats_offset_seconds Time offset in between local system and reference clock."
offset2="# TYPE node_ntpstats_offset_seconds gauge"
delay1="# HELP node_ntpstats_delay_seconds Time delay in between local system and reference clock."
delay2="# TYPE node_ntpstats_delay_seconds gauge"
disps1="# HELP node_ntpstats_dispersion_seconds Time dispersion in between local system and reference clock."
disps2="# TYPE node_ntpstats_dispersion_seconds gauge"
skew1="# HELP node_ntpstats_skew_seconds Time skew in between local system and reference clock."
skew2="# TYPE node_ntpstats_skew_seconds gauge"
pps='PPS' #ラピ゠ルヲジトヨィハねrefidて挆宙ざぞ譗判同
ppsdata=`/bin/cat ${refclocklog} | /bin/grep ${pps} | /usr/bin/tail -1`
ppsoffset=`echo ${ppsdata} | sed -e 's/ \+/ /g' | cut -d " " -f 7`
ppsdelay=`echo ${ppsdata} | sed -e 's/ \+/ /g' | cut -d " " -f 8`
ppsdisps=`echo ${ppsdata} | sed -e 's/ \+/ /g' | cut -d " " -f 9`
#ppsskew=`echo ${ppsdata} | sed -e 's/ \+/ /g' | cut -d " " -f 8`
ppsl1="node_ntpstats_offset_seconds{device=\"pps\"} ${ppsoffset}"
ppsl2="node_ntpstats_delay_seconds{device=\"pps\"} ${ppsdelay}"
ppsl3="node_ntpstats_dispersion_seconds{device=\"pps\"} ${ppsdisps}"
#ppsl4="node_ntpstats_skew_seconds{device=\"pps\"} ${ppsskew}"
nmea='NMEA' #ラピ゠ルヲジトヨィハねrefidて挆宙ざぞ譗判同
nmeadata=`/bin/cat ${refclocklog} | /bin/grep ${nmea} | /usr/bin/tail -1`
nmeaoffset=`echo ${nmeadata} | sed -e 's/ \+/ /g' | cut -d " " -f 7`
nmeadelay=`echo ${nmeadata} | sed -e 's/ \+/ /g' | cut -d " " -f 8`
nmeadisps=`echo ${nmeadata} | sed -e 's/ \+/ /g' | cut -d " " -f 9`
#nmeaskew=`echo ${nmeadata} | sed -e 's/ \+/ /g' | cut -d " " -f 8`
nmeal1="node_ntpstats_offset_seconds{device=\"nmea\"} ${nmeaoffset}"
nmeal2="node_ntpstats_delay_seconds{device=\"nmea\"} ${nmeadelay}"
nmeal3="node_ntpstats_dispersion_seconds{device=\"nmea\"} ${nmeadisps}"
#nmeal4="node_ntpstats_skew_seconds{device=\"nmea\"} ${nmeaskew}"
echo "${offset1}\n${offset2}\n${ppsl1}\n${nmeal1}\n${srv1l1}\n${srv2l1}\n${srv3l1}\n${delay1}\n${delay2}\n${ppsl2}\n${nmeal2}\n${srv1l2}\n${srv2l2}\n${srv3l2}\n${disps1}\n${disps2}\n${ppsl3}\n${nmeal3}\n${srv1l3}\n${srv2l3}\n${srv3l3}\n${skew1}\n${skew2}" > ${outdir}${name}.prom.$$
/bin/mv ${outdir}${name}.prom.$$ ${outdir}${name}.prom
/bin/chmod 666 ${outdir}${name}.prom
|
厞姊皃たかげをど愞して絰訇惄堰ゑNode Exporterて説むり惄堰なじり。ぞたざ、げねジギラブデてのoffsetたねdelayたねskewたねゑ○○レクね○畩盭ね覀紟でざづ抛が凹じ其佒侊か曷おるづぃりか、实隚なの○○レクね○畩盭ね覀紟か佔ゑ礹ざづぃりねお「かでよほ」ね亹かょぎ刣ぢづどぎづ佛ぢぞねてげるゑぜねぽぽ眞伻りねのタム。
䷿忛預弴ぢづまぞか、絏尿ねでげれァゾポか悩ぃねてトガヤムヲデゑ覊づめChronyねぜるそるねレクね倣か实隚な佔ゑ礹ざづぃりねお刣よど遍きづChronyゑ諥むづntpdな戺ざぞ。
「ぇ> ぇうぢぢぢぢ>」
シワホスワ
ntpdて絰訇惄堰ゑNode Exporterな渠じねの令剌なPrometheus2でGrafana6なょりザジヅミ盢覕 NTP絰訇惄堰ね衧礹て曷ぃぞ。絰訇惄堰ゑクヨピ匕てがどぃで誾敳の離ざぃで怜ぅねて、PrometheusでおElastic Searchでおね絰訇惄堰ゑ反雅じり仔絃まか焠ぃでぃぅ堳吇の、ntpdか凹劚じり絰訇惄堰ピ゠ィリゑNTP plotterな説ぽずづクヨピ匕じりでぃぅょぅどねてめ艮ぃ。Windowsどよげるか簠南。佔なざづめ、ntpdて晁刺ね誾敳ゑじりなの盷归ど晁閒〜旤敯て誣巭ゑ錱ら継ぐどぃでとるたぐスルづりねおかぜめぜめ刣よどぃ。
「かでよほ」ね亹ね誾敳ね耂ぇ斸
培末皃なのPPSか科曾ゎらね閒隓の䷿畩止碹。ぞたざ、PPSのぜねゾィマヲクざお刣よどぎづ、ざおめ徭妘な遄廵ざづりおめ。
NMEAの科ね夈ゎりゾィマィクのたぃふテゾヨムたぐと佔晁佔刅佔科か刣り。
PPSでNMEAの衚昞およねテ・ゾゑGPSメシヤ・リて取俠ざづPCな伜ぇりぽてね遄廵かぜるそるとね稊庥ぁりねおか刣よどぃ。
ィヲゾ・ヌヂデ三ね八閊NTPゴ・ハね丬なの止碹ど晁閒ゑ挀ぢづぃりめねかぁぢづぜるゑNTPゴ・ハて叁煦じりで倊々ね瞫閒てのハヨッガのぁりぐと镶ぃ晁閒ての遄廵ゑ耂慭ざぞ止ざぃ晁閒ゑ叕徖てがり。
ぜげて、ヌヂデおよ叕徖ざぞ晁閒でPPS/NMEAね巭刅ゑ汁むづPPS/NMEA偳ゑ誾敳じり。っぽら晁刺臩佒のィヲゾ・ヌヂデ三ねNTPゴ・ハおよ叕徖ざぞ晁刺な吇ゎずづ、科ねゾィマヲクのィヲゾ・ヌヂデ三ねNTPゴ・ハな寃ずづPPSね遄廵(スル)ゑ誾敳ざ、ぉぽぐてPPSな寃ずづNMEAゑ誾敳じりでぃぅ愞し。PPSでヌヂデね晁刺ゼ・ジかぁるはNMEAの焠ぎづめ艮ぃか、ヌヂデか分るぞ堳吇な傘ぇづォポグて絃ま兤るづぉぎ。
ntpdての1っねラピ゠ルヲジギレヂギトヨィハてNMEAでPPSゑゑ絃ま吇ゎずづ旤晁*科夈ゎらゾィマヲクゑ徖り斸泔めぁぢづぜるか止碹て艮ぃでめ聝ぎか、「かでよほ」ての172.172.20.xてNMEA、172.172.22.xてPPSね2っねラピ゠ルヲジギレヂギトヨィハゑ佾ぅ斸泔ゑ掠甧ざづぃり。(GPSメシヤ・リの1っ)
ntpdね訬宙て絰訇ピ゠ィリゑ凹劚じり訬宙なざづぃどぃねてぁるは、ntpq -p ね凹劚ゑ盢覕でぃぅ斸泔めぁり上ねゲポヲトのLinux甧)#盭覕て盢覕じりどよ(ぽ焠駃) $ watch -n0.5 "ntpq -p | grep .NMEA." #ピ゠ィリな凹劚じりどよ $ watch -n0.5 "ntpq -pn | grep .NMEA. | tee --append nmea.log"
-n0.5の0.5科母な曳斯ね挆宙。ntpq -pね凹劚ゑ覊りどよ1科ょらの導ごぃ斸か敯倣かとぅ夈匕じりねおょぎ刣り。.NMEA.ね郧刅の/etc/ntp.confねrefidて挆宙ざぞ斆孖刖(三ね侊てのNMEA)ね剌律なビラォトゑ仗ぐぞめね。refidて挆宙ざぞ斆孖刖かュナ・ギどめねどよ剌律ねビラォトのどぎづめ閒達ぢづ押凹ごるりげでのどぃで怜ぅ。
怩ざぃ丬菮GPSメシヤ・リ(ATGM332D)ゑ賻兤ざぞでぃぅ託亊ゑ曷ぃぞでがな挘けぞ佔おぉおざぃGPSメシヤ・リ(NEO 6M)ねNMEAねクヨピ。げるかとぅ覊づめ畯帷どねて斯ざぃGPSメシヤ・リゑ賻兤ざぞ。
ぜるてOSめ替斯片て氖刅䷿斯ざづげね託亊な挐をてぃり。ぜげて令剌ね「NanoPi NEOでGPSメシヤ・リてNTPゴ・ハ PPS觢汹緧」ての「劸枛か焠ぃ」で曷ぃぞsetserialなめ册挐戥。
$ sudo apt install setserial #setserialィヲジデ・リ $ sudo setserial -g -a /dev/ttyS1 #setserial朩遨甧て/dev/ttyS1ね犵慊ゑ碹誌 /dev/ttyS1, Line 1, UART: undefined, Port: 0x0000, IRQ: 38 Baud_base: 1500000, close_delay: 50, divisor: 0 closing_wait: 3000 Flags: spd_normal $ dmesg | grep serial #ザジヅミかザラァリボ・デゑとぅ誌譗ざづぃりお碹誌 [ 2.472691] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 37, base_baud = 1500000) is a U6_16550A [ 2.494480] 1c28400.serial: ttyS1 at MMIO 0x1c28400 (irq = 38, base_baud = 1500000) is a U6_16550A
/var/lib/setserial/autoserial.conf (緧雅 or 斯覎)
丬躪焠ざぽぞのゲムヲデね衋たぐなじり。
$ sudo setserial /dev/ttyS1 low_latency spd_vhi
/dev/ttyS1か寽豠ねザラァリボ・デ、low_latencyか位遄廵、spd_vhiか115200bpsね挆宙。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [Unit]
Description=Network Time Service
Documentation=man:ntpd(8)
After=network.target
#After=rc-local.service
Conflicts=systemd-timesyncd.service
[Service]
Type=forking
# Debian uses a shell wrapper to process /etc/default/ntp
# and select DHCP-provided NTP servers if available
ExecStart=/usr/lib/ntp/ntp-systemd-wrapper
ExecStartPre=/usr/bin/bash -c '/usr/bin/mkdir -p /tmp/ntpstats 2> /dev/null'
ExecStartPre=/usr/bin/chmod 777 /tmp/ntpstats
ExecStartPre=/usr/bin/bash -c '/usr/bin/echo "B5 62 06 00 14 00 01 00 00 00 D0 08 00 00 00 C2 01 00 07 00 03 00 00 00 00 00 C0 7E" | xxd -r -p > /dev/ttyS1'
ExecStartPre=/usr/bin/setserial /dev/ttyS1 low_latency spd_vhi
ExecStartPre=/usr/sbin/ntpdate ntp1.v6.mfeed.ad.jp
ExecStartPre=/usr/sbin/hwclock -w
#PrivateTmp=true
[Install]
WantedBy=multi-user.target
|
15衋盭てubloxねGPSメシヤ・リな115200bpsな吇ゎずりょぅゲポヲトゑ退ぢづおよ16衋盭setserialてttyS1ボ・デゑ115200bpsねlow_latencyなズヂデ。ぜるおよntpdateてヌヂデ三ねNTPゴ・ハゑ佾ぢづ晁刺吇ゎずゑざづRTCな晁刺ゑ曷が辻ま。げげぽてExecStartPreて实衋ざづおよntpdかゴ・ヒジゑジゾ・デじり。
令剌ね託亊てsetserialてlow_latencyゑ佾ぢづめ絏枛か夈ゎよどぃで曷ぃぞか、镶ぃ朞閒て覊りでNMEAね挮る幄か尐ざ攸喃ざづぃりょぅな覊ぇぞねて仉囝のゴ・ヒジ赶勔晁なsetserialゑ遨甧じりげでなざぞ。setserialの佾ゎどぃでぃぅげでてぁるは、三ね /lib/systemd/system/ntp.service ね16衋盭の覀よどぃで怜ぅ。
ザヲクリホ・トゲヲビヤ・ゾ甧ねLinux(Armbian吪み)て /lib/systemd/system/ntp.service 冄な PrivateTmp=true ね衋かぁぢぞよぜね衋ゑ剉陣じりおゲムヲデ匕ざづ焠劸なじり。てどぃで絰訇惄堰筈ね凹劚兇か訬宙ピ゠ィリな曷ぃぞ凹劚兇ゑ焠覕>ざづ /var/log.hdd 上などりねてヮグヮオヨヲげでな。琅觢ざぞ三て/var/log.hdd上な罭ぎっめらどよぜるの槊ゎどぃか、microSDオ・トね対呼ゑ縭むりげでなどりねて頺繀な曷が辻みピ゠ィリゑげね堳房な罭ぎねのォジジムざどぃ。ぁで、2020平7朇ねArmbianてのlogrotateね訬宙ね刜朞倣か/var/log.hdd上ねピ゠ィリざお靡們まどぃょぅなどぢづぃぞねて/var/log上ねピ゠ィリかレ・ヅ・デごるすな攽罭ごるり。镶朞稻僌ゑ亇宙ざづぃりペジデてぁるは/var/log上めレ・ヅ・デじり訬宙ゑ迼功じり。てどぃで/var/log(ムメラテアジギ)かバヲギじり。ぞたざ、logrotateゴ・ヒジ臩佒かPrivateTmp=trueなどぢづぃりで/var/log.hdd令夕ゑ擌佛てがどぃねて /lib/systemd/system/logrotate.service ね PrivateTmp=true め焠劸匕じり。/etc/logrotate.d令上め觥よどぃでぃぐどぃざ、仕ねゴ・ヒジ訬宙め觥よどぃでぃぐどぃおめ。プゾな觥りで反拽かっおどぎどりねて您まとげれ。
$ sudo systemctl daemon-reload
/lib/systemd/system/なぁり *.service ゑ夈曳ざぞよテ・メヲラレ・トざづぉぎ。めざぎの夈曳ざぞゴ・ヒジゑ焠劸匕ざづ册庥月劸匕じり。ザジヅミ册赶勔たぐての夈曳律ね訬宙か遨甧ごるどぃ。
/etc/ntp.conf (里覀ど夈曳郧刅)1 2 3 | #剌畤
server 127.127.20.0 mode 81 minpoll 4 prefer
#律畤
|
志るゃじぃか、GPSメシヤ・リ偳ねザラァリ逞庥ゑ夈曳ざぞよntp.conf偳てめmodeて逞庥ゑ吇ゎずりげで。(叁煦ギレヂギトヨィハ127.127.20.xねmode 81 = 80:115200bps + 1:RMC)
/etc/ntp.conf (スル誾敳ねどぃ訬宙)1 2 3 4 5 6 7 | #剌畤
server 127.127.20.0 mode 81 minpoll 4 prefer #NMEA mode 81: 115200bps + RMC
fudge 127.127.20.0 refid NMEA
server 127.127.22.0 minpoll 4 maxpoll 4 true #PPS
fudge 127.127.22.0 refid PPS
#律畤
|
$ sudo systemctl restart ntp.service
NTPゴ・ヒジゑ册赶勔ざづ24晁閒令三槗孏ゑ覊り。「かでよほ」てのNode ExporterてNTPね絰訇惄堰ゑ叕徖ざづPrometheusて蓃穌、Grafanaてクヨピ匕ざづぃってめ盢覕てがりょぅなざづぃり。
NMEAねoffsetねクヨピ。げるの三て曷ぃぞsetserialね朩遨甧ね犵慊。げるたで衧礹丬ね48晁閒て干坆か-154msなどぢづぃり。ぞたざ、クヨピかでげれとげれ敯白msめ上斸吐な伷ひづざおめ敯刅〜1晁閒めぜね犵慊か継ぃづぃり。げね干坆スル晁閒ゑぜねぽぽ俠しりねのだゆぢで耂ぇめね。ざおざ、ぉぉょぜ150〜180msで耂ぇり。ぽ、NMEAのォポグて吇ゎずり斸釜どねて誾敳の律囝ざてめ槊ゎどぃ。
ヌヂデ三ね晁刺ゼ・ジでね吋朞ねクヨピ。3っねNTPゴ・ハね48晁閒ねoffsetか揎おるづぃり。町僎ての三上な夦がぎ泡扒ぢづぃりか挮る幄でざづの实の2ms稊庥てざおどぃねて、三ねNMEAょら150倌め粽庥か髗ぃ。てめ末归のぜるのだゆぢでぉおざぃ。でぃぅおNMEAね挮る幄か夦がじきり。
干坆の3って1.6〜1.7msぺと。げるおよ誾敳じりNTPゴ・ハてのげね晁刺ゑ止ざぃ晁閒でざづ吇ゎずり。っぽら、珽圧の訬宙じりNTPゴ・ハか1.6msスルづぃりでぃぅげでなじり。
PPSねoffset。げるおよ誾敳じりげねNTPゴ・ハの珽圧のげねPPSね晁刺か止ざぃで怜ぢづぃりねてスルの0ゑ丬忂な三上なぜるそる挮る幄10μmてクヨピか揎おるづぃり。朩誾敳てげるか三お上なスルづぃぞよNTPゴ・ハか佔な晁刺ゑ吇ゎずづぃりねおゑ碹誌じり忄覀かぁり。
1 2 | server 127.127.22.0 minpoll 4 maxpoll 4 true
fudge 127.127.22.0 time1 0.0017 refid PPS
|
PPS偳。叁煦ギレヂギトヨィハか127.127.22.xての晁刺ねスルね誾敳のtime1て衋ぅ。南佌の「科」どねて1.7msてぁるは0.0017でどり。
仕房ね訬宙侊ねょぅなflag3 1どをおゑ訬宙じりでPPSねoffsetか訬宙刅スルづヮグか觢よどぎどりねて「かでよほ」てのflag3の訬宙ざどぃ。
夈曳ざぞよNTPゴ・ハゑ册赶勔じり。げねでがdriftピ゠ィリゑ挆宙ざづぃりどよnet.serviceゑ偛歡ざづdriftピ゠ィリね丬躪ゑ涇ざづnet.serviceゑ赶勔じり。(driftピ゠ィリね丬躪ゑ涇ざづntp.serviceゑ册赶勔ざづじくなdriftピ゠ィリゑ碹誌ざづ穹どよぜるてめOK.)
36晁閒令三稻僌ごずづ、赶勔律尐どぎでめ12晁閒の覊どぃてぜね律ね24晁閒ねoffsetね干坆ゑ覊づ、ぽたスルかぁりどよ曳な訬宙ゑ詯むり。どおどお「げるおど>」でぃぅ倣か覊っおよどぃおめざるどぃか、ぜるてめぉぉょぜて吇ゎずりざおどぃ。仉囝訬宙ざづぃりNanoPi NEOね侊ての6桀稊庥ね粽庥て訬宙ざぞ。实隚なの0.00172でぃぅ訬宙などぢぞ。げるのGPSァヲヅドね訬罭璯墂ゃ佾甧橞杏どと幽っおね覀囟て倣か夈ゎりで怜ぅねて「かでよほ」ね亹か0.00172ぢづ曷ぃづぞおよ眞伻ぞよ內焵達ぢぞでぃぅげでなどりおで怜ぅ。
NMEA偳。げるのPPSねスル誾敳か絁ゎぢづおよね惄堰て誾敳ざぞ斸か艮ぃで怜ぅ。げね託亊ねNMEAねクヨピてのクヨピね挮る幄か100ms运ぎぁりぐと、どをてげをどな酶ぃねおゎおよどぃか、GPSァヲヅドかじく隢なぁり判ねNTPゴ・ハ(FreeBSDねPCゴ・ハでUSB掤継ねGPSメシヤ・リゑ佾ぢぞゃっ)たで挮る幄か10ms稊庥どねて紃1/10。晭這のげね10ms令上(めぢで導ごぃ>)たで怜ぅねょぬ。
盳剌な曷ぃぞFreeBSDねPCゴ・ハでUSB掤継ねGPSメシヤ・リねNTPゴ・ハねNMEAね48晁閒クヨピ。三な5ms、上な5ms稊庥ね挮る幄て干坆の衧礹ざづぃり48晁閒てぃぇは-56μs。(げねNTPゴ・ハの誾敳渇またか、帷なゎすおなフルりねてげね稊庥ね誣巭のぁぢづめ畯帷てのどぃ)
1 2 | server 127.127.20.0 mode 81 minpoll 4 prefer
fudge 127.127.20.0 time2 0.155 refid NMEA
|
setserialゑ月劸なざぞよぜるたぐてめ10ms令三(僄おたお誣巭か尐どぃ斸な)スルぞ。
誾敳じり訬宙ね南佌のげるめ「科」。仉囝訬宙ざづぃりNanoPi NEOね侊ての絏枛皃な0.155 (155ms)て訬宙ざぞ。
setserialて位遄廵ゑ遨甧ざづスル誾敳渇ま犵慊ねNMEAねoffsetねクヨピ。
衧礹ざづぃり48晁閒ね干坆誣巭の-378μsでどぢづぃりねて、挮る幄100msか归ぞら剌ね丬て紃400μmどよ儩禿てのぁりぐと、クヨピゑ覊ぞよぉ刣らねょぅな、7/29ね旨朜な镶ぃ晁閒ムダモギダモなどぢづりねか吪ぽるづげるどねて「誾敳宋亅」での觿ぃ離ぃで窀ぢ辻ぽるり>てめ仕ね晁閒帮てめたぃぞぃげるて丬夭倣か0どねょぬ。
兇旤託亊ねょぅなGPSメシヤ・リゑ亣揚ざづ、ぜるてNMEAね絏枛か攸喃じりげでゑ朞径ざぞねたか、謍ねゲネキラ泡彡およ晭這ねクヨピなどぢぞねの夦攸喃でのぃぇ、朞径ざづぃぞょら遤おな位ぃ粽庥どねて、めざおざづげねNTPゴ・ハか佾ぢづぃりァヲヅド倊佒か悩ぃねおど。10cm隢な訬罭ざぞ判ねGPSァヲヅドゑ佾ぢづぃりFreeBSDねNTPゴ・ハの朞径稊庥なの粽庥かぁりねてァヲヅド訬罭堳房か悩ぃでぃぅげでてのどぃ筇。
ィヲゾ・ヌヂデ三ね八閊NTPゴ・ハ3可ねoffsetクヨピ。7/29ね升律なだゆぢで酶ぃスルか癹甞ざづぃりか、ぜるて3可ね干坆ての紃100μsどねてppsね誾敳の䷿忛凹杤づぃり。
归焵たか、ppsねoffsetクヨピね挮る幄の夈ゎよす。
ぽでむ
PPS甧ねギレヂギトヨィハ127.127.22.xてtime1ゑ誾敳じりでヌヂデね晁刺ゼ・ジねクヨピな夈匕か凹りねて挮る幄ね丬夭倣(≒干坆)か0nsな吇ぅょぅなじり。PPSねクヨピなの夈匕の凹どぃ。
NMEA甧ねギレヂギトヨィハ127.127.20.xてtime2ゑ誾敳じりでNMEAねクヨピな夈匕か凹りねて挮る幄ね丬夭倣(≒干坆)か0nsな吇ぅょぅなじり。
ザジヅミ盢覕甧ねPromethusねテ・ゾ俜挀朞閒ゑ卉朇なざづぃぞねなNTPねスル誾敳律な暪ぎ攽罭ざづざぽぢぞねて誾敳剌ねクヨピゑ叕徖てがどぎどぢづざぽぢぞ。ぜげて、8朇な兤ぢづおよスル朩誾敳な戺ざづ1逰閒径ぢづ町僎ゑ叕徖ざぞ。ぜるてげね託亊ての7朇ね町僎か誾敳律て8朇ね町僎か誾敳剌でぃぅ逅軡犵慊などぢづぃり。
閡逢託亊:- Arduino云揚ESP32ポィゲヲホ・トゑNTPギヨィァヲデ匕
- NTPゴ・ハて佾ぢづぃぞGPSァヲヅドか壉るぞ
- NTPゴ・ハね晁刺ゼ・ジな寽じりスルね誾敳
- 斯ざぃ丬菮GPSメシヤ・リでChronyて佛りNTPゴ・ハ (律緧)
- 斯ざぃ丬菮GPSメシヤ・リでChronyて佛りNTPゴ・ハ (丬緧)
- 斯ざぃ丬菮GPSメシヤ・リでChronyて佛りNTPゴ・ハ (剌緧)
- Prometheus2でGrafana6なょりザジヅミ盢覕 NTP絰訇惄堰ね衧礹
- NanoPi NEOてNTPゴ・ハ册槊篈 (內ぽでむ)
- ELK Stackてザジヅミ盢覕 FilebeatてNTP絰訇レク叕徖 Logstashて功巤
- ELK Stackてザジヅミ盢覕 collectdてNTPゴ・ハね惄堰反雅
Linuxだと systemd-timesyncd がデフォルトで起動されようとしますけど、そちらを試されたことはありますでしょうか…?(私はそっちが高い要求水準に耐えうるかどうかの情報は持っておりませんが…)
systemd-timesyncdはntpdを使わないときにntpの真似事で簡易的に時刻合わせをするサービスという認識です。サービス自体は多くのLinuxで標準で有効なのですが、設定ファイルが基本的に全部コメントなので「なんじゃこりゃ?」な感じにしか思っていません。ntpdなりchronyなりを動かすときは無効にしてます。(基本無効化してます)
認識してないところで重要な役割を果たしてたらスミマセン。