RU Metrics: refine and add "listen"

dependabot/npm_and_yarn/prettier-3.5.2
imbabyninja 2025-02-21 20:22:03 +05:00
parent 5891155ade
commit 01044fe273
1 changed files with 30 additions and 59 deletions

View File

@ -1,66 +1,47 @@
# Метрики
Более простой (и, надеюсь, лучший) способ экспорта статистики.
Более простой (и, надеемся, лучший) способ экспорта статистики.
## Связанные настройки
## Соответствующая конфигурация
Можно добавить входящее подключение `metrics` в раздел `inbounds`:
```json
"inbounds": [
{
"listen": "127.0.0.1",
"port": 11111,
"protocol": "dokodemo-door",
"settings": {
"address": "127.0.0.1"
},
"tag": "metrics_in"
}
]
```
Добавьте правило маршрутизации для входящего подключения `metrics` в раздел `routing`:
```json
"routing": {
"rules": [
{
"type": "field",
"inboundTag": [
"metrics_in"
],
"outboundTag": "metrics_out"
}
]
}
```
Добавьте `metrics` в основные настройки:
Добавьте метрики в основную конфигурацию:
```json
"metrics": {
"tag": "metrics_out"
"tag": "Metrics",
"listen": "127.0.0.1:11111"
}
```
## Использование
> `tag`: string
Тег исходящего прокси для метрик. Настроив входящее соединение AnyDoor и маршрутизацию AnyDoor на этот исходящий прокси, вы сможете получить доступ к метрикам через AnyDoor.
> `listen`: string
Более простой способ — просто прослушивать указанный адрес и порт для предоставления сервиса.
Если при установке этого поля `tag` пустой, он автоматически устанавливается в `Metrics`. Если оба поля не заданы, ядро не запустится.
## Способы использования
### pprof
Откройте `http://127.0.0.1:11111/debug/pprof/` или используйте утилиту `go tool pprof`, чтобы начать профилирование или просмотреть запущенные горутины.
Перейдите по адресу `http://127.0.0.1:11111/debug/pprof/` или используйте `go tool pprof` для отладки.
Для сообщения о проблемах с чрезмерным использованием памяти/утечками памяти необходимо предоставить файл `/debug/pprof/heap`.
### expvars
Откройте `http://127.0.0.1:11111/debug/vars`.
Перейдите по адресу `http://127.0.0.1:11111/debug/vars`.
Экспортируемые переменные включают:
* `stats` - статистика по входящим, исходящим подключениям и пользователям.
* `observatory` - результаты мониторинга.
Содержит следующие переменные:
* `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) вы можете получить следующий вывод (стандартное содержимое expvar, такое как cmdline и memstats, опущено):
<details><summary>Показать</summary>
<details><summary>Нажмите, чтобы посмотреть</summary><br>
```json
{
@ -151,12 +132,12 @@
```
</details>
Чтобы лучше визуализировать эти данные, можно использовать [Netdata](https://github.com/netdata/netdata) (с плагином python.d):
Для лучшей визуализации можно использовать [Netdata](https://github.com/netdata/netdata) (с плагином python.d):
1. Отредактируйте соответствующий файл конфигурации (`sudo /etc/netdata/edit-config python.d/go_expvar.conf`).
2. Используйте следующий файл конфигурации в качестве примера:
1. Отредактируйте соответствующий конфигурационный файл (`sudo /etc/netdata/edit-config python.d/go_expvar.conf`).
2. Используйте следующую примерную конфигурацию:
<details><summary>Показать</summary>
<details><summary>Нажмите, чтобы посмотреть</summary><br>
```
xray:
@ -265,16 +246,6 @@ xray:
```
</details>
И вы получите красивый график, подобный этому:
Вы получите результат, подобный этому:
![160428235-2988bf69-5d6c-41ec-8267-1bd512508aa8](https://github.com/chika0801/Xray-docs-next/assets/88967758/455e88ce-ced2-4593-a9fa-425bb293215b)
### Дополнительно
Возможно, лучше использовать пустой объект `stats` в конфигурационном файле, чем добавлять `metrics`?
**Изменение:** удалены настройки, связанные с Prometheus, и добавлено использование expvars.