RU Metrics: refine and add "listen"
parent
5891155ade
commit
01044fe273
|
@ -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>
|
||||
|
||||
И вы получите красивый график, подобный этому:
|
||||
Вы получите результат, подобный этому:
|
||||
|
||||

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