[SOLVED]Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Tutaj można zadać pytanie, jeśli Linuksa widzi się pierwszy raz w życiu ;)
Awatar użytkownika
bodzioboss
Sędziwy Jeż
Sędziwy Jeż
Posty: 71
Rejestracja: 07 maja 2007, 18:41
Płeć: Mężczyzna
Wersja Ubuntu: 17.10
Środowisko graficzne: Xfce
Architektura: x86

[SOLVED]Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: bodzioboss »

Witam.

W swoim conky używam połączenia z vnstat do odczytu transferu.
Zastanawia mnie czy jest możliwość "wyciągnięcia" z vnstat jaki mam upload i download z ostatnich 30 dni.
Jeżeli jest taka możliwośc czy może mi ktoś podpowiedzieć jak to zrobić?

Obecnie wyświetlają mi się transfery w danym miesiącu:

Kod: Zaznacz cały

${color1}Month:$color${goto 60}${execi 10 vnstat -m | grep "`date +"'%y"`" | tail -1 | awk '{print $3 $4}'}${goto 150}${color1}Month:$color${goto 210}${execi 10 vnstat -m | grep "`date +"'%y"`" | tail -1 | awk '{print $6 $7}'}  RAZEM: ${execi 300 vnstat -m | grep "`date +"%b
'%y"`" | awk '{print $9 $10}'}
Chciałbym aby pokazywał zawsze transfery z ostatnich 30 dni.

Dzięki za pomoc.

Pozdrawiam
Ostatnio zmieniony 22 lut 2014, 12:04 przez bodzioboss, łącznie zmieniany 4 razy.
Mały 1
Zakręcona Traszka
Zakręcona Traszka
Posty: 548
Rejestracja: 24 sty 2008, 15:55
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: LXDE
Architektura: x86_64

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: Mały 1 »

Podaj wynik:

Kod: Zaznacz cały

vnstat -m
norvoles
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1113
Rejestracja: 04 sty 2008, 20:58
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: norvoles »

Kod: Zaznacz cały

vnstat -d --oneline
Wyświetli dane w jednej linii. Możesz to sobie potem łatwo powycinać potrzebne dane.
Awatar użytkownika
rom
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1309
Rejestracja: 30 cze 2009, 14:58
Płeć: Mężczyzna
Wersja Ubuntu: 14.04
Środowisko graficzne: Xfce
Architektura: x86

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: rom »

Znalazłem to http://askubuntu.com/questions/15836/ho ... in-a-month W drugim poście jest link do strony z programem Network Traffic Monitor. Niestety ostatnia aktualizacja była w 2011.

edycja:
Coś nowszego (na screenach jest Unity), jest w repo http://iloveubuntu.net/easily-monitor-y ... are-center

Ekhm, nie doczytałem że to do conky...
Ostatnio zmieniony 18 sty 2014, 17:20 przez rom, łącznie zmieniany 1 raz.
także = też
tak że = więc
Mały 1
Zakręcona Traszka
Zakręcona Traszka
Posty: 548
Rejestracja: 24 sty 2008, 15:55
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: LXDE
Architektura: x86_64

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: Mały 1 »

I podaj jeszcze:

Kod: Zaznacz cały

vnstat -d
Awatar użytkownika
bodzioboss
Sędziwy Jeż
Sędziwy Jeż
Posty: 71
Rejestracja: 07 maja 2007, 18:41
Płeć: Mężczyzna
Wersja Ubuntu: 17.10
Środowisko graficzne: Xfce
Architektura: x86

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: bodzioboss »

jeżeli chodzi o vnstat -d:

Kod: Zaznacz cały

bogdan@bogdan-System-Product-Name:~$ vnstat -d

 ppp0  /  daily

         day         rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
      01/13/14     46.04 MiB |    9.68 MiB |   55.72 MiB |    5.28 kbit/s
      01/14/14    163.61 MiB |   25.22 MiB |  188.83 MiB |   17.90 kbit/s
      01/15/14    256.28 MiB |  115.49 MiB |  371.77 MiB |   35.25 kbit/s
      01/16/14    258.68 MiB |   24.47 MiB |  283.15 MiB |   26.85 kbit/s
      01/17/14    119.45 MiB |   19.82 MiB |  139.27 MiB |   13.20 kbit/s
      01/18/14    110.34 MiB |   15.89 MiB |  126.23 MiB |   12.52 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated       115 MiB |      15 MiB |     130 MiB |
bogdan@bogdan-System-Product-Name:~$ 
Jeżeli chodzi o vnstat -m:

Kod: Zaznacz cały

bogdan@bogdan-System-Product-Name:~$ vnstat -m

 ppp0  /  monthly

       month        rx      |     tx      |    total    |   avg. rate
    ------------------------+-------------+-------------+---------------
      Jan '14    955.86 MiB |  210.73 MiB |    1.14 GiB |    6.16 kbit/s
    ------------------------+-------------+-------------+---------------
    estimated      1.61 GiB |     362 MiB |    1.96 GiB |
bogdan@bogdan-System-Product-Name:~$ 
Jak wpisze vnstat -d --oneline:

Kod: Zaznacz cały

bogdan@bogdan-System-Product-Name:~$ vnstat -d --oneline
1;ppp0;01/18/14;111.80 MiB;16.05 MiB;127.84 MiB;12.64 kbit/s;Jan '14;955.86 MiB;210.73 MiB;1.14 GiB;6.16 kbit/s;955.86 MiB;210.73 MiB;1.14 GiB
bogdan@bogdan-System-Product-Name:~$ 
Jaka jest składnia do wyciągnięcia danych z ostatniej komendy.
Interesuje mnie sytuacja żeby zawsze pokazywał wartość z ostatnich 30 dni.
W zestawieniu miesięcznym pokazuje transfer od 1 dnia miesiąca od 0

Pozdrawiam
Mały 1
Zakręcona Traszka
Zakręcona Traszka
Posty: 548
Rejestracja: 24 sty 2008, 15:55
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: LXDE
Architektura: x86_64

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: Mały 1 »

Podam przykłady:
1.

Kod: Zaznacz cały

$ vnstat -d --oneline | awk -F ';' '{print "Pobrane: " $4}'
Pobrane: 21.38 MiB
2.

Kod: Zaznacz cały

vnstat -d --oneline | awk -F ';' '{print "Wysłane: " $5}'
Wysłane: 1.54 MiB
3.

Kod: Zaznacz cały

vnstat -d --oneline | awk -F ';' '{print "Razem: " $6}'
Razem: 22.92 MiB
4.

Kod: Zaznacz cały

vnstat -d --oneline | awk -F ';' '{print "Pobrane: " $4 "\t" "Wysłane: " $5 "\t" "Razem: " $6}'
Pobrane: 21.38 MiB	Wysłane: 1.54 MiB	Razem: 22.92 MiB
5.

Kod: Zaznacz cały

vnstat -d --oneline | awk -F ';' '{print "Pobrane: " $4 "\n" "Wysłane: " $5 "\n" "Razem: " $6}'
Pobrane: 21.38 MiB
Wysłane: 1.54 MiB
Razem: 22.92 MiB
Wszystko zależy jaki chcesz mieć układ wyświetlanych danych.
Awatar użytkownika
igotit4free
Przyjaciel
Przyjaciel
Posty: 6453
Rejestracja: 29 paź 2008, 22:51
Płeć: Mężczyzna
Architektura: x86_64
Lokalizacja: KRK

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: igotit4free »

Nie ma to jak raz na jakiś czas wynaleźć koło na nowo. :clap:
Może w wątku z konfigami conky coś się znajdzie? Pierwszy z brzegu konfig.
Windows 10 @ GA-P67A-D3-B3, i3-2100 3.10GHz, 8GB RAM, Gigabyte HD6850 1GB RAM
Android 7.0 @ Motorola Moto G4+
Mały 1
Zakręcona Traszka
Zakręcona Traszka
Posty: 548
Rejestracja: 24 sty 2008, 15:55
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: LXDE
Architektura: x86_64

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: Mały 1 »

igotit4free, podałeś link nie na temat. Autor chciał upload i download z ostatnich 30 dni.
Awatar użytkownika
bodzioboss
Sędziwy Jeż
Sędziwy Jeż
Posty: 71
Rejestracja: 07 maja 2007, 18:41
Płeć: Mężczyzna
Wersja Ubuntu: 17.10
Środowisko graficzne: Xfce
Architektura: x86

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: bodzioboss »

Właśnie przeglądam cały ten temat - może coś się znajdzie.

Mały1 - dzięki - teraz wiem jak wyciągnąć poszczególe dane.
Jak napisałeś wyżej - chodzi aby cały czas wyświetlany był transfer z ostatnich 30 dni.
Awatar użytkownika
igotit4free
Przyjaciel
Przyjaciel
Posty: 6453
Rejestracja: 29 paź 2008, 22:51
Płeć: Mężczyzna
Architektura: x86_64
Lokalizacja: KRK

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: igotit4free »

Faktycznie, nie zwróciłem uwagi na to:
bodzioboss pisze: Interesuje mnie sytuacja żeby zawsze pokazywał wartość z ostatnich 30 dni.
W zestawieniu miesięcznym pokazuje transfer od 1 dnia miesiąca od 0
Sorki, może jednak coś znajdziecie w podlinkowanym wątku. :oops:
Windows 10 @ GA-P67A-D3-B3, i3-2100 3.10GHz, 8GB RAM, Gigabyte HD6850 1GB RAM
Android 7.0 @ Motorola Moto G4+
Awatar użytkownika
bodzioboss
Sędziwy Jeż
Sędziwy Jeż
Posty: 71
Rejestracja: 07 maja 2007, 18:41
Płeć: Mężczyzna
Wersja Ubuntu: 17.10
Środowisko graficzne: Xfce
Architektura: x86

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: bodzioboss »

Przeglądałem google - i chyba bezpośrednio z vnstat nie da się wyciągnąć transferu z ostatnich 30 dni.

Potrzebne będzie chyba użycie bazy danych.

Ma ktoś jakieś pomysły?
namok
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1701
Rejestracja: 01 mar 2008, 12:21
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Unity
Architektura: x86_64
Kontakt:

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: namok »

bodzioboss pisze:Przeglądałem google - i chyba bezpośrednio z vnstat nie da się wyciągnąć transferu z ostatnich 30 dni.

Potrzebne będzie chyba użycie bazy danych.

Ma ktoś jakieś pomysły?
A sprawdzałeś polecenie

Kod: Zaznacz cały

vnstat --dumpdb
Z jakiego okresu masz dane?
Mały 1
Zakręcona Traszka
Zakręcona Traszka
Posty: 548
Rejestracja: 24 sty 2008, 15:55
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: LXDE
Architektura: x86_64

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: Mały 1 »

Jeżeli polecenie:

Kod: Zaznacz cały

vnstat -d
podaje wyniki dzienne za okres 30 dni to należy zrobić sumowanie tych wyników:
1.

Kod: Zaznacz cały

vnstat -d | awk '/[:digit:]\//{a+=$2}END{print "Pobrane przez ostatnie 30 dni: " a " MiB"}'
Pobrane przez ostatnie 30 dni: 25.46 MiB
2.

Kod: Zaznacz cały

vnstat -d | awk '/[:digit:]\//{a+=$5}END{print "Wysłane przez ostatnie 30 dni: " a " MiB"}'
Wysłane przez ostatnie 30 dni: 2.27 MiB
Sprawdź powyższe dwa polecenia u siebie i napisz, czy działają prawidłowo.

--------------------------------------------------------------------------------------------------------------
EDIT:

Natomiast jeżeli polecenie:

Kod: Zaznacz cały

vnstat -d
podaje wyniki dzienne za okres dłuższy niż 30 dni to należy zrobić sumowanie 30 wyników od końca:

1.

Kod: Zaznacz cały

vnstat -d | awk '/[:digit:]\//{ array[NR]=$2 } END { for (i=NR-29; i<=NR; i++) b+=array[i]; print "Pobrane przez ostatnie 30 dni: " b " MiB"}'
2.

Kod: Zaznacz cały

vnstat -d | awk '/[:digit:]\//{ array[NR]=$5 } END { for (i=NR-29; i<=NR; i++) b+=array[i]; print "Wysłane przez ostatnie 30 dni: " b " MiB"}'
Do czego potrzebujesz zsumowne wyniki za ostatnie 30 dni?
Ostatnio zmieniony 19 sty 2014, 21:33 przez Mały 1, łącznie zmieniany 2 razy.
Awatar użytkownika
bodzioboss
Sędziwy Jeż
Sędziwy Jeż
Posty: 71
Rejestracja: 07 maja 2007, 18:41
Płeć: Mężczyzna
Wersja Ubuntu: 17.10
Środowisko graficzne: Xfce
Architektura: x86

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: bodzioboss »

Chyba o to mi chodziło :) Sprawdze to za ok 24 dni bo w tej chwili statystyki mam od 7 dni.

Wynikła jednak mała nieścicłość ale tylko przy downloadzie (upload się pokrywa) - mianowicie
- vnstat -m - pokazuje mi 1,08 GB - czyli 1080 MiB
- vnstat sumowany - pokazuje mi 1106 MiB
namok
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1701
Rejestracja: 01 mar 2008, 12:21
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Unity
Architektura: x86_64
Kontakt:

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: namok »

Wczytaj się dokładnie w dokumentację bo 1106/1024=1,080078125.
Awatar użytkownika
bodzioboss
Sędziwy Jeż
Sędziwy Jeż
Posty: 71
Rejestracja: 07 maja 2007, 18:41
Płeć: Mężczyzna
Wersja Ubuntu: 17.10
Środowisko graficzne: Xfce
Architektura: x86

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: bodzioboss »

Dzięki namok za zwrócenie uwagi - ja podzieliłem przez 1000 :P
To mam chyba ostatnie pytanie - jak wyświetlić wyniki w GB?

Co do potrzeby ostatnich 30 dni - "zboczenie zawodowe" -jestem statystykiem i lubie wszelkie możliwe zestawienia :)
namok
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1701
Rejestracja: 01 mar 2008, 12:21
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Unity
Architektura: x86_64
Kontakt:

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: namok »

bodzioboss pisze:To mam chyba ostatnie pytanie - jak wyświetlić wyniki w GB?
Podzielić jeszcze raz?
Mały 1
Zakręcona Traszka
Zakręcona Traszka
Posty: 548
Rejestracja: 24 sty 2008, 15:55
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: LXDE
Architektura: x86_64

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: Mały 1 »

bodzioboss pisze: To mam chyba ostatnie pytanie - jak wyświetlić wyniki w GB?

Kod: Zaznacz cały

vnstat -d | awk '/[:digit:]\//{a+=$2}END{print "Pobrane przez ostatnie 30 dni: " a/1024 " GiB"}'

Kod: Zaznacz cały

vnstat -d | awk '/[:digit:]\//{a+=$5}END{print "Wysłane przez ostatnie 30 dni: " a/1024 " GiB"}'
lub

Kod: Zaznacz cały

vnstat -d | awk '/[:digit:]\//{ array[NR]=$2 } END { for (i=NR-29; i<=NR; i++) b+=array[i]; print "Pobrane przez ostatnie 30 dni: " b/1024 " GiB"}'

Kod: Zaznacz cały

vnstat -d | awk '/[:digit:]\//{ array[NR]=$5 } END { for (i=NR-29; i<=NR; i++) b+=array[i]; print "Wysłane przez ostatnie 30 dni: " b/1024 " GiB"}'
Awatar użytkownika
bodzioboss
Sędziwy Jeż
Sędziwy Jeż
Posty: 71
Rejestracja: 07 maja 2007, 18:41
Płeć: Mężczyzna
Wersja Ubuntu: 17.10
Środowisko graficzne: Xfce
Architektura: x86

Re: Conky i vnstat: jak "wyciągnąć" z vnstat upload i download z ostatnich 30 dni?

Post autor: bodzioboss »

OK. - Narazie chodzi.

-----------------
Edit 21-02-2014

Witam

vnstat -d wyświetla wyniki tylko z ostatnich 30 dni więc zastosowałem się do wskazówek jakie dał Mały1:

Kod: Zaznacz cały

    vnstat -d | awk '/[:digit:]\//{a+=$2}END{print "Pobrane przez ostatnie 30 dni: " a/1024 " GiB"}'
oraz

Kod: Zaznacz cały

    vnstat -d | awk '/[:digit:]\//{a+=$5}END{print "Wysłane przez ostatnie 30 dni: " a/1024 " GiB"}'
Chyba jednak nie są zliczane wszystkie wyniki z 30 dni bo:
- wyświetlane mam - 10,6 GB
- po ręcznym zliczeniu "vnstat -d" wychodzi - 16,6 GB

Wiem w czym problem:
funkcja zlicza cyfry takie jak podaje vnstat
- 415,98 MB - zlicza jako 415,98
- 2,1 GB - zlicza jako 2,1

Może ktoś z tym pomóc?

Pozdrawiam
ODPOWIEDZ

Wróć do „Przedszkole Linuksa”

Kto jest online

Użytkownicy przeglądający to forum: Bing [Bot] i 2 gości