Endrun タイムサーバー

時刻源との同期状況を長期間ログに残す

過去12~24時間程度の時刻源との同期の状況は,/logs/praecis0.log に残されています. さらに長期にわたる同期状況を記録したい場合は,次の2つの方法があります.
  1. SNMPを使い,cdmaあるいはgpsで始まるオブジェクトの値を監視記録する.
  2. スクリプトで cdmastat あるいは gpsstat を定期的に実行し,RAMディスク上にログを書き出す.
ここでは,簡単なスクリプトにより長期間にわたる同期状況のログをRAMディスクに
書き出す方法を説明します.


次のスクリプトを /boot ディレクトリ上に作成します.scpでコピーしても, edit エディタにカットアンドペーストしていただいてもかまいません. Tempus LX CDMA の場合 #!/bin/sh # cdmastatlogger # Script to log the cdmastat data. You must provide two arguments like so: # cdmastatlogger 120 /tmp/cdmastatlog if [ $# -ne 2 ]; then echo "You must provide two arguments:" echo " 1. The logging interval in seconds" echo " 2. The file name to log to" exit fi while [ 0 ]; do echo "`cdmastat`" >> $2 sleep $1 done Tempus LX GPS の場合 #!/bin/sh # gpsstatlogger # Script to log the gpsstat data. You must provide two arguments like so: # gpsstatlogger 120 /tmp/gpsstatlog if [ $# -ne 2 ]; then echo "You must provide two arguments:" echo " 1. The logging interval in seconds" echo " 2. The file name to log to" exit fi while [ 0 ]; do echo "`gpsstat`" >> $2 sleep $1 done 以下は cdma を例に説明いたします.gpsの場合はファイル名を変更して下さい. ファイルに実行権を与えます. chmod 744 /boot/cdmastatlogger 2つの引数を与えて,スクリプトを起動します. 第1の引数:間隔 単位秒 第2の引数:ログファイルのパス名 bashシェルからであれば次のように起動します. # /boot/cdmastatlogger 120 /tmp/cdmastatlog & # disown ブート時にスクリプトを自動起動させるのであれば,/etc/rc.local に次の行を追加します. /boot/cdmastatlogger 120 /tmp/cdmastatlog この例では,約2分毎に /tmp/cdmastatlog ファイルに cdmastat の結果が書き出されます. 2分間隔であれば1ヶ月以上のログを保持できますが,時々 df -h を実行して,RAMディスク /dev/ram0 の残容量を確認し,RAMディスクの残容量がなくならないように注意してください. ファイルには次のような行が記録されます. LKSTAT TFOM YEAR DOY TIME LS S CH PNO AGC VCDAC SNR FER FLTS LOCKED TFOM = 6 2005 322 05:31:00.719602767 13 8 50 204 150 32150 7.5 0.002 0000
ログ項目 SNMP
オブジェクト
内容
LKSTAT
LOCKED か NOTLKD
TFOM cdmaTimeFigureOfMerit
トラップの対象
6 は時刻エラー < 100 us
7 は時刻エラー < 1 ms
8 は時刻エラー < 10 ms
9 は時刻エラー > 10 ms または未同期
YEAR
UTC 西暦年NTPデーモンから最後にポーリングされた時刻
DOY
UTC 年初からの日数
TIME
UTC 時刻
LScdmaCurrentLeapSecondsうるう秒オフセット
ScdmaSigProcState 8 は基地局に同期
4 はキャリア同期を試みている
2 はコード同期を試みている
1 は信号発見
0 は信号発見できず
CHcdmaChannel基地局のチャンネル 通常は 50 プライマリA.51 はセカンダリA
PNOcdmaPNO基地局のPN Code Offset 通常長期間一定
AGCcdmaAGC小さいほど信号は強い 通常150~220
VCDACcdmaVCDAC通常 20000~38000
SNRcdmaCarrierToNoiseRatio2.5以上なら可,4以上が望ましい 通常2.5~11
FERcdmaFrameErrorRate小さいほどエラーは少ない
FLTS cdmaFaultStatus
トラップの対象
フォールステータス マニュアルを参照のこと
以上