Як можна відстежувати загальне використання даних в Інтернеті через перезавантаження?


55

Деякі постачальники послуг широкосмугового зв’язку встановлюють щомісячний ліміт завантаження, стягуючи додаткову суму, якщо ви переходите. Крім того, досить легко перевищити деякі нижчі межі, просто встановивши / оновивши пакети та "нормально" переглядаючи (що до мене включає трансляцію телевізійних програм та фільмів).

Це означає, що вам потрібно обмежити кількість, яку ви використовуєте в Інтернеті, але важко знати, коли.

Системний монітор трохи допомагає в цьому, надаючи загальну кількість отриманих / загальних відправлених у розділі мереж на вкладці Ресурси. Однак це скидає кожне перезавантаження. Було б добре, якби було щомісяця отримувати загальну кількість одержуваних щомісяця, щоб ви могли знати, наскільки ви близькі до перевищення вашої межі, і, можливо, навіть отримуватимете попередження, якщо схоже, що ви збираєтесь перевищити обмеження.

Хтось знає спосіб досягти цього?


Відповіді:


38

Ви можете перевірити vnstat . Він заснований на командному рядку та доступний у сховищі.

Ви можете почати це з sudo vnstat -u -i [interface]

Щоб побачити статистику sudo vnstat -i [interface]


27

vnStat - мережевий монітор на основі малої ваги

vnStat - це консольний монітор мережевого трафіку для Linux та BSD, який веде журнал мережевого трафіку для вибраних інтерфейсів. Він використовує статистику мережевого інтерфейсу, надану ядром, як джерело інформації. Це означає, що vnStat насправді не буде нюхати жоден трафік, а також забезпечує легке використання системних ресурсів.

У цьому підручнику ми розглянемо:

  • Особливості
  • Установка
  • Конфігурація
  • Запустіть Systemd Service
  • Використання (з командного рядка)
  • Хитрий приклад

Особливості

  • швидко та просто встановити та запустити
  • зібрана статистика зберігається через перезавантаження системи
  • може контролювати декілька інтерфейсів одночасно
  • кілька варіантів виводу
  • підсумок, щогодини, щодня, щомісяця, тиждень, топ 10 днів
  • необов'язковий вихід PNG-зображення (за допомогою libgd)
  • місяці можуть бути налаштовані відповідно до періоду платежів
  • легке, мінімальне використання ресурсів
  • таке ж низьке використання процесора незалежно від трафіку
  • можна використовувати без дозволів root
  • онлайн-редактор конфігурації кольорів

Установка

nvStat знаходиться в офіційних сховищах, тому не потрібно посилатися на новий ppa. Щоб встановити, створіть екземпляр Terminal за допомогою Ctrl+ Alt+ Tта введіть у відповідь:

sudo apt-get install vnstat

Після встановлення тримайте термінал відкритим для наступних розділів. Не потрібно перезавантажувати.

Конфігурація

Виберіть бажаний мережевий інтерфейс і відповідно відредагуйте змінну інтерфейсу /etc/vnstat.conf. Для переліку всіх інтерфейсів, доступних vnstat, використовуйте:

vnstat --iflist

Для початку моніторингу певного інтерфейсу потрібно спочатку ініціалізувати базу даних. Кожен інтерфейс потребує власної бази даних. Команда для ініціалізації одного для інтерфейсу eth0:

sudo vnstat -u -i eth0 

Запустіть Systemd Service

Після введення інтерфейсу (-ів) та перевірки конфігураційного файлу. Ви можете розпочати процес моніторингу за допомогою systemd:

sudo systemctl start vnstat.service

Для постійного використання цієї послуги:

sudo systemctl enable vnstat.service

Відтепер vnstatбуде збирати мережеве використання у фоновому режимі, використовуючи такий невеликий відсоток процесора, що він не відображається у списку процесів (9 моїх системних моніторів) conky's (на моїй машині).

Використання (з командного рядка)

Запит на мережевий трафік:

vnstat -q

Перегляд використання мережевого трафіку наживо:

vnstat -l

Щоб знайти більше варіантів, використовуйте:

vnstat --help

Щомісячні підсумки

Щоб побачити підсумки за місяць, використовуйте:

rick@dell:~$ vnstat -m

 eth0  /  monthly

       month        rx      |     tx      |    total    |   avg. rate
    ------------------------+-------------+-------------+---------------
      Nov '16     76.31 MiB |    2.03 MiB |   78.35 MiB |   10.45 kbit/s
    ------------------------+-------------+-------------+---------------
    estimated      3.13 GiB |      84 MiB |    3.21 GiB |

Хитрий приклад

Conky - популярний легкий системний монітор, який використовується у багатьох дистрибутивах Linux. Ви можете vnStat загальної пропускної здатності на ваш конічний екран таким чином:

введіть тут опис зображення

Зауважте, коли було зроблено знімок у Yesterdayнеділю, що пояснює, чому загальна кількість тижневиків менша.

Конусний код для досягнення цього:

${color orange}${voffset 2}${hr 1}
${color1}Network using vnStat "-i", "-w" and "-m"
${color}${goto 5}Today ${goto 100}Yesterday ${goto 225}Week ${goto 325}Month ${color green}
${execi 300 vnstat -i eth0 | grep "today" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 110}${execi 300 vnstat -i eth0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 220}${execi 300 vnstat -i eth0 -w | grep "current week" | awk '{print $9" "substr ($10, 1, 1)}'} ${goto 315}${execi 300 vnstat -i eth0 -m | grep "`date +"%b '%y"`" | awk '{print $9" "substr ($10, 1, 1)}'}
${color orange}${voffset 2}${hr 1}

Для економії місця у моєму вузькому вікні я використав "G" замість "GiB", "M" замість "MiB" і т. Д. Якщо у вас є більше екрана, змініть substr ($10, 1, 1)на $10те саме і для $9.

Можливо, вам доведеться перейти eth0на wlan0або eth1тощо, залежно від імені вашої мережі, про яке повідомляється ifconfig.


Чи можна "фільтрувати" трафік локальної мережі? У мене багато місцевого трафіку, і я не хочу вважати його за моє Інтернет.
JPelletier

@JPelletier Цитується автор vnStat, кажучи, що це неможливо. Він цитує цю тему, де близько 20 людей збирали 280 доларів, щоб заплатити комусь саме так, як ви просите: forum.netgate.com/topic/29677/… Дуг Смітієс - експерт з моніторингу трафіку за IP-адресою, і я попросіть його подивитися ваш коментар.
WinEunuuchs2Unix

Дякую за відповідь! В даний час я використовую iftopдля діагностики прямого використання інтернету, але мати історичну інформацію було б непогано
JPelletier

@JPelletier: мій маршрутизатор - це сервер Ubuntu, на якому працює сценарій iptables для функції маршрутизації / брандмауера. Через WAN-інтерфейс можна відстежувати лише трафік WAN. Для комп’ютера Ubuntu в локальній мережі можливо, можливо, захопити все за допомогою tcpdump, а потім відфільтрувати локальну мережу та трансляцію пакетів як спосіб вилучення пакетів WAN на / з цього комп'ютера. Дивіться також тут
Doug Smythies

@DougSmythies Дякуємо за коментар! Мені цікаво, чи взагалі можливо створити два інтерфейси: eth0 та eth1, пов'язані з одним і тим же NIC? Тоді весь локальний трафік пройшов маршрутом через eth1, а все інше пройшов через eth0, який vnstatби збирав статистику? Вибачте, якщо це звучить як німе питання ...
WinEunuuchs2Unix

6

Хоча це не "ubuntu" відповідь, я використовую для цього прошивку Tomato на моєму маршрутизаторі WRT54G. Це дає мені щомісячне використання вгору / вниз за останні пару років, і приємна річ (у контексті вашого запитання) полягає в тому, що це для всієї мережі, а не лише для однієї системи, на якій вона працює (хоча ця точка є спірною якщо система, про яку йдеться, ваш маршрутизатор або безпосередньо підключена).


3
Смачні помідори. Чудово підходить для бутербродів, ще краще на роутерах.
Райан Томпсон

6

Просто, щоб розширити риксіс:

З ifconfig | cut -c 1-8 | sort | uniq -uвами можна перерахувати інтерфейси:

enp0s31f
lo      
wlp3s0

Для одного інтерфейсу ви можете візуалізувати трафік так:

vnstati -vs -i wlp3s0 -o ~/summary.png

дає хороший підсумок:

введіть тут опис зображення

  • rx - отриманий трафік
  • tx - це переданий трафік

Просто переконайтеся, що крім vnstat встановлено vnstati. sudo apt install vnstat vnstati
Органічний наркоман

3

Я рекомендую утиліту ntop, яка доступна у сховищах, вона працює як сервіс і зберігає записи про використання трафіку. Звіти доступні з внутрішнього http-сервера (порт 3000). Ви можете легко перевірити їх за допомогою браузера,http://localhost:300/

Перевірте, що можна отримати від ntop на веб-сайті ntop .


ntop не відстежує використання між перезавантаженнями, чи не так?
Ерігамі

Відповідно до документації, яка може використовувати плагін rrd, я не перевіряв себе.
Жоао Пінто

Як тоді використовувати плагін rrd?
Анвар

2

Окрім будь-якого програмного рішення, я б запропонував переглянути свого постачальника. У багатьох з них є засоби моніторингу, які надсилають вам попередження, коли ви досягаєте певного обмеження або тимчасово блокуєте доступ. Це має ту перевагу, що ви отримуєте якийсь "офіційний" номер.


Через кілька років пізніше до партії, що ви не можете визнати, провайдер не викликає зусиль, якщо ви перейдете, насправді саме так вони заробляють свої гроші, тому їх інструменти, швидше за все, не враховують багатьох факторів. Мій Інтернет-провайдер дає 40 Гб надбавки за 20 фунтів стерлінгів, але стягує 20 фунтів за Гігабайт, ви переходите через це, коли я вже перевищував надбавки, і я пам’ятаю, що це зіпсувало Різдво, але змусив Інтернет-провайдера щасливим стягнути з мене величезну частину готівки. Я сказав, що мій Інтернет вимкнено, вони заспокоїли, що він увімкнено. Пізніше я знайшов когось, що безпосередньо пов'язує MUX з випадковими рахунками, це багато пояснило
Марк Гіблін

0

Я знайшов " монітор завантаження " як дуже хороший і простий у використанні інструмент для показу статистичних даних. Він має інтерфейс GUI, що робить його дуже простим у використанні. Він доступний у програмному центрі Ubuntu.

Завантажити монітор

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.