Ошибка при установка vnStat в FreeBSD

Задача:
---------------------------------------------------------------Устранить ошибку при установке vnStat (мониторинга сетевой активности) и настроить его в операционной системе FreeBSD
Основная цель, найти решение ошибки возникающей в процессе установки. Устанавливать vnStat будем при помощи менеджера пакетов pkg. Я уже частично касался его в статье: “pkg – Утилита управления пакетами во FreeBSD“
root@ws1:/ # pkg install vnstat Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date. Checking integrity... done (0 conflicting) The following 1 package(s) will be affected (of 0 checked): New packages to be INSTALLED: vnstat: 2.6_1 Number of packages to be installed: 1 Proceed with this action? [y/N]: y [1/1] Installing vnstat-2.6_1... ===> Creating groups. Using existing group 'vnstat'. ===> Creating users Creating user 'vnstat' with uid '284'. pw: user 'vnstat' disappeared during update pkg: PRE-INSTALL script failed root@ws1:/ #
Ошибка связана с созданием сервисного пользователя vnstat. В системе FreeBSD всего четыре файла отвечают за пользователей системы. Подробнее: “Работа с пользователями в системе FreeBSD“.
Устраняется ошибка всего одной командой и связанно она с разностью данных в файлах.
root@ws1:/ # pwd_mkdb -p /etc/master.passwd root@ws1:/ #
Пробуем повторно установить
root@ws1:/ # pkg install vnstat Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date. Checking integrity... done (0 conflicting) The following 1 package(s) will be affected (of 0 checked): New packages to be INSTALLED: vnstat: 2.6_1 Number of packages to be installed: 1 Proceed with this action? [y/N]: y [1/1] Installing vnstat-2.6_1... ===> Creating groups. Using existing group 'vnstat'. ===> Creating users Using existing user 'vnstat'. [1/1] Extracting vnstat-2.6_1: 100% ===== Message from vnstat-2.6_1: -- vnstat has been installed. A sample configuration file has been installed in /usr/local/etc/ Please add your default network interface in the 'Interface' line there before starting vnstat service. For more information about vnStat use "man vnstat" or visit: http://humdi.net/vnstat/ root@ws1:/ #
Запускаем
root@ws1:/ # vnstat Error: Unable to open database directory "/var/lib/vnstat": No such file or directory The vnStat daemon should have created this directory when started. Check that it is configured and running. See also "man vnstatd". root@ws1:/ #
Рабочий конфиг с примерами и рабочий находятся по адресу “/usr/local/etc/”
root@ws1:/ # ls -l /usr/local/etc/ | grep vnstat -rw-r--r-- 1 root wheel 4589 Oct 25 07:29 vnstat.conf -rw-r--r-- 1 root wheel 4589 Oct 25 07:29 vnstat.conf.sample root@ws1:/ #
Ошибка первого запуска связанно с отсутствием директории. Создаём, выдаём необходимые права и пробуем опять посмотреть вывод команды vnstat
root@ws1:/ # mkdir /var/lib/vnstat root@ws1:/ # chown -R vnstat /var/lib/vnstat root@ws1:/ # vnstat Error: Failed to open database "/var/lib/vnstat/vnstat.db" in read-only mode. The vnStat daemon should have created the database when started. Check that it is configured and running. See also "man vnstatd". root@ws1:/ #
Смотрим вывод команды vnstatd и запускаем vnstat в режиме службы
root@ws1:/ # vnstatd vnStat daemon 2.6 by Teemu Toivola <tst at iki dot fi> -d, --daemon fork process to background -n, --nodaemon stay in foreground attached to the terminal -s, --sync sync interface counters on first update -D, --debug show additional debug and disable daemon -?, --help show this help -v, --version show version -p, --pidfile <file> select used pid file -u, --user <user> set daemon process user -g, --group <group> set daemon process group --config <config file> select used config file --noadd don't add found interfaces if no dbs are found --alwaysadd always add new interfaces even when some dbs exist See also "man vnstatd". root@ws1:/ # vnstatd -d --config /usr/local/etc/vnstat.conf No interfaces found in database, adding available interfaces... Interface "vtnet0" added with 1000 Mbit bandwidth limit. Interface "pflog0" added with 1000 Mbit bandwidth limit. -> 2 new interfaces found. Limits can be modified using the configuration file. See "man vnstat.conf". Unwanted interfaces can be removed from monitoring with "vnstat --remove". root@ws1:/ #
При попытке посмотреть вывод vnstat, получаем ошибку о недостаточности данных
root@ws1:/ # vnstat rx / tx / total / estimated pflog0: Not enough data available yet. vtnet0: Not enough data available yet. root@ws1:/ #
Проверяем работает ли vnstat
root@ws1:/ # ps auxww | grep vnstat root 24666 0.0 0.2 13880 4128 - Ss 17:39 0:00.07 vnstatd -d --config /usr/local/etc/vnstat.conf root 24754 0.0 0.1 11288 2148 0 S+ 17:58 0:00.00 grep vnstat root@ws1:/ #
Смотрим вывод спустя минут 10
root@ws1:/ # vnstat Database updated: 2020-11-29 18:35:00 vtnet0 since 2020-11-29 rx: 596.07 KiB tx: 670.25 KiB total: 1.24 MiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- 2020-11 596.07 KiB | 670.25 KiB | 1.24 MiB | 4 bit/s ------------------------+-------------+-------------+--------------- estimated -- | -- | -- | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- today 596.07 KiB | 670.25 KiB | 1.24 MiB | 155 bit/s ------------------------+-------------+-------------+--------------- estimated 769 KiB | 865 KiB | 1.60 MiB | root@ws1:/ #
Добавляем задание в планировщик CRON на запуск каждые 5 минут.
root@ws1:/ # crontab -e
Проверяем изменения в cron
root@ws1: # crontab -l 0 0,12 * * * /usr/local/bin/certbot renew * * * * * cd /data/osbsd_com; php wp-cron.php doing_wp_cron > /dev/null 2>&1 */5 * * * * /usr/local/bin/vnstat -u root@ws1: #
Вывод справки vnStat
root@ws1:/ # vnstat --help vnStat 2.6 by Teemu Toivola <tst at iki dot fi> -5, --fiveminutes [limit] show 5 minutes -h, --hours [limit] show hours -hg, --hoursgraph show hours graph -d, --days [limit] show days -m, --months [limit] show months -y, --years [limit] show years -t, --top [limit] show top days -b, --begin <date> set list begin date -e, --end <date> set list end date --oneline [mode] show simple parsable format --json [mode] [limit] show database in json format --xml [mode] [limit] show database in xml format -tr, --traffic [time] calculate traffic -l, --live [mode] show transfer rate in real time -i, --iface <interface> select interface Use "--longhelp" or "man vnstat" for complete list of options. root@ws1:/ # vnstat --longhelp vnStat 2.6 by Teemu Toivola <tst at iki dot fi> Query: -q, --query query database -s, --short use short output -5, --fiveminutes [limit] show 5 minutes -h, --hours [limit] show hours -hg, --hoursgraph show hours graph -d, --days [limit] show days -m, --months [limit] show months -y, --years [limit] show years -t, --top [limit] show top days -b, --begin <date> set list begin date -e, --end <date> set list end date --oneline [mode] show simple parsable format --json [mode] [limit] show database in json format --xml [mode] [limit] show database in xml format Modify: --add add interface to database --remove remove interface from database --rename <name> rename interface in database --setalias <alias> set alias for interface Misc: -i, --iface <interface> select interface -?, --help show short help -D, --debug show some additional debug information -v, --version show version -tr, --traffic [time] calculate traffic -l, --live [mode] show transfer rate in real time -ru, --rateunit [mode] swap configured rate unit --limit <limit> set output entry limit --style <mode> select output style (0-4) --iflist show list of available interfaces --dbdir <directory> select database directory --locale <locale> set locale --config <config file> select config file --showconfig dump config file with current settings --longhelp show this help See also "man vnstat" for longer descriptions of each option. root@ws1:/ #
Несколько примеров вывода vnstat:
Вывод статистики vnStat по часам в графическом виде
root@ws1:/ # vnstat -hg vtnet0 18:25 ^ t | t | t | t | t t | t t | t t | t t | t t | t t -+---------------------------------------------------------------------------> | 19 20 21 22 23 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 h rx (KiB) tx (KiB) ][ h rx (KiB) tx (KiB) ][ h rx (KiB) tx (KiB) 19 0.0 0.0 ][ 03 0.0 0.0 ][ 11 0.0 0.0 20 0.0 0.0 ][ 04 0.0 0.0 ][ 12 0.0 0.0 21 0.0 0.0 ][ 05 0.0 0.0 ][ 13 0.0 0.0 22 0.0 0.0 ][ 06 0.0 0.0 ][ 14 0.0 0.0 23 0.0 0.0 ][ 07 0.0 0.0 ][ 15 0.0 0.0 00 0.0 0.0 ][ 08 0.0 0.0 ][ 16 0.0 0.0 01 0.0 0.0 ][ 09 0.0 0.0 ][ 17 823.3 7444.3 02 0.0 0.0 ][ 10 0.0 0.0 ][ 18 1058.3 11342.7 root@ws1:/ #
Вывод статистики в реальном времени
root@ws1:/ # vnstat -l Monitoring vtnet0... (press CTRL-C to stop) rx: 216 bit/s 0 p/s tx: 1.02 kbit/s 1 p/s
Вывод статистики vnStat за последние 5 минут
root@ws1:/ # vnstat -5 vtnet0 / 5 minute time rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- 2020-11-29 17:35 217 B | 250 B | 467 B | 12 bit/s 17:40 197.77 KiB | 1.42 MiB | 1.61 MiB | 44.99 kbit/s 17:45 204.09 KiB | 2.43 MiB | 2.63 MiB | 73.53 kbit/s 17:50 203.15 KiB | 1.71 MiB | 1.91 MiB | 53.36 kbit/s 17:55 218.09 KiB | 1.71 MiB | 1.93 MiB | 53.86 kbit/s 18:00 144.80 KiB | 291.47 KiB | 436.27 KiB | 11.91 kbit/s 18:05 169.99 KiB | 557.05 KiB | 727.05 KiB | 19.85 kbit/s 18:10 336.20 KiB | 4.86 MiB | 5.19 MiB | 145.12 kbit/s 18:15 99.94 KiB | 276.70 KiB | 376.64 KiB | 10.28 kbit/s 18:20 307.41 KiB | 5.12 MiB | 5.42 MiB | 151.46 kbit/s ------------------------+-------------+-------------+--------------- root@ws1:/ #
Просмотр статистики на интерфейсе vtnet0 за день
root@ws1:/ # vnstat -i vtnet0 -d vtnet0 / daily day rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- 2020-11-29 1.11 MiB | 8.10 MiB | 9.21 MiB | 1.18 kbit/s ------------------------+-------------+-------------+--------------- estimated 1.47 MiB | 10.70 MiB | 12.17 MiB | root@ws1:/ #
Свежие комментарии