vnStat – это инструмент мониторинга сетевого трафика для Linux и Unix-подобных систем.
Он регистрирует сетевой трафик через различные промежутки времени и не требует прав root для запуска.
Реализация включает в себя две команды: vnstat для запроса информации о трафике и vnstatd для получения и хранения данных.
Рассмотрим, как после установки vnstat добавить в него сетевой интерфейс для мониторинга.
Добавление нового сетевого интерфейса в базу данных vnstat для мониторинга
- Откройте приложение терминала.
- В случае удаленного сервера войдите в систему с помощью команды ssh.
- Используйте команду tcpdump -D в Unix или ip link show в Linux для получения списка сетевых интерфейсов.
- Чтобы добавить новый сетевой интерфейс с именем wg0, введите: sudo vnstat -i wg0 –add
- Перезапустите службу vnstat, выполните: sudo systemctl restart vnstat.service ИЛИ sudo service vnstat restart, в зависимости от версии Linux/Unix.
- Подождите некоторое время, чтобы собрать данные.
- Теперь команда vnstat -i wg0 может отслеживать данные.
Просмотр статистики сетевого интерфейса
Введите команду:
XML-вывод:
<vnstat version="2.6" xmlversion="2"> <interface name="wg0"> <name>wg0</name> <alias></alias> <created><date><year>2024</year><month>05</month><day>26</day></date></created> <updated><date><year>2024</year><month>05</month><day>26</day></date><time><hour>05</hour><minute>44</minute></time></updated> <traffic> <total><rx>8318824</rx><tx>200074588</tx></total> <fiveminutes> <fiveminute id="27016"><date><year>2024</year><month>05</month><day>26</day></date><time><hour>05</hour><minute>25</minute></time><rx>751356</rx><tx>503868</tx></fiveminute> <fiveminute id="27015"><date><year>2024</year><month>05</month><day>26</day></date><time><hour>05</hour><minute>30</minute></time><rx>217500</rx><tx>219608</tx></fiveminute> <fiveminute id="27018"><date><year>2024</year><month>05</month><day>26</day></date><time><hour>05</hour><minute>35</minute></time><rx>7144884</rx><tx>199122280</tx></fiveminute> <fiveminute id="27020"><date><year>2024</year><month>05</month><day>26</day></date><time><hour>05</hour><minute>40</minute></time><rx>205084</rx><tx>228832</tx></fiveminute> </fiveminutes> <hours> <hour id="2253"><date><year>2024</year><month>05</month><day>26</day></date><time><hour>05</hour><minute>00</minute></time><rx>8318824</rx><tx>200074588</tx></hour> </hours> <days> <day id="96"><date><year>2024</year><month>05</month><day>26</day></date><rx>8318824</rx><tx>200074588</tx></day> </days> <months> <month id="5"><date><year>2024</year><month>05</month></date><rx>8318824</rx><tx>200074588</tx></month> </months> <years> <year id="2"><date><year>2024</year><month>01</month><day>01</day></date><time><hour>00</hour><minute>00</minute></time><rx>8318824</rx><tx>200074588</tx></year> </years> <tops> <top id="66"><date><year>2024</year><month>05</month><day>26</day></date><rx>8318824</rx><tx>200074588</tx></top> </tops> </traffic> </interface> </vnstat>
Вывод Json:
{"vnstatversion":"2.6","jsonversion":"2","interfaces":[{"name":"wg0","alias":"","created":{"date":{"year":2024,"month":5,"day":26}},"updated":{"date":{"year":2024,"month":5,"day":26},"time":{"hour":5,"minute":45}},"traffic":{"total":{"rx":8365732,"tx":200172072},"fiveminute":[{"id":27016,"date":{"year":2024,"month":5,"day":26},"time":{"hour":5,"minute":25},"rx":751356,"tx":503868},{"id":27015,"date":{"year":2024,"month":5,"day":26},"time":{"hour":5,"minute":30},"rx":217500,"tx":219608},{"id":27018,"date":{"year":2024,"month":5,"day":26},"time":{"hour":5,"minute":35},"rx":7144884,"tx":199122280},{"id":27020,"date":{"year":2024,"month":5,"day":26},"time":{"hour":5,"minute":40},"rx":251992,"tx":326316}],"hour":[{"id":2253,"date":{"year":2024,"month":5,"day":26},"time":{"hour":5,"minute":0},"rx":8365732,"tx":200172072}],"day":[{"id":96,"date":{"year":2024,"month":5,"day":26},"rx":8365732,"tx":200172072}],"month":[{"id":5,"date":{"year":2024,"month":5},"rx":8365732,"tx":200172072}],"year":[{"id":2,"date":{"year":2024},"rx":8365732,"tx":200172072}],"top":[{"id":66,"date":{"year":2024,"month":5,"day":26},"rx":8365732,"tx":200172072}]}}]}
Вы можете использовать команду jq или команду sttr для преобразования json в yaml:
Важные файлы для службы vnstat
Все данные для каждого интерфейса по умолчанию хранятся в каталоге базы данных /var/lib/vnstat/ с использованием sqlite.
Конфигурационный файл по умолчанию – /etc/vnstat.conf, который можно редактировать для установки интерфейсов по умолчанию и других настроек:
В Linux с systemd в качестве init вы можете просматривать файлы журналов для поиска ошибок или устранения неполадок при добавлении или удалении интерфейсов.
Например:
В противном случае для Unix и других систем попробуйте использовать файл /var/log/vnstat.log:
см. также:
- 🖧 Как проверить использование сети в Linux?
- 16 полезных средств контроля пропускной способности для анализа использования сети в Linux
- 18 команд для мониторинга пропускной способности сети на сервере Linux