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

Print Friendly, PDF & Email

Задача:

Устранить ошибку при установке 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:/ #

Помогла статья? Есть возможность отблагодарить автора

QR Link:

QR Code

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *