Completed the metrics page
parent
a6af837cb5
commit
f1db31e83f
|
@ -1,13 +1,15 @@
|
||||||
# Метрики
|
# Метрики
|
||||||
|
|
||||||
Более простой (и, надеюсь, лучший) способ экспорта статистики.
|
Данное руководство описывает более простой и эффективный способ настройки экспорта статистических данных для Marzban. Использование метрик позволяет администраторам системы отслеживать производительность и состояние сети, а также быстро выявлять и решать возникающие проблемы.
|
||||||
|
|
||||||
## Связанные настройки
|
## Связанные настройки
|
||||||
|
|
||||||
Можно добавить входящее подключение `metrics` в раздел `inbounds`:
|
### Добавление входящего подключения `metrics`
|
||||||
|
|
||||||
|
Для настройки экспорта метрик необходимо добавить входящее подключение `metrics` в раздел `inbounds` конфигурационного файла. Это подключение будет слушать на локальном интерфейсе и порту, что обеспечит безопасность доступа к метрикам.
|
||||||
|
|
||||||
```json
|
```json
|
||||||
"inbounds": [
|
"inbounds": [
|
||||||
{
|
{
|
||||||
"listen": "127.0.0.1",
|
"listen": "127.0.0.1",
|
||||||
"port": 11111,
|
"port": 11111,
|
||||||
|
@ -17,13 +19,15 @@
|
||||||
},
|
},
|
||||||
"tag": "metrics_in"
|
"tag": "metrics_in"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
Добавьте правило маршрутизации для входящего подключения `metrics` в раздел `routing`:
|
### Добавление правила маршрутизации
|
||||||
|
|
||||||
|
Для правильной маршрутизации трафика, поступающего на входящее подключение `metrics`, необходимо добавить правило маршрутизации в раздел `routing`. Это правило направит трафик, поступающий на тег `metrics_in`, на тег `metrics_out`.
|
||||||
|
|
||||||
```json
|
```json
|
||||||
"routing": {
|
"routing": {
|
||||||
"rules": [
|
"rules": [
|
||||||
{
|
{
|
||||||
"type": "field",
|
"type": "field",
|
||||||
|
@ -33,32 +37,34 @@
|
||||||
"outboundTag": "metrics_out"
|
"outboundTag": "metrics_out"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Добавьте `metrics` в основные настройки:
|
### Добавление метрик в основные настройки
|
||||||
|
|
||||||
|
Для активации метрик необходимо добавить раздел `metrics` в основные настройки конфигурационного файла. Это позволит системе собирать и экспортировать метрики.
|
||||||
|
|
||||||
```json
|
```json
|
||||||
"metrics": {
|
"metrics": {
|
||||||
"tag": "metrics_out"
|
"tag": "metrics_out"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Использование
|
## Использование
|
||||||
|
|
||||||
### pprof
|
### pprof
|
||||||
|
|
||||||
Откройте `http://127.0.0.1:11111/debug/pprof/` или используйте утилиту `go tool pprof`, чтобы начать профилирование или просмотреть запущенные горутины.
|
Для профилирования и просмотра запущенных горутин можно использовать встроенный инструмент `pprof`. Откройте браузер и перейдите по адресу `http://127.0.0.1:11111/debug/pprof/` или используйте утилиту `go tool pprof` для более детального анализа.
|
||||||
|
|
||||||
### expvars
|
### expvars
|
||||||
|
|
||||||
Откройте `http://127.0.0.1:11111/debug/vars`.
|
Для просмотра текущих метрик и состояния системы можно использовать экспортные переменные (`expvars`). Откройте браузер и перейдите по адресу `http://127.0.0.1:11111/debug/vars`.
|
||||||
|
|
||||||
Экспортируемые переменные включают:
|
Экспортируемые переменные включают:
|
||||||
* `stats` - статистика по входящим, исходящим подключениям и пользователям.
|
- `stats` — статистика по входящим, исходящим подключениям и пользователям.
|
||||||
* `observatory` - результаты мониторинга.
|
- `observatory` — результаты мониторинга.
|
||||||
|
|
||||||
Например, с помощью [luci-app-xray](https://github.com/yichya/luci-app-xray) вы, скорее всего, получите результат, подобный этому (стандартные переменные expvar, такие как `cmdline` и `memstats`, опущены):
|
Пример данных, полученных с помощью [luci-app-xray](https://github.com/yichya/luci-app-xray):
|
||||||
|
|
||||||
<details><summary>Показать</summary><br>
|
<details><summary>Показать</summary><br>
|
||||||
|
|
||||||
|
@ -151,9 +157,16 @@
|
||||||
```
|
```
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
Чтобы лучше визуализировать эти данные, можно использовать [Netdata](https://github.com/netdata/netdata) (с плагином python.d):
|
### Визуализация данных с помощью Netdata
|
||||||
|
|
||||||
|
Для лучшей визуализации данных и мониторинга можно использовать систему мониторинга [Netdata](https://github.com/netdata/netdata) с плагином python.d. Netdata предоставляет интерактивные графики, которые облегчают анализ и отслеживание метрик.
|
||||||
|
|
||||||
|
1. Отредактируйте соответствующий файл конфигурации Netdata:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo /etc/netdata/edit-config python.d/go_expvar.conf
|
||||||
|
```
|
||||||
|
|
||||||
1. Отредактируйте соответствующий файл конфигурации (`sudo /etc/netdata/edit-config python.d/go_expvar.conf`).
|
|
||||||
2. Используйте следующий файл конфигурации в качестве примера:
|
2. Используйте следующий файл конфигурации в качестве примера:
|
||||||
|
|
||||||
<details><summary>Показать</summary><br>
|
<details><summary>Показать</summary><br>
|
||||||
|
@ -265,16 +278,10 @@ xray:
|
||||||
```
|
```
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
И вы получите красивый график, подобный этому:
|
Таким образом вы получите красивый график, подобный этому:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Дополнительно
|
### Дополнительные сведения
|
||||||
|
|
||||||
Возможно, лучше использовать пустой объект `stats` в конфигурационном файле, чем добавлять `metrics`?
|
|
||||||
|
|
||||||
**Изменение:** удалены настройки, связанные с Prometheus, и добавлено использование expvars.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Возможно, что для некоторых сценариев лучше использовать пустой объект `stats` в конфигурационном файле, чем добавлять `metrics`. Это может упростить конфигурацию и сделать ее более безопасной, так как пустой объект `stats` не требует отдельного входящего подключения и правила маршрутизации.
|
||||||
|
|
Loading…
Reference in New Issue