[tor-commits] [tor/master] man: Add the MetricsPort manpage entry
ahf at torproject.org
ahf at torproject.org
Tue Oct 27 15:00:49 UTC 2020
commit 04ff22dc69496f8b05e9ef9ea3a0216ca5fec5be
Author: David Goulet <dgoulet at torproject.org>
Date: Thu Oct 22 14:21:43 2020 -0400
man: Add the MetricsPort manpage entry
Signed-off-by: David Goulet <dgoulet at torproject.org>
---
doc/man/tor.1.txt | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/doc/man/tor.1.txt b/doc/man/tor.1.txt
index 5f94f414b8..ab273925b1 100644
--- a/doc/man/tor.1.txt
+++ b/doc/man/tor.1.txt
@@ -744,6 +744,48 @@ forward slash (/) in the configuration file and on the command line.
total; this is intended to be used to debug problems without opening live
servers to resource exhaustion attacks. (Default: 10 MBytes)
+[[MetricsPort]] **MetricsPort** ['address'**:**]{empty}__port__ [__format__]::
+ WARNING: Before enabling this, it is important to understand that exposing
+ tor metrics publicly is dangerous to the Tor network users. Please take
+ extra precaution and care when opening this port. Set a very strict access
+ policy with MetricsPortPolicy and consider using your operating systems
+ firewall features for defense in depth.
+ +
+ We recommend, for the prometheus __format__, that the only address that
+ can access this port should be the Prometheus server itself. Remember that
+ the connection is unencrypted (HTTP) hence consider using a tool like
+ stunnel to secure the link from this port to the server.
+ +
+ If set, open this port to listen for an HTTP GET request to "/metrics".
+ Upon a request, the collected metrics in the the tor instance are
+ formatted for the given format and then sent back. If this is set,
+ MetricsPortPolicy must be defined else every request will be rejected.
+ +
+ Supported format is "prometheus" which is also the default if not set. The
+ Prometheus data model can be found here:
+ https://prometheus.io/docs/concepts/data_model/
+ +
+ The tor metrics are constantly collected and they solely consists of
+ counters. Thus, asking for those metrics is very lightweight on the tor
+ process. (Default: None)
+ +
+ As an example, here only 5.6.7.8 will be allowed to connect:
+
+ MetricsPort 1.2.3.4:9035
+ MetricsPortPolicy accept 5.6.7.8
+
+[[MetricsPortPolicy]] **MetricsPortPolicy** __policy__,__policy__,__...__::
+ Set an entrance policy for the **MetricsPort**, to limit who can access
+ it. The policies have the same form as exit policies below, except that
+ port specifiers are ignored. For multiple entries, this line can be used
+ multiple times. It is a reject all by default policy. (Default: None)
+ +
+ Please, keep in mind here that if the server collecting metrics on the
+ MetricsPort is behind a NAT, then everything behind it can access it. This
+ is similar for the case of allowing localhost, every users on the server
+ will be able to access it. Again, strongly consider using a tool like
+ stunnel to secure the link or to strengthen access control.
+
[[NoExec]] **NoExec** **0**|**1**::
If this option is set to 1, then Tor will never launch another
executable, regardless of the settings of ClientTransportPlugin
More information about the tor-commits
mailing list