しばらく前からvnStat というツールでネットワークトラフィックを計測してもらっていました.
ビデオミーティングの通信料を確認したりといったことに使っています.
しかし先日ビデオミーティング後に通信料を確認しようとしたらうまく行きません.
レンジを間違えたかなと思いましたがインターフェイス以外同じオプションで他の端末で実行すると出て来るのでレンジは正しそう.
$ vnstat -i enx349971e11a0f -b '2026-04-19 14:00' -e '2026-04-20 00:40' -h No hourly data available for given date range.
-l でライブモードだとうまく動いていそうですが, -h や -5 を叩くと動くけど古いデータしか出てきません.
$ vnstat -i enx349971e11a0f -h
enx349971e11a0f / hourly
hour rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
2026-04-04
17:00 218.69 MiB | 18.13 MiB | 236.82 MiB | 551.83 kbit/s
18:00 1.65 GiB | 72.64 MiB | 1.72 GiB | 4.11 Mbit/s
19:00 756.85 MiB | 42.89 MiB | 799.74 MiB | 1.86 Mbit/s
20:00 140.48 MiB | 12.13 MiB | 152.61 MiB | 355.61 kbit/s
21:00 8.02 MiB | 3.54 MiB | 11.56 MiB | 26.93 kbit/s
22:00 7.24 MiB | 3.89 MiB | 11.13 MiB | 25.93 kbit/s
23:00 6.15 MiB | 3.66 MiB | 9.81 MiB | 22.85 kbit/s
2026-04-05
00:00 4.99 MiB | 3.47 MiB | 8.46 MiB | 19.71 kbit/s
01:00 5.71 MiB | 3.51 MiB | 9.22 MiB | 21.49 kbit/s
02:00 2.87 MiB | 3.32 MiB | 6.19 MiB | 14.42 kbit/s
03:00 11.47 MiB | 22.75 MiB | 34.22 MiB | 79.74 kbit/s
04:00 784.37 MiB | 39.35 MiB | 823.72 MiB | 1.92 Mbit/s
05:00 626.25 MiB | 32.25 MiB | 658.50 MiB | 1.53 Mbit/s
06:00 38.78 MiB | 11.54 MiB | 50.32 MiB | 117.26 kbit/s
07:00 16.57 MiB | 4.71 MiB | 21.29 MiB | 49.60 kbit/s
08:00 12.33 MiB | 4.39 MiB | 16.71 MiB | 38.95 kbit/s
09:00 12.20 MiB | 4.78 MiB | 16.98 MiB | 39.56 kbit/s
10:00 104.22 MiB | 6.25 MiB | 110.47 MiB | 257.41 kbit/s
16:00 14.04 MiB | 10.51 MiB | 24.55 MiB | 57.20 kbit/s
17:00 47.55 MiB | 10.81 MiB | 58.36 MiB | 135.99 kbit/s
18:00 93.25 MiB | 13.96 MiB | 107.21 MiB | 249.82 kbit/s
19:00 133.44 MiB | 19.54 MiB | 152.98 MiB | 356.47 kbit/s
20:00 53.40 MiB | 6.77 MiB | 60.17 MiB | 140.21 kbit/s
21:00 3.52 MiB | 1.28 MiB | 4.80 MiB | 11.19 kbit/s
------------------------+-------------+-------------+---------------vnStat への登録インターフェイスを一旦削除して登録し直してみます.
$ sudo vnstat --remove -i enx349971e11a0f --force (1) $ sudo vnstat --add -i enx349971e11a0f (2) $ vnstat -5 No 5 minute data available.
vnStat から
enx349971e11a0fを削除enx349971e11a0fを追加し直し
数時間後確認してもデータが見えません…….
$ vnstat -5 No 5 minute data available.
よく見るとvnStat の結果の1行目に変な日付があります.
$ vnstat -i enx349971e11a0f
Database updated: 2026-05-05 08:08:00
enx349971e11a0f since 2026-04-21
rx: 0 B tx: 0 B total: 0 B
monthly
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
no data available
------------------------+-------------+-------------+---------------
estimated -- | -- | -- |
daily
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
no data available
------------------------+-------------+-------------+---------------
estimated -- | -- | -- |db が未来の日付になっています.
Database updated: 2026-05-05 08:08:00
この端末はRTC のバックアップバッテリが死んでいるようでバッテリ切れで落ちると時計が飛んでしまいます.その次の起動時にUEFI で時計を合わせて起動して,システム起動後にntp で時計合わせしてもらっているのですが,恐らくそのときに5/5にしてしまいvnStat のdb がおかしくなったのかもしれません.
データベースがおかしそうなのでデータベースを作り直してみます.
$ sudo service vnstat stop (1) $ sudo -u vnstat mv /var/lib/vnstat/vnstat.db /var/lib/vnstat/vnstat.db.bak (2) $ sudo service vnstat start (3) $ vnstat -i enx349971e11a0f (4) enx349971e11a0f: No data. Timestamp of last update is same 2026-04-22 05:37:54 as of database creation.
vnStat を一旦停止
データベースを退避
vnStat を起動
しばらく後に確認するとこんな感じでちゃんと動き始めたようです.
$ vnstat -i enx349971e11a0f -h
enx349971e11a0f / hourly
hour rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
2026-04-22
05:00 66.23 MiB | 9.14 MiB | 75.37 MiB | 175.62 kbit/s
06:00 13.89 MiB | 4.69 MiB | 18.58 MiB | 86.61 kbit/s
------------------------+-------------+-------------+---------------
$ vnstat -i enx349971e11a0f -5
enx349971e11a0f / 5 minute
time rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
2026-04-22
05:35 201.93 KiB | 113.63 KiB | 315.56 KiB | 8.62 kbit/s
05:40 10.26 MiB | 1.57 MiB | 11.84 MiB | 330.99 kbit/s
05:45 7.15 MiB | 2.31 MiB | 9.46 MiB | 264.57 kbit/s
05:50 38.63 MiB | 4.22 MiB | 42.85 MiB | 1.20 Mbit/s
05:55 9.99 MiB | 949.36 KiB | 10.91 MiB | 305.14 kbit/s
06:00 8.72 MiB | 1.32 MiB | 10.04 MiB | 280.77 kbit/s
06:05 1.35 MiB | 858.75 KiB | 2.19 MiB | 61.13 kbit/s
06:10 725.47 KiB | 429.95 KiB | 1.13 MiB | 31.55 kbit/s
06:15 637.71 KiB | 431.47 KiB | 1.04 MiB | 29.20 kbit/s
06:20 0.98 MiB | 989.68 KiB | 1.95 MiB | 54.39 kbit/s
06:25 1.52 MiB | 736.79 KiB | 2.24 MiB | 62.61 kbit/s
------------------------+-------------+-------------+---------------過去のデータは失われましたが,とりあえずまた計測できるようになりました.
またおかしくなる前に電池を交換したほうがいいかもしれません.
このようなcron を設定してみました.1日1回vnStat のdb をバックアップして古いバックアップを消そうとしています.
$ sudo -u vnstat crontab -l | grep vnstat
@daily cp --backup=numbered /var/lib/vnstat/vnstat.db /var/lib/vnstat/vnstat.db.bak && find /var/lib/vnstat/ -name "vnstat.db.bak*" -ctime 14 -exec rm {} \;$ dpkg-query -W vnstat* cron cron 3.0pl1-208 vnstat 2.13-1 vnstati 2.13-1 $ lsb_release -dr Description: Debian GNU/Linux forky/sid Release: n/a $ arch x86_64