Blog/content/posts/2022/wireguard/get-stats.md
2022-11-19 13:54:51 +03:00

93 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "🕸️ Получение статистики соединений WireGuard"
date: 2022-11-19T13:29:41+03:00
draft: false
tags: [tips, wireguard]
---
## Просмотр статистики
Статистику клиентов WireGuard можно получить используя параметр `show` утилиты `wg`.
Например:
```sh
wg show all
```
Команда вернёт следующий результат.
```text
interface: wg0
public key: <public_key>
private key: (hidden)
listening port: 443
peer: <public_key>
preshared key: (hidden)
endpoint: <user_ip>:<user_port>
allowed ips: 10.253.1.2/32
latest handshake: 5 seconds ago
transfer: 25.47 MiB received, 282.28 MiB sent
peer: <public_key>
preshared key: (hidden)
endpoint: <user_ip>:<user_port>
allowed ips: 10.253.1.1/32
latest handshake: 47 seconds ago
transfer: 314.81 MiB received, 776.23 MiB sent
peer: <public_key>
preshared key: (hidden)
allowed ips: 10.253.1.3/32
```
Если на машине несколько интерфейсов WireGuard,
можно вывести статистику по конкретному интерфейсу:
```sh
wg show wg0
```
Для наблюдения за статистикой в реальном времени
можно использовать команду `watch`.
```sh
watch wg show all
```
Or:
`wg-json` tool from
[wireguard-tools](https://git.zx2c4.com/wireguard-tools/tree/contrib/json/wg-json).
## Сбор статистики
Для сбора (дампа) статистики у необходимо добавить аргумент `dump`
и в терминале отобразится информация в виде таблицы:
```sh
wg show all dump
```
```text
wg0 <private_key> <public_key> <listen_port> <fwmark>
wg0 <public_key> <preshared_key> <endpoint> <allowed_ips> <latest_handshake_timestamp> <transfer_rx> <transfer_tx> <persistent-keepalive>
wg0 <public_key> <preshared_key> <endpoint> <allowed_ips> <latest_handshake_timestamp> <transfer_rx> <transfer_tx> <persistent-keepalive>
wg0 <public_key> <preshared_key> <endpoint> <allowed_ips> <latest_handshake_timestamp> <transfer_rx> <transfer_tx> <persistent-keepalive>
```
\* [wg.8.en.html#show](https://manpages.debian.org/unstable/wireguard-tools/wg.8.en.html#show)
on Debian man pages.
## wg-json
В официальный состав инструментов [wireguard-tools](https://git.zx2c4.com/wireguard-tools)
входит утилита **[wg-json](https://git.zx2c4.com/wireguard-tools/tree/contrib/json/wg-json)**.
[Она](https://git.zx2c4.com/wireguard-tools/tree/contrib/json/wg-json)
представляет из себя Bash скрипт, который преобразовывает вывод команды
`wg show all dump` в JSON и возвращает его в терминал.
Утилита не принимает никаких аргументов. Запускать как есть.