"Aşırı yüklenmiş" durumunu ve nasıl görülebileceğini anlamak
Relay Search, bir aktarıcı/köprü aşırı yüklendiğinde sarı bir nokta ile görüntüler. Bu sayfa, bu durumu neyin tetiklediğini, ne kadar sürdüğünü ve bunu araştırmak ve çözmek için uygulanabilecek adımları açıklar.
Arama sırasında, aşırı yüklenmiş aktarıcıların takma adının yanında bir sarı nokta görüntülenir. Bunun anlamı, aşağıdaki yük ölçümlerinden birinin veya birkaçının tetiklendiğidir:
- Bellek baskısı nedeniyle herhangi bir Tor bellek tükendi çağrısı
- Herhangi bir ntor onionskins verisinin kaybolması
- TCP bağlantı noktalarının tükenmesi
Bir aktarıcı aşırı yüklendiğinde, bu simgeyi aktarıcının düzelmesinden sonraki 72 saat boyunca göstermeyi sürdürdüğümüzü unutmayın.
Aktarıcınızın aşırı yüklendiğini fark ederseniz lütfen:
- Bilinen sorunlar için https://status.torproject.org/ adresindeki "Tor network" kategorisine bakın.
- Ağ, bellek ve işlemci yükü için sisteminizin
sysctlayarını değiştirmeyi değerlendirin. - Neler olduğunu anlamak için
MetricsPortözelliğini etkinleştirmeyi değerlendirin.
Ağ, bellek ve işlemci yükü için sysctl ayarını yapmak
TCP bağlantı noktalarının tükenmesi
TCP bağlantı noktaları tükeniyorsa, yerel bağlantı noktası aralığınızı genişletmeyi değerlendirin. Bu işlemi şu komut ile yapabilirsiniz
# sysctl -w net.ipv4.ip_local_port_range="15000 64000"
veya
# echo 15000 64000 > /proc/sys/net/ipv4/ip_local_port_range
Açıklanan sysctl ayarlarının kalıcı olmayacağını ve yeniden başlatma sonrasında kaybolacağını unutmayın. Yapılandırmayı kalıcı kılmak için /etc/sysctl.conf ya da /etc/sysctl.d/ dosyasına kaydetmeniz gerekir.
MetricsPort
Tor aktarıcılarının ve Tor ağının ne durumda olduğunu anlamak için aktarıcı ölçümlerini sunmak ve bunlara erişim sağlamak yaşamsal önemdedir. 0.4.6+ sürümünden başlayarak aktarıcı tanımlayıcılarına aktarıcı aşırı yük bilgisi eklendi. Ancak Tor >= 0.4.7.1-alfa sürümüne kadar, temel aktarıcı ölçümlerine yönelik bir arabirim yoktu: Ölçüm bağlantı noktası.
MetricsPort özelliğini etkinleştirmek
Tor, MetricsPort adlı bir torrc yapılandırma seçeneği ile ölçüm bağlantı noktasına erişim sağlar.
Tor MetricsPort özelliğini herkese açık olarak sunmanın Tor ağı kullanıcıları için tehlikeli olduğunun anlaşılması önemlidir. Bu nedenle bu bağlantı noktası varsayılan olarak açık değildir ve bir erişim ilkesi kullanılarak erişilmelidir. Lütfen bu bağlantı noktasını açarken ek önlem ve özen gösterin ve hata ayıklama işlemini bitirdiğinizde kapatın.
Tor aktarıcısı işleten bir sunucuda tek kullanıcı olduğunuzu varsayalım. Ölçüm bağlantı noktasını etkinleştirmek için torrc dosyasına şunu ekleyin:
MetricsPort 127.0.0.1:9035
MetricsPortPolicy accept 127.0.0.1
Ardından, ölçümleri şu şekilde kolayca alabilirsiniz:
# curl http://127.0.0.1:9035/metrics
veriler varsayılan olarak Prometheus biçimindedir.
Not: Bu sunucudaki her kullanıcı, yukarıdaki örnekte verilen aktarıcı ölçümlerine erişebilir. Genel olarak MetricsPortPolicy için çok katı bir erişim ilkesi belirleyin ve derinlemesine savunma için işletim sisteminizin güvenlik duvarı özelliklerini de kullanmayı değerlendirin.
MetricsPort ve MetricsPortPolicy ile ilgili ayrıntılı bilgi almak için tor rehberi sayfasına bakabilirsiniz.
MetricsPort çıktısı
MetricsPort özelliğini etkinleştiren çıktının üreteceği örneği burada görebilirsiniz (bu arayüzü hala geliştirmemiz gerektiğinden, tıkanıklık denetimi ile ilgili ölçümleri atladık):
# HELP tor_relay_connections Toplam açık bağlantı sayısı
# TYPE tor_relay_connections gauge
tor_relay_connections{type="OR listener",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="OR listener",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="OR listener",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="OR listener",direction="received",state="opened",family="ipv6"} 0
tor_relay_connections{type="OR",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="OR",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="OR",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="OR",direction="received",state="opened",family="ipv6"} 0
tor_relay_connections{type="Exit",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="Exit",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="Exit",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="Exit",direction="received",state="opened",family="ipv6"} 0
tor_relay_connections{type="Socks listener",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="Socks listener",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="Socks listener",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="Socks listener",direction="received",state="opened",family="ipv6"} 0
tor_relay_connections{type="Socks",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="Socks",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="Socks",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="Socks",direction="received",state="opened",family="ipv6"} 0
tor_relay_connections{type="Directory listener",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="Directory listener",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="Directory listener",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="Directory listener",direction="received",state="opened",family="ipv6"} 0
tor_relay_connections{type="Directory",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="Directory",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="Directory",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="Directory",direction="received",state="opened",family="ipv6"} 0
tor_relay_connections{type="Control listener",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="Control listener",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="Control listener",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="Control listener",direction="received",state="opened",family="ipv6"} 0
tor_relay_connections{type="Control",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="Control",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="Control",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="Control",direction="received",state="opened",family="ipv6"} 0
tor_relay_connections{type="Transparent pf/netfilter listener",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="Transparent pf/netfilter listener",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="Transparent pf/netfilter listener",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="Transparent pf/netfilter listener",direction="received",state="opened",family="ipv6"} 0
tor_relay_connections{type="Transparent natd listener",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="Transparent natd listener",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="Transparent natd listener",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="Transparent natd listener",direction="received",state="opened",family="ipv6"} 0
tor_relay_connections{type="DNS listener",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="DNS listener",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="DNS listener",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="DNS listener",direction="received",state="opened",family="ipv6"} 0
tor_relay_connections{type="Extended OR",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="Extended OR",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="Extended OR",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="Extended OR",direction="received",state="opened",family="ipv6"} 0
tor_relay_connections{type="Extended OR listener",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="Extended OR listener",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="Extended OR listener",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="Extended OR listener",direction="received",state="opened",family="ipv6"} 0
tor_relay_connections{type="HTTP tunnel listener",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="HTTP tunnel listener",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="HTTP tunnel listener",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="HTTP tunnel listener",direction="received",state="opened",family="ipv6"} 0
tor_relay_connections{type="Metrics listener",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="Metrics listener",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="Metrics listener",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="Metrics listener",direction="received",state="opened",family="ipv6"} 0
tor_relay_connections{type="Metrics",direction="initiated",state="opened",family="ipv4"} 0
tor_relay_connections{type="Metrics",direction="initiated",state="opened",family="ipv6"} 0
tor_relay_connections{type="Metrics",direction="received",state="opened",family="ipv4"} 0
tor_relay_connections{type="Metrics",direction="received",state="opened",family="ipv6"} 0
# HELP tor_relay_connections_total Oluşturulan/reddedilen toplam bağlantı sayısı
# TYPE tor_relay_connections_total counter
tor_relay_connections_total{type="OR listener",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="OR listener",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="OR listener",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="OR listener",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="OR listener",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="OR listener",direction="received",state="rejected",family="ipv6"} 0
tor_relay_connections_total{type="OR",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="OR",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="OR",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="OR",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="OR",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="OR",direction="received",state="rejected",family="ipv6"} 0
tor_relay_connections_total{type="Exit",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Exit",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Exit",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Exit",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Exit",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="Exit",direction="received",state="rejected",family="ipv6"} 0
tor_relay_connections_total{type="Socks listener",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Socks listener",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Socks listener",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Socks listener",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Socks listener",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="Socks listener",direction="received",state="rejected",family="ipv6"} 0
tor_relay_connections_total{type="Socks",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Socks",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Socks",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Socks",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Socks",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="Socks",direction="received",state="rejected",family="ipv6"} 0
tor_relay_connections_total{type="Directory listener",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Directory listener",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Directory listener",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Directory listener",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Directory listener",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="Directory listener",direction="received",state="rejected",family="ipv6"} 0
tor_relay_connections_total{type="Directory",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Directory",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Directory",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Directory",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Directory",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="Directory",direction="received",state="rejected",family="ipv6"} 0
tor_relay_connections_total{type="Control listener",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Control listener",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Control listener",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Control listener",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Control listener",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="Control listener",direction="received",state="rejected",family="ipv6"} 0
tor_relay_connections_total{type="Control",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Control",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Control",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Control",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Control",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="Control",direction="received",state="rejected",family="ipv6"} 0
tor_relay_connections_total{type="Transparent pf/netfilter listener",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Transparent pf/netfilter listener",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Transparent pf/netfilter listener",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Transparent pf/netfilter listener",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Transparent pf/netfilter listener",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="Transparent pf/netfilter listener",direction="received",state="rejected",family="ipv6"} 0
tor_relay_connections_total{type="Transparent natd listener",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Transparent natd listener",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Transparent natd listener",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Transparent natd listener",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Transparent natd listener",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="Transparent natd listener",direction="received",state="rejected",family="ipv6"} 0
tor_relay_connections_total{type="DNS listener",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="DNS listener",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="DNS listener",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="DNS listener",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="DNS listener",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="DNS listener",direction="received",state="rejected",family="ipv6"} 0
tor_relay_connections_total{type="Extended OR",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Extended OR",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Extended OR",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Extended OR",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Extended OR",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="Extended OR",direction="received",state="rejected",family="ipv6"} 0
tor_relay_connections_total{type="Extended OR listener",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Extended OR listener",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Extended OR listener",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Extended OR listener",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Extended OR listener",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="Extended OR listener",direction="received",state="rejected",family="ipv6"} 0
tor_relay_connections_total{type="HTTP tunnel listener",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="HTTP tunnel listener",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="HTTP tunnel listener",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="HTTP tunnel listener",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="HTTP tunnel listener",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="HTTP tunnel listener",direction="received",state="rejected",family="ipv6"} 0
tor_relay_connections_total{type="Metrics listener",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Metrics listener",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Metrics listener",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Metrics listener",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Metrics listener",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="Metrics listener",direction="received",state="rejected",family="ipv6"} 0
tor_relay_connections_total{type="Metrics",direction="initiated",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Metrics",direction="initiated",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Metrics",direction="received",state="created",family="ipv4"} 0
tor_relay_connections_total{type="Metrics",direction="received",state="created",family="ipv6"} 0
tor_relay_connections_total{type="Metrics",direction="received",state="rejected",family="ipv4"} 0
tor_relay_connections_total{type="Metrics",direction="received",state="rejected",family="ipv6"} 0
# HELP tor_relay_flag Uzlaşmadaki aktarıcı işaretleri
# TYPE tor_relay_flag gauge
tor_relay_flag{type="Fast"} 0
tor_relay_flag{type="Exit"} 0
tor_relay_flag{type="Authority"} 0
tor_relay_flag{type="Stable"} 0
tor_relay_flag{type="HSDir"} 0
tor_relay_flag{type="Running"} 0
tor_relay_flag{type="V2Dir"} 0
tor_relay_flag{type="Sybil"} 0
tor_relay_flag{type="Guard"} 0
# HELP tor_relay_circuits_total Toplam devre sayısı
# TYPE tor_relay_circuits_total gauge
tor_relay_circuits_total{state="opened"} 0
# HELP tor_relay_streams_total Toplam akış sayısı
# TYPE tor_relay_streams_total counter
tor_relay_streams_total{type="BEGIN"} 0
tor_relay_streams_total{type="BEGIN_DIR"} 0
tor_relay_streams_total{type="RESOLVE"} 0
# HELP tor_relay_traffic_bytes Trafik ile ilgili sayaçlar
# TYPE tor_relay_traffic_bytes counter
tor_relay_traffic_bytes{direction="read"} 0
tor_relay_traffic_bytes{direction="written"} 0
# HELP tor_relay_dos_total Hizmet reddi savunmaları ile ilişkili sayaçlar
# TYPE tor_relay_dos_total counter
tor_relay_dos_total{type="circuit_rejected"} 0
tor_relay_dos_total{type="circuit_killed_max_cell"} 0
tor_relay_dos_total{type="circuit_killed_max_cell_outq"} 0
tor_relay_dos_total{type="marked_address"} 0
tor_relay_dos_total{type="marked_address_maxq"} 0
tor_relay_dos_total{type="conn_rejected"} 0
tor_relay_dos_total{type="concurrent_conn_rejected"} 0
tor_relay_dos_total{type="single_hop_refused"} 0
tor_relay_dos_total{type="introduce2_rejected"} 0
# HELP tor_relay_load_onionskins_total İşlenen toplam onionskin sayısı
# TYPE tor_relay_load_onionskins_total counter
tor_relay_load_onionskins_total{type="tap",action="processed"} 0
tor_relay_load_onionskins_total{type="tap",action="dropped"} 0
tor_relay_load_onionskins_total{type="fast",action="processed"} 0
tor_relay_load_onionskins_total{type="fast",action="dropped"} 0
tor_relay_load_onionskins_total{type="ntor",action="processed"} 0
tor_relay_load_onionskins_total{type="ntor",action="dropped"} 0
tor_relay_load_onionskins_total{type="ntor_v3",action="processed"} 0
tor_relay_load_onionskins_total{type="ntor_v3",action="dropped"} 0
# HELP tor_relay_exit_dns_query_total Bu aktarıcının yürüttüğü toplam DNS sorgusu sayısı
# TYPE tor_relay_exit_dns_query_total counter
tor_relay_exit_dns_query_total 0
# HELP tor_relay_exit_dns_error_total Bu aktarıcının karşılaştığı toplam DNS hataları sayısı
# TYPE tor_relay_exit_dns_error_total counter
tor_relay_exit_dns_error_total{reason="success"} 0
tor_relay_exit_dns_error_total{reason="format"} 0
tor_relay_exit_dns_error_total{reason="serverfailed"} 0
tor_relay_exit_dns_error_total{reason="notexist"} 0
tor_relay_exit_dns_error_total{reason="notimpl"} 0
tor_relay_exit_dns_error_total{reason="refused"} 0
tor_relay_exit_dns_error_total{reason="truncated"} 0
tor_relay_exit_dns_error_total{reason="unknown"} 0
tor_relay_exit_dns_error_total{reason="tor_timeout"} 0
tor_relay_exit_dns_error_total{reason="shutdown"} 0
tor_relay_exit_dns_error_total{reason="cancel"} 0
tor_relay_exit_dns_error_total{reason="nodata"} 0
# HELP tor_relay_load_oom_bytes_total Alt sistem tarafından boşaltılan tükenmiş belleğin toplam baytı
# TYPE tor_relay_load_oom_bytes_total counter
tor_relay_load_oom_bytes_total{subsys="cell"} 0
tor_relay_load_oom_bytes_total{subsys="dns"} 0
tor_relay_load_oom_bytes_total{subsys="geoip"} 0
tor_relay_load_oom_bytes_total{subsys="hsdir"} 0
# HELP tor_relay_load_socket_total Toplam soket sayısı
# TYPE tor_relay_load_socket_total gauge
tor_relay_load_socket_total{state="opened"} 0
tor_relay_load_socket_total 0
# HELP tor_relay_load_tcp_exhaustion_total TCP bağlantı noktalarının toplam tükenme sayısı
# TYPE tor_relay_load_tcp_exhaustion_total counter
tor_relay_load_tcp_exhaustion_total 0
# HELP tor_relay_load_global_rate_limit_reached_total Genel bağlantı kümesi sınırına ulaşan toplam bağlantı sayısı
# TYPE tor_relay_load_global_rate_limit_reached_total counter
tor_relay_load_global_rate_limit_reached_total{side="read"} 0
tor_relay_load_global_rate_limit_reached_total{side="write"} 0
Bu satırlardan bazılarının gerçekte ne anlama geldiğini öğrenelim:
tor_relay_load_onionskins_total{type="ntor",action="dropped"} 0
Bir aktarıcı "dropped" olarak görülmeye başlandığında, genellikle bir işlemci/bellek sorunu vardır.
Tor, ne yazık ki, "onion skins" işlenmesi dışında tek işlemlidir. "Onion skins", her devrede ünlü "onion katmanları" üzerinde yapılması gereken şifreleme çalışmalarıdır.
Tor, katmanları işlerken bir işlem havuzu kullanır ve tüm bu işlemler o havuza dış kaynak olarak sağlanır. Bu havuz, bellek veya işlemcinin yükünün artması nedeniyle çalışmakta zorlanabilir ve bir aşırı yüklenme durumunu tetikler.
Sunucunuzun yükü kapasitesine yakınsa, büyük olasılıkla bu durum tetiklenir.
tor_relay_exit_dns_error_total{...}
"*_dns_error_total" alanındaki herhangi bir sayaç değeri (başarılı sorgular için olan dışında), DNS ile ilgili olası bir sorunu gösterir. Bununla birlikte, 0.4.7 sürümünün yayın sürecinde DNS hatalarının çok gürültü kopardığını ve aşırı yük bildirimi amaçları için yararlı olamayacak kadar çok sayıda sahte doğru sonuç verdiğini fark ettik. Bu nedenle, onları artık 0.4.6.9 ve 0.4.7.4-alfa sürümleri ile birlikte bu amaç için kullanmıyoruz. Gene de aktarıcı işletmecilerine aktarıcılarında olup bitenlerle ilgili fikir vermek için DNS ölçümlerini tutmayı sürdürüyoruz.
DNS zaman aşımı sorunları ve hataları yalnızca çıkış noktaları için geçerlidir.
tor_relay_load_oom_bytes_total{...}
Bellek yetersiz iletisi, bir RAM bellek sorununu gösterir. Aktarıcı daha fazla belleğe gerek duyuyor olabilir veya bellek sızıntısı vardır. Tor işleminde bellek sızıntısı fark ederseniz, lütfen sorunu Tor GitLab üzerinden bildirin veya tor-relays e-posta listesine bir e-posta gönderin.
Tor kendi bellek tükendi işleyicisini kullanır ve tor tarafından uygun olduğunu düşünülen toplam belleğin %75 kadarı kullanıldığında çağrılır. Böylece örneğin, tor toplamda 2GB uygun bellek olduğunu düşünüyorsa ve 1.5GB kullanıyorsa belleği boşaltmaya başlar. Bu bir aşırı yüklenme durumu olarak kabul edilir.
Tor kullanılabilir bellek miktarını öngörmek için başlatıldığında MaxMemInQueues seçeneğine ya da bu ayarlanmamışsa sistemde var olan toplam RAM bellek miktarına bakarak bu algoritmayı uygular:
if RAM >= 8GB {
memory = RAM * 40%
} else {
memory = RAM * 75%
}
/* Sınırlanmış. */
memory = min(memory, 8GB) -> [8GB on 64bit and 2GB on 32bit)
/* En düşük değer. */
memory = max(250MB, memory)
Aşırı yüklenmeden kaçınmak için, 64bit ve RAM belleği 2GB üzerinde olan bir aktarıcı işletmeniz önerilir. 4GB önerilir, ancak olabiliyorsa daha fazla RAM eklemenin zararı olmaz. Not: Çok fazla RAM belleği olan güçlü bir sunucu işletiyorsanız, kullanılmayan çok fazla RAM belleğiniz olsa bile varsayılan 8 GB kuyruk boyutu sınırı nedeniyle aşırı yüklenme olabilir. Bu durumda torrc yapılandırmanıza uygun bir MaxMemInQueues kaydı ekleyin.
İşletim sistemi bellek tükendi işleyicisinin Tor uygulamasını çağırdığını fark edebilirsiniz. Tor, başlatıldığında sistemdeki tüm belleği aldığından, sistem üzerinde RAM belleğini kullanarak çalışan başka uygulamalar varsa, çok fazla bellek kullanılır. Bu durumda işletim sistemi, Tor bellek tükenmesini algılayamadan belleği tüketebilir.
tor_relay_load_socket_total
Açılan soket sayısı, kullanılabilecek toplam soket sayısına yakın ya da aynıysa, aktarıcının soketlerinin tükendiği anlaşılır. Çözüm, tor işleminin ulimit -n değerini artırmaktır.
tor_relay_load_tcp_exhaustion_total
Bu satırlar, aktarıcı TCP bağlantı noktalarının tükendiğini gösterir.
sysctl ayarını yukarıda anlatıldığı gibi yapmayı deneyin.
tor_relay_load_global_rate_limit_reached_total
Bu sayaç kısa bir süre içinde fark edilir bir değer kadar artarsa, aktarıcının tıkanmış olduğu anlaşılır. Büyük bir onion hizmeti tarafından Koruma aktarıcısı olarak veya ağda sürmekte olan bir DDoS saldırısı için kullanılıyor olabilir.
Aktarıcınız hala aşırı yükleniyorsa ve nedenini bilmiyorsanız, lütfen network-report@torproject.org adresine yazın. E-postanızı şifrelemek için network-report OpenPGP anahtarını kullanabilirsiniz.