Автор Тема: vnstat  (Прочитано 8213 раз)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: vnstat
« Ответ #15 : 01.01.2014 23:07:01 »
После перезагрузки ОС не в ps -e, не в top crond не нахожу, после:
/etc/init.d/crond start     #появляются и там, и там в самом низу.

Всё зависит от того, через что у вас инициализация, через sysvinit или poettering-manager.

В sysvinit:
# ps -eo pid,user,args|grep cron
 7095 root     /usr/sbin/crond -l 2.5
# chkconfig --list|grep cron
crond           0:выкл  1:выкл  2:вкл   3:вкл   4:вкл   5:вкл   6:выкл
# service crond status
crond is running
# ls -l $(find /etc/ -name *crond|grep rc)
-rwxr-xr-x 1 root root 1665 сен 20  2011 /etc/rc.d/init.d/crond
lrwxrwxrwx 1 root root   15 ноя  4 14:02 /etc/rc.d/rc0.d/K60crond -> ../init.d/crond
lrwxrwxrwx 1 root root   15 ноя  4 14:02 /etc/rc.d/rc1.d/K60crond -> ../init.d/crond
lrwxrwxrwx 1 root root   15 дек 12 22:36 /etc/rc.d/rc2.d/S40crond -> ../init.d/crond
lrwxrwxrwx 1 root root   15 дек 12 22:36 /etc/rc.d/rc3.d/S40crond -> ../init.d/crond
lrwxrwxrwx 1 root root   15 дек 12 22:36 /etc/rc.d/rc4.d/S40crond -> ../init.d/crond
lrwxrwxrwx 1 root root   15 дек 12 22:36 /etc/rc.d/rc5.d/S40crond -> ../init.d/crond
lrwxrwxrwx 1 root root   15 ноя  4 14:02 /etc/rc.d/rc6.d/K60crond -> ../init.d/crond
# rpm -ql vixie-cron|head -n 10
/etc/at.allow
/etc/at.deny
/etc/cron.allow
/etc/cron.d
/etc/cron.deny
/etc/crontab.template
/etc/pam.d/crond
/etc/rc.d/init.d/crond
/etc/sysconfig/limits.d/crond
/lib/systemd/system/crond.service
# rpm -ql vnstat|head -n 3
/etc/control.d/facilities/vnstat
/etc/cron.d/vnstat
/etc/vnstat.conf

По-поводу vnstat.conf в системе с ljonchik-init:
Поттеринга обуял NIH-синдром и он решил что все интерфейсы надо срочно переименовать.
Поэтому соответственно:
# cat /etc/vnstat.conf|head -n 5
# vnStat 1.11 config file
##

# default interface
Interface "eth0"
И 'vnstat --help'.

На предмет:
Думал,служба, как в Debian'e: /etc/init.d/vnstat status
так и не понял что делать с /etc/cron.d/vnstat .
Если пришли с Дебьян Визи, рекомендую познакомиться с шапкой 'man chkconfig'.
Формат команд в Дебьян и АЛьТе несущественно чуть-чуть отличается.
Дальше ман можно и не читать. Сало то же. Только в профиль.


/etc/init.d/crond start

Если в системе systemd, эта команда помогает обойти все костыли systemd посылая systemd в игнор, но она не скажет, может ли сервис быть запущеным на старте системы автоматом.
Насколько знаю:
кентавр сервер - sysvinit
кентавр десктоп - poettering-manager

Вроде бы в системе с systemd должен быть установлен и пакет:
$ apt-cache search sysvinit|grep systemd|tail -n 1
systemd-sysvinit - systemd System V init tools

Команда
# chkconfig --list
при установленном vixie-cron скажет, через что доступен сервис crond, через инит или поттеринга.
Она  там даже предупреждение вывалит в случае чего.
А команда
# service crond start
вообще пошлет подальше если в системе не инит, а поттеринг и crond через sysvinit недоступен.

В системе с sysvinit при установленных vixie-cron и vnstat:
# chkconfig crond on # если не включен
# service crond restart # если уже работает, чтобы подхватил vnstat без ребута

В системе с systemd, если crond через сервисы sysvinit недоступен, брать poettering-manager, брать бубен, и стучать им в создателя системного менеджера, пока не нарисуются команды.
« Последнее редактирование: 01.01.2014 23:53:32 от Speccyfighter »

tuman50

  • Гость
Re: vnstat
« Ответ #16 : 02.01.2014 09:12:39 »
Куда идти: Simply+vnstat или Kdesktop+knemo?

Оффлайн Salomatin

  • Модератор раздела
  • ****
  • Сообщений: 984
    • Пошаговые инструкции
Re: vnstat
« Ответ #17 : 02.01.2014 10:43:10 »
Куда идти: Simply+vnstat или Kdesktop+knemo?

Учёт трафика.

Любая система + NETAMS 4.0

http://forum.altlinux.org/index.php/topic,29124.msg204029.html#msg204029
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

tuman50

  • Гость
Re: vnstat
« Ответ #18 : 02.01.2014 12:43:46 »
Salomatin, спасибо. Такой программы при поиске вроде не попадалось, надо будет посмотреть.
Speccyfighter, спасибо за информацию, распечатаю потренеруюсь. А systemd в top как в танке. Завтра снимут деньги, желательно запустить счётчик сегодня вечером. Всем чего хочется в Новом 2014!

tuman50

  • Гость
Re: vnstat
« Ответ #19 : 02.01.2014 18:10:44 »
Командами  service crond start chkconfig crond on запустился crond, после перезагрузки ОС процесс сохраняется, но vnstat не запускается.

Спойлер
[root@valya ~]# ps -eo pid,user,args|grep cron
  871 root     /usr/sbin/crond -n
 2662 root     grep --color=auto cron
[root@valya ~]# chkconfig --list|grep cron

Внимание: в выводе отображены только SysV службы (нативные службы systemd отсутствуют)
      конфигурация SysV  может быть сброшена нативной
      конфигураией systemd.

[root@valya ~]# service crond status
crond.service - Vixie Cron Daemon
   Loaded: loaded (/lib/systemd/system/crond.service; enabled)
   Active: active (running) since Чт 2014-01-02 15:53:07 YEKT; 10min ago
 Main PID: 871 (crond)
   CGroup: name=systemd:/system/crond.service
           └─871 /usr/sbin/crond -n

янв 02 15:55:01 valya crond[2651]: pam_tcb(crond:session): Session opened for vnstat by (uid=0)
янв 02 16:00:01 valya crond[2670]: pam_tcb(crond:session): Session opened for vnstat by (uid=0)
янв 02 16:01:01 valya crond[2682]: pam_tcb(crond:session): Session opened for root by (uid=0)
[root@valya ~]# ls -l $(find /etc/ -name *crond|grep rc)
-rwxr-xr-x 1 root root 1665 сен 20  2011 /etc/rc.d/init.d/crond
lrwxrwxrwx 1 root root   15 июл 22 07:24 /etc/rc.d/rc0.d/K60crond -> ../init.d/crond
lrwxrwxrwx 1 root root   15 июл 22 07:24 /etc/rc.d/rc1.d/K60crond -> ../init.d/crond
lrwxrwxrwx 1 root root   15 июл 22 07:26 /etc/rc.d/rc2.d/K60crond -> ../init.d/crond
lrwxrwxrwx 1 root root   15 июл 22 07:26 /etc/rc.d/rc3.d/K60crond -> ../init.d/crond
lrwxrwxrwx 1 root root   15 июл 22 07:26 /etc/rc.d/rc4.d/K60crond -> ../init.d/crond
lrwxrwxrwx 1 root root   15 июл 22 07:26 /etc/rc.d/rc5.d/K60crond -> ../init.d/crond
lrwxrwxrwx 1 root root   15 июл 22 07:24 /etc/rc.d/rc6.d/K60crond -> ../init.d/crond
[root@valya ~]# rpm -ql vixie-cron|head -n 10
/etc/at.allow
/etc/at.deny
/etc/cron.allow
/etc/cron.d
/etc/cron.deny
/etc/crontab.template
/etc/pam.d/crond
/etc/rc.d/init.d/crond
/etc/sysconfig/limits.d/crond
/lib/systemd/system/crond.service
[root@valya ~]# rpm -ql vnstat|head -n 3
/etc/control.d/facilities/vnstat
/etc/cron.d/vnstat
/etc/vnstat.conf
[root@valya ~]# cat /etc/vnstat.conf|head -n 5
# vnStat 1.11 config file
##

# default interface
Interface "eth0"
[root@valya ~]# vnstat --help
 vnStat 1.11 by Teemu Toivola <tst at iki dot fi>

         -q,  --query          query database
         -h,  --hours          show hours
         -d,  --days           show days
         -m,  --months         show months
         -w,  --weeks          show weeks
         -t,  --top10          show top10
         -s,  --short          use short output
         -u,  --update         update database
         -i,  --iface          select interface (default: eth0)
         -?,  --help           short help
         -v,  --version        show version
         -tr, --traffic        calculate traffic
         -ru, --rateunit       swap configured rate unit
         -l,  --live           show transfer rate in real time

See also "--longhelp" for complete options list and "man vnstat".
[root@valya ~]#  chkconfig --list

Внимание: в выводе отображены только SysV службы (нативные службы systemd отсутствуют)
      конфигурация SysV  может быть сброшена нативной
      конфигураией systemd.

bacula-dir        0:выкл   1:выкл   2:выкл   3:выкл   4:выкл   5:выкл   6:выкл
bacula-fd         0:выкл   1:выкл   2:выкл   3:выкл   4:выкл   5:выкл   6:выкл
bacula-sd         0:выкл   1:выкл   2:выкл   3:выкл   4:выкл   5:выкл   6:выкл
bridge            0:выкл   1:выкл   2:выкл   3:выкл   4:выкл   5:выкл   6:выкл
consolesaver      0:выкл   1:выкл   2:выкл   3:выкл   4:выкл   5:выкл   6:выкл
ethtool           0:выкл   1:выкл   2:выкл   3:выкл   4:выкл   5:выкл   6:выкл
lm_sensors        0:выкл   1:выкл   2:выкл   3:выкл   4:выкл   5:выкл   6:выкл
openvpn           0:выкл   1:выкл   2:выкл   3:выкл   4:выкл   5:выкл   6:выкл
rawdevices        0:выкл   1:выкл   2:выкл   3:выкл   4:выкл   5:выкл   6:выкл
syslogd           0:выкл   1:выкл   2:выкл   3:выкл   4:выкл   5:выкл   6:выкл
xinetd            0:выкл   1:выкл   2:выкл   3:выкл   4:выкл   5:выкл   6:выкл
[root@valya ~]# service crond start
[root@valya ~]#  chkconfig crond on
Внимание: Отправляется запрос 'systemctl enable crond.service'.
[root@valya ~]#  service crond restart
[root@valya ~]# vnstat -i ppp0
 ppp0: Not enough data available yet.
[root@valya ~]# /etc/init.d/crond start
Service crond is already running.                                                           [PASSED]
[root@valya ~]# vnstat -i ppp0
 ppp0: Not enough data available yet.
[root@valya ~]#

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 368
Re: vnstat
« Ответ #20 : 02.01.2014 23:01:23 »
# service crond restart # если уже работает, чтобы подхватил vnstat без ребута
Это давно не надо, vixie-cron отслеживает изменения файлов и подхватывает сам. С какой версии не скажу, но в бранче 4.0 уже было так.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: vnstat
« Ответ #21 : 03.01.2014 02:45:01 »
Командами  service crond start chkconfig crond on запустился crond, после перезагрузки ОС процесс сохраняется, но vnstat не запускается.

Сервер отдельно лежит в альтах:
rpm -qpl /var/cache/apt/archives/vnstat-server_1.11-alt1_i586.rpm
/etc/rc.d/init.d/vnstatd
/usr/sbin/vnstatd
/usr/share/man/man1/vnstatd.1.gz
/var/run/vnstatd

Описание особенностей демона vnstatd:
man ./usr/share/man/man1/vnstatd.1.gz |less -p DESCRIPT

Поднятие сервиса vnstatd:
man chkconfig | less -p SYNOP # sysvinit; systemctl ?

Скрипт
# cat /etc/cron.d/vnstat
MAILTO=
0-59/5 * * * * vnstat   [ -x /usr/bin/vnstat ] && [ `/bin/ls /var/lib/vnstat/ | /bin/wc -l` -ge 1 ] && /usr/bin/vnstat -u
каждые пять минут обрабатывается кроном, данные заносятся в базу.
vnstat отработал и ушёл. И так каждые пять минут (man 5 crontab).
Пользователь группы vnstat читает данные из базы по интерфейсу default или напрямую указанному.
Чтобы считать данные по трафику через интерфейс, интерфейс должен быть поднят, а база создана.
# ip -a
# ifconfig
# создать базу по интерфейсу, если отсутствует
# обновить если существует, по интерфейсу

# vnstat -u -i INTERFACENAME # создать базу если отсутствует

Цитировать
man vnstat.conf

       Interface
              Default interface used when no other interface is specified on the command line. (vnstat and vnstati only)
...
FILES

/etc/vnstat.conf
    Config file that will be used unless $HOME/.vnstatrc exists or alternative value is given as command line parameter.

Трафик:
$ vnstat -d

 eth0  /  daily

         day         rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
...
      01/02/14    110.84 MiB |   18.79 MiB |  129.63 MiB |   12.97 kbit/s

Через некоторое время:
$ vnstat -d

 eth0  /  daily

         day         rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
...
      01/02/14    116.00 MiB |   19.60 MiB |  135.60 MiB |   12.86 kbit/s
...

vnstatd более гибок, но ещё раз, об особенностях:
man vnstatd |less -p DESCRIPT


Тут можно посмотреть если что:
http://www.sisyphus.ru/ru/srpm/Sisyphus/vnstat
http://humdi.net/vnstat/

И тут по ссылкам осторожненько с оглядкой на альты:
« Последнее редактирование: 03.01.2014 03:29:46 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: vnstat
« Ответ #22 : 03.01.2014 03:39:32 »
# service crond restart # если уже работает, чтобы подхватил vnstat без ребута
Это давно не надо, vixie-cron отслеживает изменения файлов и подхватывает сам. С какой версии не скажу, но в бранче 4.0 уже было так.

Ага, спасибо, как-то упустил.

tuman50

  • Гость
Re: vnstat
« Ответ #23 : 03.01.2014 10:20:34 »
После запуска crond, vnstat вроде начал оживать, но после перезапуска vnstat:

Если же возникнет желание стереть (сбросить) всю собранную статистику и начать отсчёт с нуля, то, на мой взгляд, самый простой способ это сделать:
остановить подсчёт статистики для используемого интерфейса:
vnstat -i интерфейс -u -r --disable
удалить базу данных с собранной статистики (файл /var/lib/vnstat/интерфейс)
создать новую базу данных с помощью
vnstat -u -i интерфейс
 и радоваться начатой заново жизни

Но радости не много, vnstat выдаёт первичную информацию, считать же дальше не хочет, и в Simply, и в Centaurus. При повторном:

vnstat -u -i ppp0

меняется только дата обновления в таблице. Файлы .ppp0 и ppp0 в /var/lib/vnstat присутствуют, размер файлов не изменяется при загрузки информации из интернета, нет связки ppp0 cron vnstat. Попробую ещё вашими молитвами, но мои кривые ручки...
Перешёл на Kdesktop + knemo, здесь с арифметикой всё в порядке.

tuman50

  • Гость
Re: vnstat
« Ответ #24 : 03.01.2014 18:30:08 »
Skull правильно сказал, vnstat не для ползавателя, запутался совсем...
Поставил vnstat-server, подгружаю vnstatd командами: service vnstatd start ; vnstatd -d ; /etc/rc.d/init.d/vnstatd, vnstatd подгружается, но после перезагрузки ОС слетает, и сказать с уверенностью что vnstat работает нормально,когда запущен vnstatd, не могу:

Спойлер
[root@valya ~]# service vnstatd status
vnstatd.service - LSB: This shell script starts and stops vnstatd daemon
   Loaded: loaded (/etc/rc.d/init.d/vnstatd)
   Active: inactive (dead)

янв 03 15:28:58 valya su[3003]: pam_tcb(su:session): Session opened for vnstat by (uid=0)
янв 03 15:28:58 valya vnstatd[3063]: vnStat daemon 1.11 started.
янв 03 15:28:58 valya vnstatd[3063]: Monitoring: ppp0
янв 03 15:28:58 valya vnstatd[2993]: Starting vnstatd service: [ DONE ]
янв 03 15:28:58 valya systemd[1]: Started LSB: This shell script starts and stops vnstatd daemon.
янв 03 15:33:58 valya vnstatd[3063]: Error: Unable to write database "/var/lib/vnstat/ppp0".
янв 03 15:33:58 valya vnstatd[3063]: Error: Unable to write database, continuing with cache...ta.
янв 03 15:34:46 valya systemd[1]: Stopping LSB: This shell script starts and stops vnstatd...n...
янв 03 15:34:46 valya vnstatd[3089]: Stopping vnstatd service: [ DONE ]
янв 03 15:34:46 valya systemd[1]: Stopped LSB: This shell script starts and stops vnstatd daemon.
[root@valya ~]# service vnstatd start
[root@valya ~]# service vnstatd status
vnstatd.service - LSB: This shell script starts and stops vnstatd daemon
   Loaded: loaded (/etc/rc.d/init.d/vnstatd)
   Active: active (running) since Пт 2014-01-03 16:02:39 YEKT; 12s ago
  Process: 3049 ExecStart=/etc/rc.d/init.d/vnstatd start (code=exited, status=0/SUCCESS)
 Main PID: 3119 (vnstatd)
   CGroup: name=systemd:/system/vnstatd.service
           └─3119 /usr/sbin/vnstatd -d --pidfile /var/run/vnstatd//vnstatd.pid

янв 03 16:02:39 valya systemd[1]: Starting LSB: This shell script starts and stops vnstatd...n...
янв 03 16:02:39 valya su[3059]: pam_tcb(su:session): Session opened for vnstat by (uid=0)
янв 03 16:02:39 valya vnstatd[3119]: vnStat daemon 1.11 started.
янв 03 16:02:39 valya vnstatd[3119]: Monitoring: ppp0
янв 03 16:02:39 valya vnstatd[3049]: Starting vnstatd service: [ DONE ]
янв 03 16:02:39 valya systemd[1]: Started LSB: This shell script starts and stops vnstatd daemon.
[root@valya ~]#

Спишем на моё 64 раза негодное железо, и Debian 7.0 посыпался на нём, и не только... А Альты ничего пока держатся.

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
Re: vnstat
« Ответ #25 : 03.01.2014 18:58:14 »
vnstatd подгружается, но после перезагрузки ОС слетает
Ну, так активируйте службу (если только это служба), чтобы запускалась при старте системы. Если это просто скрипт (бинарник), то /etc/rc.d/rc.local даже systemd ещё не отменил.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 368
Re: vnstat
« Ответ #26 : 04.01.2014 16:41:55 »
подгружаю vnstatd командами: service vnstatd start ; vnstatd -d ; /etc/rc.d/init.d/vnstatd
В смысле ? Вот прямо всеми сразу ?!
Спишем на моё 64 раза негодное железо
Всё же, лучше понять, как и что в Linux работает. Потому как неработоспособность может проистекать из этого незнания.

Кстати, а почему именно vnstat ? В каком виде нужна информация о трафике ?
« Последнее редактирование: 04.01.2014 16:51:46 от asy »

Оффлайн Stanislav99

  • Участник
  • *
  • Сообщений: 5
Re: vnstat
« Ответ #27 : 04.01.2014 19:54:43 »
Читаю и понимаю, что системд надо как-то осиливать. Мда...
Возникает желание ликвидировать источник заразы
« Последнее редактирование: 04.01.2014 19:56:34 от Stanislav99 »

tuman50

  • Гость
Re: vnstat
« Ответ #28 : 04.01.2014 20:37:21 »
Нужно ли только кому?
Ставим vnstat:
Спойлер
# apt-get install vnstat vnstat-server vnstat-vnstati

Добавить пользователя в группу:

# usermod -a -G vnstat userlogin

Проверяем запущены ли процессы:

[serg@valya ~]$ pgrep -l crond
962 crond
[serg@valya ~]$ pgrep -l vnstatd
2852 vnstatd
[serg@valya ~]$

Первый запуск(интерфейс ppp0 должен быть запущен):

# vnstat -u -i ppp0

Просмотр информации через 10-15 минут,должно идти загрузка :

$ vnstat -i ppp0

Database updated: Sat Jan  4 20:51:52 2014

   ppp0 [disabled] since 01/04/14

          rx:  2.65 MiB      tx:  484 KiB      total:  3.12 MiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Jan '14      2.65 MiB |     484 KiB |    3.12 MiB |    0.08 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        --     |      --     |      --     |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
         today      2.65 MiB |     484 KiB |    3.12 MiB |    0.34 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        --     |      --     |      --     |
 
Перезапуск vnstat:

# vnstat -i ppp0 --delete

Удаляем файлы ppp0 и .ppp0 из /var/lib/vnstat/
 
# vnstat -u -i ppp0

Так должно было работать, но у меня не заработало. Пришлось запускать службы:

# /etc/rc.d/init.d/crond start

# /etc/rc.d/init.d/vnstatd start

Но одного vnstatd оказалось мало, пришлось запустить ещё один командой:

vnstatd -d

Всё программа заработала, но при перезагрузке ОС службы vnstatd не перезапускались. Помог файл rc.local:

/etc/rc.d/rc.local - это исполняемый файл, который исполняется при  запуске  системы в последнюю очередь. делаете от рута: 
cat >>/etc/rc.d/rc.local 
прописывать команды
или адрес скрипта для исполнения
(ctrl+d) 
потом
chmod a+x /etc/rc.d/rc.local

Содержание файла:

#!/bin/bash
sleep 3
/etc/rc.d/init.d/vnstatd start
sleep 1
vnstatd -d

Теперь кажется всё. Сравнил показания с ifconfig похоже совпадают. Но вопрос остался: машина 64-ёхбитная, а vnstatd 32-ух и понадобилось два экземпляра? Шутка!

Оффлайн Salomatin

  • Модератор раздела
  • ****
  • Сообщений: 984
    • Пошаговые инструкции
Re: vnstat
« Ответ #29 : 05.01.2014 20:19:13 »
Нужно ли только кому?
Вы немного перемудрили.
Посмотрите
http://forum.altlinux.org/index.php/topic,31073.msg221199.html#msg221199
там еще веб морду запускать можно.
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"