🖧 Как добавить интерфейс в базу данных vnstat для мониторинга |

🖧 Как добавить интерфейс в базу данных vnstat для мониторинга

Мануал

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 может отслеживать данные.

Просмотр статистики сетевого интерфейса

Введите команду:

Вывод:
Database updated: 2024-05-26 05:39:20
 
wg0 since 2024-05-26
 
rx:  7.73 MiB      tx:  190.58 MiB      total:  198.30 MiB
 
monthly
rx      |     tx      |    total    |   avg. rate
------------------------+-------------+-------------+---------------
2024-05      7.73 MiB |  190.58 MiB |  198.30 MiB |      762 bit/s
------------------------+-------------+-------------+---------------
estimated      7.66 MiB |  232.44 MiB |  240.11 MiB |
 
daily
rx      |     tx      |    total    |   avg. rate
------------------------+-------------+-------------+---------------
today      7.73 MiB |  190.58 MiB |  198.30 MiB |   81.70 kbit/s
------------------------+-------------+-------------+---------------
estimated     32.82 MiB |  809.53 MiB |  842.35 MiB |
Вы можете просматривать выходные данные в формате json или xml для целей автоматизации или сторонних команд:
[simterm]$ vnstat -i wg0
 vnstat -i wg0 --json
 vnstat -i wg0 --xml

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 -i wg0 --json | sttr json-yaml > outputs.yaml

Важные файлы для службы vnstat

Все данные для каждого интерфейса по умолчанию хранятся в каталоге базы данных /var/lib/vnstat/ с использованием sqlite.

Конфигурационный файл по умолчанию – /etc/vnstat.conf, который можно редактировать для установки интерфейсов по умолчанию и других настроек:

sudo vim /etc/vnstat.conf

В Linux с systemd в качестве init вы можете просматривать файлы журналов для поиска ошибок или устранения неполадок при добавлении или удалении интерфейсов.

Например:

  sudo journalctl -u vnstat.service

В противном случае для Unix и других систем попробуйте использовать файл /var/log/vnstat.log:

  sudo tail -f /var/log/vnstat.log

см. также:

 

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий