Uzyskiwanie dostępu do danych o wydajności serwera Outline
Outline zapewnia dostęp do szczegółowych danych dotyczących wydajności, używając pakietu narzędzi Prometheus, dzięki czemu możesz dokładnie zapoznać się ze stanem i wykorzystaniem serwera. Ten przewodnik przeprowadzi Cię przez proces pobierania i wyświetlania tych danych.
Ważna informacja: przewodnik jest przeznaczony dla osób, które znają podstawy pakietu Prometheus oraz PromQL. Jeśli dopiero zaczynasz pracę z pakietem Prometheus, warto zapoznać się z jego dokumentacją oraz samouczkami na jego temat, zanim zagłębisz się w dane dotyczące Outline.
Wymagania wstępne
-
Serwer Outline z włączonym pakietem Prometheus: sprawdź, czy na serwerze Outline włączone są dane pakietu Prometheus (zazwyczaj są włączone domyślnie).
-
Dostęp SSH do serwera: będziesz potrzebować dostępu SSH, żeby przekierować port pakietu Prometheus.
Instrukcje
- Przekierowanie portu pakietu Prometheus
Połącz się z serwerem przy użyciu SSH i przekieruj port 9090:
ssh root@your_server_ip -L 9090:localhost:9090
- Uzyskiwanie dostępu do interfejsu internetowego pakietu Prometheus
Otwórz przeglądarkę i adres http://localhost:9090/graph. Wysyłanie zapytania dotyczącego danych z pakietu Prometheus
- Użyj zapytań PromQL, żeby uzyskać interesujące Cię dane.
Przykładowe zapytania PromQL
Wykorzystanie
- Bajty danych (według klucza dostępu, protokołu i kierunku):
increase(shadowsocks_data_bytes[1d])
- Bajty danych (zagregowane według klucza dostępu):
sum(increase(shadowsocks_data_bytes[1d])) by (access_key)
- Bajty danych (na potrzeby obliczania limitów danych):
sum(increase(shadowsocks_data_bytes{dir=~"c<p|p>t"}[30d])) by (access_key)
- Bajty danych (według lokalizacji, protokołu i kierunku):
increase(shadowsocks_data_bytes_per_location[1d])
Aktywne klucze dostępu
sum(max(max_over_time(shadowsocks_data_bytes{access_key!=""} [1h])) by (access_key) > bool 0)
Połączenia TCP
- Połączenia TCP (według klucza dostępu, lokalizacji i stanu):
increase(shadowsocks_tcp_connections_closed[1d])
- Połączenia TCP (według lokalizacji):
increase(shadowsocks_tcp_connections_opened[1d])
UDP
- Pakiety UDP (według lokalizacji i stanu):
increase(shadowsocks_udp_packets_from_client_per_location[1d])
- Powiązania UDP (bez podziału):
increase(shadowsocks_udp_nat_entries_added[1d])
Działanie aplikacji
- Wykorzystanie procesora (według procesu):
rate(process_cpu_seconds_total[10m])
- Pamięć (według procesu):
process_virtual_memory_bytes
Informacje o kompilacji
- Prometheus:
prometheus_build_info
- outline-ss-server:
shadowsocks_build_info
- Node.js:
nodejs_version_info
Pełną listę dostępnych danych znajdziesz w kodzie źródłowym outline-ss-server.