vnStat - a network traffic monitor for Linux and BSD - Humdi.net
...というわけでちょっとハマったのでメモっときます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 が適切に動くようになります
以上