【概要】
タイトル通り。
AmazonLinuxが動作しているEC2サーバ(奇跡的に3年以上無停止)についてAWSより強制再起動予告が来た、のでELBから切り離して再起動し、特に問題なく再起動できた(と思っていた)。
数日後、ログのタイムスタンプがおかしいことに気づく。
→ntpq -p で確認するとntpサーバと同期できてない
→ntpd再起動しても復旧しない
→EC2インスタンス自体はパブリックサブネットにEIPつけて配置しているだけ、他のサーバは問題なく時刻同期している。
→ntpdate clock.nc.fukuoka-u.ac.jp で明示的に指定すると時刻合わせはできるが、そのあとntpd再起動してみるとやはり同期していない
で、再度OS再起動したら問題なくなった。
ベースマシンのハードウェアクロックとかに問題ある?
【作業メモ】
chkconfig --list ntpd # ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off ntpq -p # remote refid st t when poll reach delay offset jitter # ============================================================================== # ec2-54-64-6-78. 133.243.238.244 2 u 27 64 377 0.399 2795382 20356.3 # marisa.jp.futa. 160.16.75.242 3 u 185 64 274 2.633 2794279 21967.3 # y.ns.gin.ntt.ne 249.224.99.213 2 u 34 64 377 8.474 2795340 20754.2 # li1701-26.membe 157.7.208.12 3 u 14 64 377 1.517 2795479 20283.5 # →同期中のサーバがない # ntpd再開 service ntpd stop service ntpd start # 確認 ntpq -p →やはりだめ # shutdown -h nowしてマネージドコンソールで再度起動 ntpq -p # remote refid st t when poll reach delay offset jitter # ============================================================================== # +next.kkyy.me 133.243.238.243 2 u 24 64 377 1.653 17.703 2.599 # +extendwings.com 133.243.238.244 2 u 18 64 377 2.299 13.270 22.075 # +v157-7-235-92.z 103.1.106.69 2 u 12 64 375 1.958 18.669 21.148 # *ec2-54-64-6-78. 133.243.238.244 2 u 22 64 377 0.408 17.355 2.258 # →同期できている
セキュリティグループACLでアウトバウンド:UDP/123閉じたときと似ているけど、その時はoffsetも0秒だったので、ちょっと違う。
うーん、ベースマシンが外れとかそういうのある?
原因がわかったら追記しますが、こんな事例もあったということで。。
事後対応
zabbixで時刻ズレ監視
【参考】
https://qiita.com/miyahang55/items/9d1f99e9549143cdc8de
https://www.zabbix.com/documentation/2.2/jp/manual/appendix/triggers/functions
fuzzytime sec 浮動小数、整数 タイムスタンプ(アイテムの値)とZabbixサーバ時刻の差が N 秒以内なら1、それ以外なら0を返します。 通常は system.localtime と組み合わせて、ローカル時刻とZabbixサーバのローカル時刻が同期しているかどうかをチェックします。
上記を参考に以下の様なトリガーを追加
項目 値 名前 サーバ時刻差分発生:{HOST.NAME} 条件式 {Template OS Linux:system.localtime.fuzzytime(3)}=0 深刻度 重度の障害
その他
NTP pool
pool.ntp.org: the internet cluster of ntp servers
の事を今回初めて知りました。
例のclock.nc.fukuoka-u.ac.jpばっかり使ってないでこれを使わないといかんですね