vnstat2でトラフィックをモニタする

参考にしたページ

vnStat - a network traffic monitor for Linux and BSD - Humdi.net

vnStatは1.1と2.6で使い方が全く違うじゃん...(汗

...というわけでちょっとハマったのでメモっときますw
多分このメモがマルっと使えるのは FreeBSD だけだと思われます
今回インストールしたのは FreeBSD 12.1 release です

# vnstat -v
vnStat 2.6 by Teemu Toivola 

今回インストールは ports で入れますが pkg install でもほぼ同じかと思われます

# cd /usr/ports/net/vnstat
# make install clean
# sync
# rehash
# 
# vnstat -v
vnStat 2.6 by Teemu Toivola 

vnstat の ver.1 では cron を編集して

/usr/local/bin/vnstat -u -i re0

のように書いてましたが -u スイッチ( --update ) はver.2から無くなりました
で dump データベースが sqlite へ取替えた...
このページに書いてありました
併せて下記も記載あります

   - User configurable data retention durations for all resolutions with
     following changed defaults:
                   v1.18     v2.0
       5 minutes     n/a      576   (48 hours)
       hours          24       96   (4 days)
       days           30       62   (2 full months)
       months         12       25   (2 full years)
       years         n/a      all
       top days       10       20

お急ぎの方はインストール後ここから...

入れたら etc/rc.conf へ enable を追加し vnstat.conf へウォッチするインタフェースを登録します

# sysrc vnstat_enable="YES"
vnstat_enable:  -> YES
# vi /usr/local/etc/vnstat.conf

として Interface "em0" などと自分のハードウェア環境に合わせて調整します

# vnStat 2.6 config file
##

# default interface (leave empty for automatic selection)
Interface "em0" #←ココをウォッチする interface 名へ変更

(後略)

このままだと自動実行スクリプト /user/local/etc/rc.d/vnstat start で起動が出来ません
下記の手順で dump database を作成してその後に権限を調整する必要があります

# vnstatd -d
# chown -R vnstat:vnstat /var/lib/vnstat
# chown -R vnstat:vnstat /var/run/vnstat

owner 変更後に再度 vnstatd -d をすると root:wheel に戻りますので注意が必要です
正しい状態になっているかどうかは自動実行スクリプトで再起動コマンドを入れると良いでしょう

# /usr/local/etc/rc.d/vnstat restart

ここで database ファイルの所有者がrootのままだと

Error: Exec step failed (8: attempt to write a readonly database): "update info set value='2.6' where name='vnstatversion'"
Error: Failed to open database "/var/lib/vnstat/vnstat.db" in read/write mode.

となり、pidデータ格納場所の所有者がrootのままだと

Error: pidfile: Permission denied

となって起動出来ませんが、両方とも適切ならば

# /usr/local/etc/rc.d/vnstat restart
Stopping vnstat.
Waiting for PIDS: *****.
Starting vnstat.

などと表示されて daemon が適切に動くようになります

以上


RAJ商会 May.2020