trafficcontrol-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mitchell...@apache.org
Subject [trafficcontrol] 12/46: among other things, added load test instructions to router administration page
Date Wed, 26 Sep 2018 13:51:29 GMT
This is an automated email from the ASF dual-hosted git repository.

mitchell852 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git

commit df9484539d8294e4dba8c3a4043bff56d187cb9d
Author: ocket8888 <ocket8888@gmail.com>
AuthorDate: Wed Sep 12 11:09:00 2018 -0600

    among other things, added load test instructions to router administration page
---
 docs/source/admin/index.rst                        |   2 +-
 docs/source/admin/traffic_ops/configuration.rst    |   2 +-
 .../admin/traffic_ops/migration_from_20_to_22.rst  |   2 +-
 docs/source/admin/traffic_router.rst               | 676 ++++++++++-----------
 docs/source/admin/traffic_server.rst               | 108 ++--
 docs/source/admin/traffic_stats.rst                | 240 ++++----
 docs/source/development/traffic_monitor.rst        |  14 +-
 .../traffic_monitor/traffic_monitor_api.rst        |  12 +-
 docs/source/development/traffic_ops.rst            |   2 +-
 docs/source/development/traffic_router.rst         |  18 +-
 .../traffic_router/traffic_router_api.rst          |   2 +-
 docs/source/overview/traffic_monitor.rst           |   2 +-
 docs/source/overview/traffic_ops.rst               |   2 +-
 13 files changed, 539 insertions(+), 543 deletions(-)

diff --git a/docs/source/admin/index.rst b/docs/source/admin/index.rst
index 7de91d1..8725cad 100644
--- a/docs/source/admin/index.rst
+++ b/docs/source/admin/index.rst
@@ -24,7 +24,7 @@ When installing a complete CDN from scratch, a sample recommended order is:
 #. Traffic Vault (Riak)
 #. Traffic Monitor
 #. Apache Traffic Server Mid-Tier Caches
-#. Apache Traffic Server Edge Caches
+#. Apache Traffic Server Edge-Tier Caches
 #. Traffic Router
 #. Traffic Stats
 #. Traffic Portal
diff --git a/docs/source/admin/traffic_ops/configuration.rst b/docs/source/admin/traffic_ops/configuration.rst
index 92335b2..0b8c1e3 100644
--- a/docs/source/admin/traffic_ops/configuration.rst
+++ b/docs/source/admin/traffic_ops/configuration.rst
@@ -262,7 +262,7 @@ All servers also have to be part of a Cache Group. A Cache Group is a logical gr
 
 Configuring Content Purge
 =========================
-Content purge using ATS is not simple; there is no file system to delete files/directories from, and in large caches it can be hard to delete a simple regular expression from the cache. This is why Traffic Control uses the `Regex Revalidate Plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_revalidate.en.html>`_ to purge content from the system. We don't actually remove the content, we have a check that gets run before each request on each cache to see if t [...]
+Content purge using ATS is not simple; there is no file system to delete files/directories from, and in large caches it can be hard to delete a simple regular expression from the cache. This is why Traffic Control uses the `Regex Revalidate Plugin <https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/regex_revalidate.en.html>`_ to purge content from the system. We don't actually remove the content, we have a check that gets run before each request on each cache to see if t [...]
 
 Content Purge is controlled by the following parameters in the profile of the cache:
 
diff --git a/docs/source/admin/traffic_ops/migration_from_20_to_22.rst b/docs/source/admin/traffic_ops/migration_from_20_to_22.rst
index 1caa149..1104b12 100644
--- a/docs/source/admin/traffic_ops/migration_from_20_to_22.rst
+++ b/docs/source/admin/traffic_ops/migration_from_20_to_22.rst
@@ -148,4 +148,4 @@ Usage example:
 	#. Review output messages and make manual updates as needed. If you have modified a default value which the script also wants to change, it will prompt you to make the update manually. You may either do this directly in the JSON file or through the Traffic Portal GUI after import.
 	#. Use Traffic Portal GUI to import the newly created profile ('Configure' -> 'Profiles' -> 'More' -> 'Import Profile')
 
-.. [1] Another previously-used name for HTTP Delivery Services was ``ccr``
+.. [1] Another name previously used for HTTP Delivery Services was ``ccr``
diff --git a/docs/source/admin/traffic_router.rst b/docs/source/admin/traffic_router.rst
index 91974e1..811b7d0 100644
--- a/docs/source/admin/traffic_router.rst
+++ b/docs/source/admin/traffic_router.rst
@@ -25,108 +25,120 @@ Installing Traffic Router
 The following are requirements to ensure an accurate set up:
 
 * CentOS 7
-* 4 vCPUs
-* 8GB RAM
-* Successful install of Traffic Ops
-* Successful install of Traffic Monitor
+* 4 CPUs
+* 8GB of RAM
+* Successful install of Traffic Ops (usually on another machine)
+* Successful install of Traffic Monitor (usually on another machine)
 * Administrative access to Traffic Ops
 
-.. Note:: Hardware requirements are generally doubled if DNSSEC is enabled
+.. Note:: Hardware requirements are generally doubled if :ref:`tr-DNSSEC` is enabled
 
-1. If no suitable profile exists, create a new profile for Traffic Router.
+#. If no suitable profile exists, create a new profile for Traffic Router ('Configure' -> 'Profiles' -> '+').
 
-2. Enter the Traffic Router server into Traffic Ops, assign it to a Traffic Router profile, and ensure that its status is set to ``ONLINE``.
-3. Ensure the FQDN of the Traffic Router is resolvable in DNS. This FQDN must be resolvable by the clients expected to use this CDN.
-4. Install a traffic router: ``sudo yum install traffic_router``.
+	.. warning:: Traffic Ops will *only* recognize a profile as assignable to a Traffic Router if its name starts with the prefix ``ccr-``. The reason for this is a legacy limitation related to the old name for Traffic Router (Comcast Cloud Router), and will (hopefully) be rectified in the future as the old Perl parts of Traffic Ops are re-written in Go.
 
-.. Note:: As of Traffic Control version 3.0, traffic router depends upon a package called 'tomcat'. This package should have been created when you built Traffic Router. If you get an error while installing the 'traffic_router' package make sure that the 'tomcat' package is in your package repository.
+#. Enter the Traffic Router server into Traffic Portal (or via the Traffic Ops API), assign to it a Traffic Router profile, and ensure that its status is set to ``ONLINE``.
+#. Ensure the Fully Qualified Domain Name (FQDN) of the Traffic Router is resolvable in DNS. This FQDN must be resolvable by the clients expected to use this CDN.
+#. Install a Traffic Router server package, either from source or via ``yum install traffic_router`` if it happens to be in your repositories (check with ``yum whatprovides traffic_router``).
 
-5. Edit ``/opt/traffic_router/conf/traffic_monitor.properties`` and specify the correct online Traffic Monitor(s) for your CDN. See :ref:`tr-config-files`
-	# traffic_monitor.properties: url that should normally point to this file
-	traffic_monitor.properties=file:/opt/traffic_router/conf/traffic_monitor.properties
+	.. Note:: As of Traffic Control version 3.0, Traffic Router depends upon a package called ``tomcat``. This package should have been created when you built Traffic Router. If you get an error while installing the ``traffic_router`` package make sure that the ``tomcat`` package is available in your package repositories.
 
-	# Frequency for reloading this file
-	# traffic_monitor.properties.reload.period=60000
+#. Edit ``/opt/traffic_router/conf/traffic_monitor.properties`` and specify the correct online Traffic Monitor(s) for your CDN. See :ref:`tr-config-files`
 
+	:traffic_monitor.properties: URL that should normally point to this file. e.x. ``traffic_monitor.properties=file:/opt/traffic_router/conf/traffic_monitor.properties``
 
-6. Start Traffic Router: ``sudo systemctl start traffic_router``, and test lookups with dig and curl against that server.
-	To restart, ``sudo systemctl stop traffic_router``, kill the traffic router process, and ``sudo systemctl restart traffic_router``
-	Also, crconfig previously recieved will be cached, and needs to be removed manually to actually be reloaded /opt/traffic_router/db/cr-config.json
-7. Snapshot CRConfig; See :ref:`snapshot-crconfig`
+	:traffic_monitor.properties.reload.period: Period to wait (in milliseconds) between reloading this file. e.x. ``traffic_monitor.properties.reload.period=60000``
 
-..  Note:: Once the CRConfig is snapshotted, live traffic will be sent to the new Traffic Routers provided that their status is set to ``ONLINE``.
 
-8. Ensure that the parent domain (e.g.: kabletown.net) for the CDN's top level domain (e.g.: cdn.kabletown.net) contains a delegation (NS records) for the new Traffic Router, and that the value specified matches the FQDN used in step 3.
+#. Start Traffic Router. This can be done by running ``systemctl start traffic_router`` as the root user (or with ``sudo``), and test DNS lookups against that server with e.g. ``dig`` or ``curl``. To restart Traffic Router, run ``systemctl restart traffic_router`` as the root user (or with ``sudo``). Also, because previously received CRConfigs will be cached, they need to be removed manually to actually be reloaded. This file should be located at ``/opt/traffic_router/db/cr-config.json``.
+
+#. Snapshot CRConfig; See :ref:`snapshot-crconfig`
+
+	..  Note:: Once the CRConfig is 'snapshotted', live traffic will be sent to the new Traffic Routers provided that their status has been set to ``ONLINE``.
+
+#. Ensure that the parent domain (e.g.: ``cdn.local``) for the CDN's top level domain (e.g.: ``ciab.cdn.local``) contains a delegation (Name Server records) for the new Traffic Router, and that the value specified matches the FQDN used in above.
 
 Configuring Traffic Router
 ==========================
 
-.. Note:: Traffic Router 3.0 has been converted to a formal Tomcat instance, meaning that is now installed separately from the Tomcat servlet engine. The Traffic Router installation package contains all of the Traffic Router specific software, configuration and startup scripts including some additional configuration files needed for Tomcat. These new configuration files can all be found in the ``/opt/traffic_router/conf`` directory and generally serve to override Tomcat's default settings.
 .. Note:: Starting with Traffic Router 1.5, many of the configuration files under ``/opt/traffic_router/conf`` are only needed to override the default configuration values for Traffic Router. Most of the given default values will work well for any CDN. Critical values that must be changed are hostnames and credentials for communicating with other Traffic Control components such as Traffic Ops and Traffic Monitor.
 
-.. Note:: Pre-existing installations having configuration files in ``/opt/traffic_router/conf`` will still be used and honored for Traffic Router 1.5 and onward.
+.. Note:: Pre-existing installations that store configuration files under ``/opt/traffic_router/conf`` will still be used and honored for Traffic Router 1.5 onward.
+
+.. Note:: Traffic Router 3.0 has been converted to a formal Tomcat instance, meaning that is now installed separately from the Tomcat servlet engine. The Traffic Router installation package contains all of the Traffic Router-specific software, configuration and startup scripts including some additional configuration files needed for Tomcat. These new configuration files can all be found in the ``/opt/traffic_router/conf`` directory and generally serve to override Tomcat's default settings.
 
-For the most part, the configuration files and parameters that follow are used to get Traffic Router online and communicating with various Traffic Control components. Once Traffic Router is successfully communicating with Traffic Control, configuration is mostly performed in Traffic Ops, and is distributed throughout Traffic Control via the CRConfig snapshot process. See :ref:`snapshot-crconfig` for more information. Please see the parameter documentation for Traffic Router in the Using  [...]
+For the most part, the configuration files and parameters that follow are used to get Traffic Router online and communicating with various Traffic Control components. Once Traffic Router is successfully communicating with Traffic Control, configuration should mostly be performed in Traffic Portal, and will be distributed throughout Traffic Control via the CRConfig snapshot process. See :ref:`snapshot-crconfig` for more information. Please see the parameter documentation for Traffic Route [...]
 
 .. _tr-config-files:
 
 Configuration files
 -------------------
 
-+----------------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|         File name          |                 Parameter                 |                                             Description                                             |                   Default Value                   |
-+============================+===========================================+=====================================================================================================+===================================================+
-| traffic_monitor.properties | traffic_monitor.bootstrap.hosts           | Traffic Monitor FQDNs and port if necessary, separated by a semicolon (;)                           | N/A                                               |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | traffic_monitor.bootstrap.local           | Use only the Traffic Monitors specified in config file                                              | false                                             |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | traffic_monitor.properties                | Path to the traffic_monitor.properties file; used internally to monitor the file for changes        | /opt/traffic_router/traffic_monitor.properties    |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | traffic_monitor.properties.reload.period  | The interval in milliseconds which Traffic Router will reload this configuration file               | 60000                                             |
-+----------------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-| dns.properties             | dns.tcp.port                              | TCP port that Traffic Router will use for incoming DNS requests                                     | 53                                                |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | dns.tcp.backlog                           | Maximum length of the queue for incoming TCP connection requests                                    | 0                                                 |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | dns.udp.port                              | UDP port that Traffic Router will use for incoming DNS requests                                     | 53                                                |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | dns.max-threads                           | Maximum number of threads used to process incoming DNS requests                                     | 1000                                              |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | dns.zones.dir                             | Path to auto generated zone files for reference                                                     | /opt/traffic_router/var/auto-zones                |
-+----------------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-| traffic_ops.properties     | traffic_ops.username                      | Username to access the APIs in Traffic Ops (must be in the admin role)                              | admin                                             |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | traffic_ops.password                      | Password for the user specified in traffic_ops.username                                             | N/A                                               |
-+----------------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-| cache.properties           | cache.geolocation.database                | Full path to the local copy of the MaxMind geolocation binary database file                         | /opt/traffic_router/db/GeoIP2-City.mmdb           |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | cache.geolocation.database.refresh.period | The interval in milliseconds which Traffic Router will poll for a new geolocation database          | 604800000                                         |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | cache.czmap.database                      | Full path to the local copy of the coverage zone file                                               | /opt/traffic_router/db/czmap.json                 |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | cache.czmap.database.refresh.period       | The interval in milliseconds which Traffic Router will poll for a new coverage zone file            | 10800000                                          |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | cache.dczmap.database                     | Full path to the local copy of the deep coverage zone file                                          | /opt/traffic_router/db/dczmap.json                |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | cache.dczmap.database.refresh.period      | The interval in milliseconds which Traffic Router will poll for a new deep coverage zone file       | 10800000                                          |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | cache.health.json                         | Full path to the local copy of the health state                                                     | /opt/traffic_router/db/health.json                |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | cache.health.json.refresh.period          | The interval in milliseconds which Traffic Router will poll for a new health state file             | 1000                                              |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | cache.config.json                         | Full path to the local copy of the CRConfig                                                         | /opt/traffic_router/db/cr-config.json             |
-|                            +-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-|                            | cache.config.json.refresh.period          | The interval in milliseconds which Traffic Router will poll for a new CRConfig                      | 60000                                             |
-+----------------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-| startup.properties         | various parameters                        | This configuration is used by systemctl to set environment variables when the traffic_router        |                                                   |
-|                            |                                           | service is started. It primarily consists of command line settings for the Java process.            | N/A                                               |
-+----------------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-| log4j.properties           | various parameters                        | Configuration of log4j is documented on their site; adjust as necessary based on needs              | N/A                                               |
-+----------------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-| server.xml                 | various parameters                        | Traffic Router specific configuration for Apache Tomcat. See Apache Tomcat documentation.           | N/A                                               |
-+----------------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
-| web.xml                    | various parameters                        | Default settings for all Web Applications running in the Traffic Router instance of Tomcat.         | N/A                                               |
-+----------------------------+-------------------------------------------+-----------------------------------------------------------------------------------------------------+---------------------------------------------------+
++----------------------------+-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|         File name          |                 Parameter                 |                                        Description                                    |                   Default Value                    |
++============================+===========================================+=======================================================================================+====================================================+
+| traffic_monitor.properties | traffic_monitor.bootstrap.hosts           | Semicolon-delimited Traffic Monitor FQDNs - with port numbers as necessary            | N/A                                                |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | traffic_monitor.bootstrap.local           | Use only the Traffic Monitors specified in local configuration files                  | ``false``                                          |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | traffic_monitor.properties                | Path to the ``traffic_monitor.properties`` file; used internally to monitor the file  | ``/opt/traffic_router/traffic_monitor.properties`` |
+|                            |                                           | for changes                                                                           |                                                    |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | traffic_monitor.properties.reload.period  | The interval in milliseconds for Traffic Router to wait between reloading this        | ``60000``                                          |
+|                            |                                           | configuration file                                                                    |                                                    |
++----------------------------+-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+| dns.properties             | dns.tcp.port                              | TCP port that Traffic Router will use for incoming DNS requests                       | ``53``                                             |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | dns.tcp.backlog                           | Maximum length of the queue for incoming TCP connection requests                      | ``0``                                              |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | dns.udp.port                              | UDP port that Traffic Router will use for incoming DNS requests                       | ``53``                                             |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | dns.max-threads                           | Maximum number of threads used to process incoming DNS requests                       | ``1000``                                           |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | dns.zones.dir                             | Path to automatically generated zone files for reference                              | ``/opt/traffic_router/var/auto-zones``             |
++----------------------------+-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+| traffic_ops.properties     | traffic_ops.username                      | Username with which to access the APIs in Traffic Ops (must be in the ``admin`` role) | ``admin``                                          |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | traffic_ops.password                      | Password for the user specified in ``traffic_ops.username``                           | N/A                                                |
++----------------------------+-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+| cache.properties           | cache.geolocation.database                | Full path to the local copy of a GeoIP2 (usually MaxMind) binary database file        | ``/opt/traffic_router/db/GeoIP2-City.mmdb``        |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | cache.geolocation.database.refresh.period | The interval in milliseconds for Traffic Router to wait between polling for changes   | ``604800000``                                      |
+|                            |                                           | to the GeoIP2 database                                                                |                                                    |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | cache.czmap.database                      | Full path to the local copy of the coverage zone file                                 | ``/opt/traffic_router/db/czmap.json``              |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | cache.czmap.database.refresh.period       | The interval in milliseconds for Traffic Router to wait between polling for a new     | ``10800000``                                       |
+|                            |                                           | coverage zone file                                                                    |                                                    |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | cache.dczmap.database                     | Full path to the local copy of the deep coverage zone file                            | ``/opt/traffic_router/db/dczmap.json``             |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | cache.dczmap.database.refresh.period      | The interval in milliseconds for Traffic Router to wait between polling for a new     | ``10800000``                                       |
+|                            |                                           | deep coverage zone file                                                               |                                                    |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | cache.health.json                         | Full path to the local copy of the health state                                       | ``/opt/traffic_router/db/health.json``             |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | cache.health.json.refresh.period          | The interval in milliseconds which Traffic Router will poll for a new health state    | ``1000``                                           |
+|                            |                                           | file                                                                                  |                                                    |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | cache.config.json                         | Full path to the local copy of the CRConfig                                           | ``/opt/traffic_router/db/cr-config.json``          |
+|                            +-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+|                            | cache.config.json.refresh.period          | The interval in milliseconds which Traffic Router will poll for a new CRConfig        | ``60000``                                          |
++----------------------------+-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+| startup.properties         | various parameters                        | This configuration is used by ``systemctl`` to set environment variables when the     | N/A                                                |
+|                            |                                           | ``traffic_router`` service is started. It primarily consists of command line settings |                                                    |
+|                            |                                           | for the Java process                                                                  |                                                    |
++----------------------------+-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+| log4j.properties           | various parameters                        | Configuration of ``log4j`` is                                                         | N/A                                                |
+|                            |                                           | `documented on their site <http://logging.apache.org/log4j/2.x/index.html>`_; adjust  |                                                    |
+|                            |                                           | as needed                                                                             |                                                    |
++----------------------------+-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+| server.xml                 | various parameters                        | Traffic Router specific configuration for Apache Tomcat. See the                      | N/A                                                |
+|                            |                                           | `Apache Tomcat documentation <https://tomcat.apache.org/tomcat-8.5-doc/index.html>`_. |                                                    |
++----------------------------+-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
+| web.xml                    | various parameters                        | Default settings for all Web Applications running in the Traffic Router instance of   | N/A                                                |
+|                            |                                           | Tomcat                                                                                |                                                    |
++----------------------------+-------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------+
 
 .. _tr-dnssec:
 
@@ -139,64 +151,63 @@ Domain Name System Security Extensions (DNSSEC) is a set of extensions to DNS th
 
 Several RFCs (4033, 4044, 4045) describe the low level details and define the extensions, RFC 7129 provides clarification around authenticated denial of existence of records, and finally RFC 6781 describes operational best practices for administering an authoritative DNSSEC enabled DNS server. The authenticated denial of existence RFC describes how an authoritative DNS server responds in NXDOMAIN and NODATA scenarios when DNSSEC is enabled.
 
-Traffic Router currently supports DNSSEC with NSEC, however, NSEC3 and more configurable options will be provided in the future.
+Traffic Router currently supports DNSSEC with NSEC, however, NSEC3 and more configurable options are planned for the future.
 
 Operation
 ---------
-Upon startup or a configuration change, Traffic Router obtains keys from the keystore API in Traffic Ops which returns key signing keys (KSK) and zone signing keys (ZSK) for each delivery service that is a subdomain off the CDN's top level domain (TLD), in addition to the keys for the CDN TLD itself. Each key has timing information that allows Traffic Router to determine key validity (expiration, inception, and effective dates) in addition to the appropriate TTL to use for the DNSKEY rec [...]
+Upon startup or a configuration change, Traffic Router obtains keys from the 'keystore' API in Traffic Ops which returns key signing keys (KSK) and zone signing keys (ZSK) for each Delivery Service that is a sub-domain of the CDN's Top Level Domain (TLD) in addition to the keys for the CDN TLD itself. Each key has timing information that allows Traffic Router to determine key validity (expiration, inception, and effective dates) in addition to the appropriate Time To Live (TTL) to use fo [...]
 
-Once Traffic Router obtains the key data from the API, it converts each public key into the appropriate record types (DNSKEY, DS) to place in zones and uses the private key to sign zones. DNSKEY records are added to each delivery service's zone (e.g.: mydeliveryservice.cdn.kabletown.net) for every valid key that exists, in addition to the CDN TLD's zone. A DS record is generated from each zone's KSK and is placed in the CDN TLD's zone (e.g.: cdn.kabletown.net); the DS record for the CDN  [...]
+Once Traffic Router obtains the key data from the API, it converts each public key into the appropriate record types (DNSKEY, DS) to place in zones and uses the private key to sign zones. DNSKEY records are added to each Delivery Service's zone (e.g.: mydeliveryservice.ciab.cdn.local) for every valid key that exists, in addition to the CDN TLD's zone. A DS record is generated from each zone's KSK and is placed in the CDN TLD's zone (e.g.: ciab.cdn.local); the DS record for the CDN TLD mu [...]
 
-The DNSKEY to DS record relationship allows resolvers to validate signatures across zone delegation points; with Traffic Control, we control all delegation points below the CDN's TLD, **however, the DS record for the CDN TLD must be placed in the parent zone (e.g.: kabletown.net), which is not managed by Traffic Control**. As such, the DS record (available in the Traffic Ops DNSSEC administration UI) must be placed in the parent zone prior to enabling DNSSEC, and prior to generating a ne [...]
+The DNSKEY to DS record relationship allows resolvers to validate signatures across zone delegation points. With Traffic Control, we control all delegation points below the CDN's TLD, **however, the DS record for the CDN TLD must be placed in the parent zone (e.g.: cdn.local), which is not managed by Traffic Control**. As such, the DS record must be placed in the parent zone prior to enabling DNSSEC, and prior to generating a new CDN KSK. Based on your deployment's DNS configuration, thi [...]
+
+To enable DNSSEC for a CDN in Traffic Portal, Go to 'CDNs' from the sidebar and click on the desired CDN, then toggle the 'DNSSEC Enabled' field to 'true', and click on the green 'Update' button to save the changes.
 
 Rolling Zone Signing Keys
 -------------------------
-Traffic Router currently follows the zone signing key pre-publishing operational best practice described in `section 4.1.1.1 of RFC 6781`_. Once DNSSEC is enabled for a CDN in Traffic Ops, key rolls are triggered via Traffic Ops via the automated key generation process, and Traffic Router selects the active zone signing keys based on the expiration information returned from the keystore API in Traffic Ops.
+Traffic Router currently follows the zone signing key pre-publishing operational best practice described in `section 4.1.1.1 of RFC 6781`_. Once DNSSEC is enabled for a CDN in Traffic Portal, key rolls are triggered by Traffic Ops via the automated key generation process, and Traffic Router selects the active zone signing keys based on the expiration information returned from the 'keystore' API of Traffic Ops.
 
 .. _section 4.1.1.1 of RFC 6781: https://tools.ietf.org/html/rfc6781#section-4.1.1.1
 
-Troubleshooting and log files
+Troubleshooting and Log Files
 =============================
-Traffic Router log files are in ``/opt/traffic_router/var/log``. Initialization and shutdown logs are in ``/opt/tomcat/logs/catalina[date].out``. Application related logging is in ``/opt/traffic_router/var/log/traffic_router.log``, while access logs are written to ``/opt/traffic_router/var/log/access.log``.
+Traffic Router log files can be found under ``/opt/traffic_router/var/log`` and ``/opt/tomcat/logs``. Initialization and shutdown logs are in ``/opt/tomcat/logs/catalina[date].out``. Application related logging is in ``/opt/traffic_router/var/log/traffic_router.log``, while access logs are written to ``/opt/traffic_router/var/log/access.log``.
 
 Event Log File Format
-=====================
+---------------------
 
 Summary
--------
+"""""""
 
 All access events to Traffic Router are logged to the file ``/opt/traffic_router/var/log/access.log``
-This file grows up to 200Mb and gets rolled into older log files, 10 log files total are kept (total of up to 2Gb of logged events per traffic router)
+This file grows up to 200MB and gets rolled into older log files, 10 log files total are kept (total of up to 2GB of logged events per Traffic Router instance)
 
 Traffic Router logs access events in a format that largely following `ATS event logging format
 <https://docs.trafficserver.apache.org/en/6.0.x/admin/event-logging-formats.en.html>`_
 
---------------
+Message Format
+""""""""""""""
+- Except for the first item, each event that is logged is a series of space-separated key/value pairs.
+- The first item is always the Unix epoch in seconds with a decimal field precision of up to milliseconds.
+- Each key/value pair is in the form of ``unquoted_string="optionally quoted string"``
+- Values that are quoted strings may contain whitespace characters.
+- Values that are not quoted should not contains any whitespace characters.
+
+.. Note:: Any value that is a single dash character or a dash character enclosed in quotes represents an empty value
 
 Sample Message
---------------
+""""""""""""""
 
-Items within brackets below are detailed under the HTTP and DNS sections
-::
+Items within brackets below are detailed under the HTTP and DNS sections::
 
   144140678.000 qtype=DNS chi=192.168.10.11 ttms=789 [Fields Specific to the DNS request] rtype=CZ rloc="40.252611,58.439389" rdtl=- rerr="-" [Fields Specific to the DNS result]
   144140678.000 qtype=HTTP chi=192.168.10.11 ttms=789 [Fields Specific to the HTTP request] rtype=GEO rloc="40.252611,58.439389" rdtl=- rerr="-" [Fields Specific to the HTTP result]
 
 .. Note:: The above message samples contain fields that are always present for every single access event to Traffic Router
 
-**Message Format**
-- Each event that is logged is a series of space separated key value pairs except for the first item.
-- The first item is always the epoch in seconds with a decimal field precision of up to milliseconds
-- Each key value pair is in the form of unquoted string, equals character, optionally quoted string
-- Values that are quoted strings may contain space characters
-- Values that are not quoted should not contains any space characters
-
-.. Note:: Any value that is a single dash character or a dash character enclosed in quotes represents an empty value
-
---------
 
 Fields Always Present
----------------------
+"""""""""""""""""""""
 
 +------+---------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
 |Name  |Description                                                                      |Data                                                                                |
@@ -217,71 +228,63 @@ Fields Always Present
 +------+---------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
 
 
-**rtype meanings**
-
-+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|Name         |Meaning                                                                                                                                                                 |
-+=============+========================================================================================================================================================================+
-|ERROR        |An internal error occurred within Traffic Router, more details may be found in the rerr field                                                                           |
-+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|CZ           |The result was derived from Coverage Zone data based on the address in the chi field                                                                                    |
-+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|DEEP_CZ      |The result was derived from Deep Coverage Zone data based on the address in the chi field                                                                               |
-+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|GEO          |The result was derived from geolocation service based on the address in the chi field                                                                                   |
-+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|MISS         |Traffic Router was unable to resolve a DNS request or find a cache for the requested resource                                                                           |
-+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|STATIC_ROUTE |_*DNS Only*_ No DNS Delivery Service supports the hostname portion of the requested url                                                                                 |
-+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|DS_MISS      |_*HTTP Only*_ No HTTP Delivery Service supports either this request's URL path or headers                                                                               |
-+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|DS_REDIRECT  |The result is using the Bypass Destination configured for the matched Delivery Service when that Delivery Service is unavailable or does not have the requested resource|
-+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|FED          |_*DNS Only*_ The result was obtained through federated coverage zone data outside of any delivery service                                                               |
-+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|GEO_REDIRECT |The request was redirected (302) based on the National Geo blocking (Geo Limit Redirect URL) configured on the Delivery Service.                                        |
-+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|RGALT        |The request was redirected (302) to the Regional Geo blocking URL. Regional Geo blocking is enabled on the Delivery Service and is configured through the               |
-|             |regional_geoblock.polling.url setting for the Traffic Router profile.                                                                                                   |
-+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-|RGDENY       |_*DNS Only*_ The result was obtained through federated coverage zone data outside of any delivery service The request was regionally blocked because there was no rule  |
-|             |for the request made.                                                                                                                                                   |
-+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| "-"         |The request was not redirected. This is usually a result of a DNS request to the Traffic Router or an explicit denial for that request.                                 |
-+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-
-**rdtl meanings**
-
-+---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
-|Name                                   |Meaning                                                                                                                                     |
-+=======================================+============================================================================================================================================+
-|DS_NOT_FOUND                           |Always goes with rtypes STATIC_ROUTE and DS_MISS                                                                                            |
-+---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
-|DS_BYPASS                              |Used Bypass Destination for Redirect of Delivery Service                                                                                    |
-+---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
-|DS_NO_BYPASS                           |No valid Bypass Destination is configured for the matched Delivery Service and the delivery service does not have the requested resource    |
-+---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
-|DS_CZ_ONLY                             |The selected Delivery Service only supports resource lookup based on Coverage Zone data                                                     |
-+---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
-|DS_CLIENT_GEO_UNSUPPORTED              |Traffic Router did not find a resource supported by coverage zone data and was unable to determine the geolocation of the requesting client |
-+---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
-|GEO_NO_CACHE_FOUND                     |Traffic Router could not find a resource via geolocation data based on the requesting client's geolocation                                  |
-+---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
-|NO_DETAILS                             |This entry is for a standard request.                                                                                                       |
-+---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
-|REGIONAL_GEO_ALTERNATE_WITHOUT_CACHE   |This goes with the rtype RGDENY. The URL is being regionally Geo blocked.                                                                   |
-+---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
-|REGIONAL_GEO_NO_RULE                   |The request was blocked because there was no rule in the Delivery Service for the request.                                                  |
-+---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
-| "-"                                   |The request was not redirected. This is usually a result of a DNS request to the Traffic Router or an explicit denial for that request.     |
-+---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
-|DS_CZ_BACKUP_CG                        |Traffic Router found a backup cache via fallback (cr-config's edgeLocation)  / coordinates (CZF) configuration                              |
-+---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+
+``rtype`` Meanings
+^^^^^^^^^^^^^^^^^^
 
+:"-":          The request was not redirected. This is usually a result of a DNS request to the Traffic Router or an explicit denial for that request
+
+:CZ:           The result was derived from Coverage Zone data based on the address in the ``chi`` field
+
+:DEEP_CZ:      The result was derived from Deep Coverage Zone data based on the address in the ``chi`` field
+
+:DS_MISS:      _*HTTP Only*_ No HTTP Delivery Service supports either this request's URL path or headers
+
+:DS_REDIRECT:  The result is using the Bypass Destination configured for the matched Delivery Service when that Delivery Service is unavailable or does not have the requested resource
+
+:ERROR:        An internal error occurred within Traffic Router, more details may be found in the ``rerr`` field
+
+:FED:          _*DNS Only*_ The result was obtained through federated coverage zone data outside of any Delivery Service
+
+:GEO:          The result was derived from geolocation service based on the address in the ``chi`` field
+
+:GEO_REDIRECT: The request was redirected (302) based on the National Geo blocking (Geo Limit Redirect URL) configured on the Delivery Service
+
+:MISS:         Traffic Router was unable to resolve a DNS request or find a cache for the requested resource
+
+:RGALT:        The request was redirected (302) to the Regional Geo blocking URL. Regional Geo blocking is enabled on the Delivery Service and is configured through the ``regional_geoblock.polling.url`` setting for the Traffic Router profile
+
+:RGDENY:       _*DNS Only*_ The result was obtained through federated coverage zone data outside of any Delivery Service The request was regionally blocked because there was no rule for the request made
+
+:STATIC_ROUTE: _*DNS Only*_ No DNS Delivery Service supports the hostname portion of the requested url
+
+
+
+
+``rdtl`` Meanings
+^^^^^^^^^^^^^^^^^
+
+:"-":                                  The request was not redirected. This is usually a result of a DNS request to the Traffic Router or an explicit denial for that request
+
+:DS_BYPASS:                            Used Bypass Destination for Redirect of Delivery Service
+
+:DS_CLIENT_GEO_UNSUPPORTED:            Traffic Router did not find a resource supported by coverage zone data and was unable to determine the geographic location of the requesting client
+
+:DS_CZ_BACKUP_CG:                      Traffic Router found a backup cache via fall-back (CRconfig's ``edgeLocation``)  or via coordinates (CZF) configuration
+
+:DS_CZ_ONLY:                           The selected Delivery Service only supports resource lookup based on Coverage Zone data
+
+:DS_NO_BYPASS:                         No valid Bypass Destination is configured for the matched Delivery Service and the Delivery Service does not have the requested resource
+
+:DS_NOT_FOUND:                         Always goes with ``rtypes`` STATIC_ROUTE and DS_MISS
+
+:GEO_NO_CACHE_FOUND:                   Traffic Router could not find a resource via geographic location data based on the requesting client's location
+
+:NO_DETAILS:                           This entry is for a standard request
+
+:REGIONAL_GEO_ALTERNATE_WITHOUT_CACHE: This goes with the ``rtype`` RGDENY. The URL is being regionally blocked
+
+:REGIONAL_GEO_NO_RULE:                 The request was blocked because there was no rule in the Delivery Service for the request
 
----------------
 
 HTTP Specifics
 --------------
@@ -291,27 +294,27 @@ Sample Message
 
   1452197640.936 qtype=HTTP chi=69.241.53.218 url="http://foo.mm-test.jenkins.cdnlab.comcast.net/some/asset.m3u8" cqhm=GET cqhv=HTTP/1.1 rtype=GEO rloc="40.252611,58.439389" rdtl=- rerr="-" pssc=302 ttms=0 rurl="http://odol-atsec-sim-114.mm-test.jenkins.cdnlab.comcast.net:8090/some/asset.m3u8" rh="Accept: */*" rh="myheader: asdasdasdasfasg"
 
-**Request Fields**
+.. table:: Request Fields
 
-+-----+-----------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------+
-|Name |Description                                                                                                                              |Data                                       |
-+=====+=========================================================================================================================================+===========================================+
-|url  |Requested URL with query string                                                                                                          |String                                     |
-+-----+-----------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------+
-|cqhm |Http Method                                                                                                                              |e.g GET, POST                              |
-+-----+-----------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------+
-|cqhv |Http Protocol Version                                                                                                                    |e.g. HTTP/1.1                              |
-+-----+-----------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------+
-|rh   |One or more of these key value pairs may exist in a logged event and are controlled by the configuration of the matched Delivery Service |Key value pair of the format "name: value" |
-+-----+-----------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------+
+	+-----+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+
+	|Name |Description                                                                                                                              |Data                                         |
+	+=====+=========================================================================================================================================+=============================================+
+	|url  |Requested URL with query string                                                                                                          |A URL String                                 |
+	+-----+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+
+	|cqhm |Http Method                                                                                                                              |e.g ``GET``, ``POST``                        |
+	+-----+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+
+	|cqhv |Http Protocol Version                                                                                                                    |e.g. ``HTTP/1.1``                            |
+	+-----+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+
+	|rh   |One or more of these key value pairs may exist in a logged event and are controlled by the configuration of the matched Delivery Service |Key/value pair of the format ``name: value`` |
+	+-----+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------+
 
-**Response Fields**
+.. table:: Response Fields
 
-+-----+----------------------------------------------------------+------------+
-|Name |Description                                               |Data        |
-+=====+==========================================================+============+
-|rurl |The resulting url of the resource requested by the client |A URL String|
-+-----+----------------------------------------------------------+------------+
+	+-----+----------------------------------------------------------+------------+
+	|Name |Description                                               |Data        |
+	+=====+==========================================================+============+
+	|rurl |The resulting URL of the resource requested by the client |A URL String|
+	+-----+----------------------------------------------------------+------------+
 
 ------------
 
@@ -323,69 +326,74 @@ Sample Message
 
   144140678.000 qtype=DNS chi=192.168.10.11 ttms=123 xn=65535 fqdn=www.example.com. type=A class=IN ttl=12345 rcode=NOERROR rtype=CZ rloc="40.252611,58.439389" rdtl=- rerr="-" ans="192.168.1.2 192.168.3.4 0:0:0:0:0:ffff:c0a8:102 0:0:0:0:0:ffff:c0a8:304"
 
-**Request Fields**
-
 .. _qname: http://www.zytrax.com/books/dns/ch15/#qname
 
 .. _qtype: http://www.zytrax.com/books/dns/ch15/#qtype
 
-+------+------------------------------------------------------------------+--------------------------------------------------------+
-|Name  |Description                                                       |Data                                                    |
-+======+==================================================================+========================================================+
-|xn    |The ID from the client DNS request header                         |a number from 0 to 65535                                |
-+------+------------------------------------------------------------------+--------------------------------------------------------+
-|fqdn  |The qname field from the client DNS request message (i.e. The     |A series of DNS labels/domains separated by '.'         |
-|      |fully qualified domain name the client is requesting be resolved) |characters and ending with a '.' character (see qname_) |
-+------+------------------------------------------------------------------+--------------------------------------------------------+
-|type  |The qtype field from the client DNS request message (i.e.         |Examples are A (IpV4), AAAA (IpV6), NS (Name Service),  |
-|      |the type of resolution that's requested such as IPv4, IPv6)       |  SOA (Start of Authority), and CNAME, (see qtype_)     |
-+------+------------------------------------------------------------------+--------------------------------------------------------+
-|class |The qclass field from the client DNS request message (i.e. The    |Either IN (Internet resource) or ANY (Traffic router    |
-|      |class of resource being requested)                                |  rejects requests with any other value of class)       |
-+------+------------------------------------------------------------------+--------------------------------------------------------+
-
-**Response Fields**
-
-+------+---------------------------------------------------------------------+-----------------------------------------------------+
-|Name  | Description                                                         | Data                                                |
-+======+=====================================================================+=====================================================+
-|ttl   | The 'time to live' in seconds for the answer provided by Traffic    |A number from 0 to 4294967295                        |
-|      | Router (clients can reliably use this answer for this long without  |                                                     |
-|      | re-querying traffic router)                                         |                                                     |
-+------+---------------------------------------------------------------------+-----------------------------------------------------+
-|rcode | The result code for the DNS answer provided by Traffic Router       | One of NOERROR (success), NOTIMP (request is not    |
-|      |                                                                     | NOTIMP (request is not  supported),                 |
-|      |                                                                     | REFUSED (request is refused to be answered), or     |
-|      |                                                                     | NXDOMAIN (the domain/name requested does not exist) |
-+------+---------------------------------------------------------------------+-----------------------------------------------------+
+.. table:: Request Fields
+
+	+------+------------------------------------------------------------------+--------------------------------------------------------+
+	|Name  |Description                                                       |Data                                                    |
+	+======+==================================================================+========================================================+
+	|xn    |The ID from the client DNS request header                         |a whole number between 0 and 65535 (inclusive)          |
+	+------+------------------------------------------------------------------+--------------------------------------------------------+
+	|fqdn  |The qname field from the client DNS request message (i.e. The     |A series of DNS labels/domains separated by '.'         |
+	|      |fully qualified domain name the client is requesting be resolved) |characters and ending with a '.' character (see qname_) |
+	+------+------------------------------------------------------------------+--------------------------------------------------------+
+	|type  |The qtype field from the client DNS request message (i.e.         |Examples are A (IpV4), AAAA (IpV6), NS (Name Service),  |
+	|      |the type of resolution that's requested such as IPv4, IPv6)       |SOA (Start of Authority), and CNAME, (see qtype_)       |
+	+------+------------------------------------------------------------------+--------------------------------------------------------+
+	|class |The qclass field from the client DNS request message (i.e. The    |Either IN (Internet resource) or ANY (Traffic router    |
+	|      |class of resource being requested)                                |rejects requests with any other value of class)         |
+	+------+------------------------------------------------------------------+--------------------------------------------------------+
+
+.. table:: Response Fields
+
+	+------+---------------------------------------------------------------------+-----------------------------------------------------+
+	|Name  | Description                                                         | Data                                                |
+	+======+=====================================================================+=====================================================+
+	|ttl   | The 'time to live' in seconds for the answer provided by Traffic    |A whole number between 0 and 4294967295 (inclusive)  |
+	|      | Router (clients can reliably use this answer for this long without  |                                                     |
+	|      | re-querying traffic router)                                         |                                                     |
+	+------+---------------------------------------------------------------------+-----------------------------------------------------+
+	|rcode | The result code for the DNS answer provided by Traffic Router       | One of NOERROR (success), NOTIMP (request is not    |
+	|      |                                                                     | NOTIMP (request is not  supported),                 |
+	|      |                                                                     | REFUSED (request is refused to be answered), or     |
+	|      |                                                                     | NXDOMAIN (the domain/name requested does not exist) |
+	+------+---------------------------------------------------------------------+-----------------------------------------------------+
 
 .. _tr-ngb:
 
-GeoLimit Failure Redirect feature
+GeoLimit Failure Redirect Feature
 =================================
 
 Overview
 --------
-This feature is also called 'National GeoBlock' feature which is short for 'NGB' feature. In this section, the acronym 'NGB' will be used for this feature.
 
-In the past, if the Geolimit check fails (for example, the client ip is not in the 'US' region but the geolimit is set to 'CZF + US'), the router will return 503 response; but with this feature, when the check fails, it will return 302 if the redirect url is set in the delivery service.
+This feature is also called 'National GeoBlock' (NGB).
+
+In the past, if the Geolimit check fails (for example, the client IP is not in the 'US' region but the Geolimit is set to 'CZF + US'), the router will respond with ``503 Service Unavailable``, but with this feature, when the check fails, it will respond with ``302 Found`` if the redirect URL is set in the Delivery Service.
 
-The Geolimit check failure has such scenarios:
-1) When the GeoLimit is set to 'CZF + only', if the client ip is not in the the CZ file, the check fails
-2) When the GeoLimit is set to any region, like 'CZF + US', if the client ip is not in such region, and the client ip is not in the CZ file, the check fails
+The Geolimit check will fail in the following scenarios:
+	- When the GeoLimit is set to 'CZF + only' and the client IP is not in the the CZ file
+	- When the GeoLimit is set to any region e.g. 'CZF + US' and the client IP is not in such region, and the client IP is not in the CZ file
 
 
 Configuration
 -------------
-To enable the NGB feature, the DS must be configured with the proper redirect url. And the setting lays at 'Delivery Services'->Edit->'GeoLimit Redirect URL'. If no url is put in this field, the feature is disabled.
+
+To enable the NGB feature, the DS must be configured with the proper redirect URL. The setting for this can be found by clicking on 'Advanced Options' at the bottom of a Delivery Service details page, and is specified by the 'Geo Limit Redirect URL' field. An individual Delivery Service details page can be viewed by clicking on the desired Delivery Service under 'Services' -> 'Delivery Services'. If no URL is put in this field, the feature is disabled.
 
 The URL has 3 kinds of formats, which have different meanings:
 
-1. URL with no domain. If no domain is in the URL (like 'vod/dance.mp4'), the router will try to find a proper cache server within the delivery service and return the redirect url with the format like 'http://[cache server name].[delivery service's FQDN]/[configured relative path]'
+URL with no domain
+	If no domain is in the URL (e.g. 'vod/dance.mp4'), Traffic Router will try to find a proper cache server within the Delivery Service and return the redirect URL in the format: ``http://[cache server name].[Delivery Service's FQDN]/[configured relative path]``
 
-2. URL with domain that matches with the delivery service. For this URL, the router will also try to find a proper cache server within the delivery service and return the same format url as point 1.
+URL with domain that matches with the Delivery Service
+	For this URL, Traffic Router will also try to find a proper cache server within the Delivery Service and return a redirect URL in the format: ``http://[cache server name].[Delivery Service's FQDN]/[configured relative path]``
 
-3. URL with domain that doesn't match with the delivery service. For this URL, the router will return the configured url directly to the client.
+URL with domain that doesn't match with the Delivery Service
+	Traffic Router will return the configured URL directly to the client.
 
 
 .. _deep-cache:
@@ -396,19 +404,9 @@ Deep Caching - Deep Coverage Zone Topology
 Overview
 --------
 
-Deep Caching is a feature that enables clients to be routed to the closest
-possible "deep" edge caches on a per Delivery Service basis. The term "deep" is
-used in the networking sense, meaning that the edge caches are located deep in
-the network where the number of network hops to a client is as minimal as
-possible. This deep caching topology is desirable because storing content closer
-to the client gives better bandwidth savings, and sometimes the cost of
-bandwidth usage in the network outweighs the cost of adding storage. While it
-may not be feasible to cache an entire copy of the CDN's contents in every deep
-location (for the best possible bandwidth savings), storing just a relatively
-small amount of the CDN's most requested content can lead to very high bandwidth
-savings.
-
-Getting started
+Deep Caching is a feature that enables clients to be routed to the closest possible "deep" Edge-tier caches on a per-Delivery Service basis. The term "deep" is used in the networking sense, meaning that the Edge-tier caches are located deep in the network where the number of network hops to a client is as minimal. This deep caching topology is desirable because storing content closer to the client gives better bandwidth savings, and sometimes the cost of bandwidth usage in the network ou [...]
+
+Getting Started
 ---------------
 
 What you need:
@@ -417,49 +415,42 @@ What you need:
 #. A Deep Coverage Zone File (DCZF) mapping these deep cache hostnames to specific network prefixes (see :ref:`deep-czf` for details)
 #. Deep caching parameters in the Traffic Router Profile (see :ref:`ccr-profile` for details):
 
-   * ``deepcoveragezone.polling.interval``
-   * ``deepcoveragezone.polling.url``
+   - ``deepcoveragezone.polling.interval``
+   - ``deepcoveragezone.polling.url``
 
-#. Deep Caching enabled on one or more HTTP Delivery Services (i.e. ``deepCachingType`` = ALWAYS)
+#. Deep Caching enabled on one or more HTTP Delivery Services (i.e. 'Deep Caching' field on the Delivery Service details page (under 'Advanced Options') set to ALWAYS)
 
-How it works
+How it Works
 ------------
 
-Deep Coverage Zone routing is very similar to that of regular Coverage Zone
-routing, except that the DCZF is preferred over the regular  CZF for Delivery
-Services with DC (Deep Caching) enabled. If the client requests a DC-enabled
-Delivery Service and their IP address gets a "hit" in the DCZF, Traffic Router
-will attempt to route that client to one of the available deep caches in the
-client's corresponding zone. If there are no deep caches available for a
-client's request, Traffic Router will "fall back" to the regular CZF and
-continue regular CZF routing from there.
+Deep Coverage Zone routing is very similar to that of regular Coverage Zone routing, except that the DCZF is preferred over the regular CZF for Delivery Services with Deep Caching (DC) enabled. If the client requests a DC-enabled Delivery Service and their IP address gets a "hit" in the DCZF, Traffic Router will attempt to route that client to one of the available deep caches in the client's corresponding zone. If there are no deep caches available for a client's request, Traffic Router  [...]
 
 
 .. _tr-steering:
 
-Steering feature
+Steering Feature
 ================
 
 Overview
 --------
-A Steering delivery service is a delivery service that is used to "steer" traffic to other delivery services. A Steering delivery service will have target delivery services configured for it with weights assigned to them.  Traffic Router uses the weights to make a consistent hash ring which it then uses to make sure that requests are routed to a target based on the configured weights.  This consistent hash ring is separate from the consistent hash ring used in cache selection.
+A Steering Delivery Service is a Delivery Service that is used to route a client to another Delivery Service. The Type of a Steering Delivery Service is either STEERING or CLIENT_STEERING. A Steering Delivery Service will have target Delivery Services configured for it with weights assigned to them. Traffic Router uses the weights to make a consistent hash ring which it then uses to make sure that requests are routed to a target based on the configured weights. This consistent hash ring  [...]
 
-Special regular expressions called Filters can also be configured for target delivery services to pin traffic to a specific delivery service.  For example, if a filter called .*/news/.* for a target called target-ds-1 is created, any requests to traffic router with 'news' in them will be routed to target-ds-1.  This will happen regardless of the configured weights.
+Special regular expressions - referred to as 'filters' - can also be configured for target Delivery Services to pin traffic to a specific Delivery Service. For example, if a filter called ``.*/news/.*`` for a target called 'target-ds-1' is created, any requests to Traffic Router with 'news' in them will be routed to 'target-ds-1'.  This will happen regardless of the configured weights.
 
-A client can bypass the steering functionality by providing a header called X-TC-Steering-Option with the xml_id of the target delivery service to route to.  When Traffic Router receives this header it will route to the requested target delivery service regardless of weight configuration.
+A client can bypass the steering functionality by providing the ``X-TC-Steering-Option`` HTTP header with a value of the ``xml_id`` of the target Delivery Service to which they desire to be routed. When Traffic Router receives this header it will route to the requested target Delivery Service regardless of weight configuration.
 
 Some other points of interest:
 
-- Steering is currently only available for HTTP delivery services that are a part of the same CDN.
-- A new role called STEERING has been added to the traffic ops database.  Only users with Admin or Steering privileges can modify steering assignments for a Delivery Service.
-- A new API has been created in Traffic Ops under /internal.  This API is used by a Steering user to add filters and modify assignments.  (Filters can only be added via the API).
+- Steering is currently only available for HTTP Delivery Services that are a part of the same CDN.
+- A new role called STEERING has been added to the Traffic Ops database.  Only users with Admin or Steering privileges can modify steering assignments for a Delivery Service.
+- A new API has been created in Traffic Ops under ``/internal``.  A Steering user can either directly access this API to modify assignments, or use the Traffic Portal UI ('View Targets' under the 'More' drop-down menu on a Steering Delivery Service's details page), however a filter can only be created via the API.
 - Traffic Router uses the steering API in Traffic Ops to poll for steering assignments, the assignments are then used when routing traffic.
 
-A couple simple use cases for steering are:
+A couple simple use-cases for Steering are:
 
-#. Migrating traffic from one delivery service to another over time.
-#. Trying out new functionality for a subset of traffic with an experimental delivery service.
-#. Load balancing between delivery services.
+- Migrating traffic from one Delivery Service to another over time.
+- Trying out new functionality for a subset of traffic with an experimental Delivery Service.
+- Load balancing between Delivery Services.
 
 
 
@@ -468,73 +459,62 @@ Configuration
 
 The following needs to be completed for Steering to work correctly:
 
-#. Two target delivery services are created in Traffic Ops.  They must both be HTTP delivery services part of the same CDN.
-#. A delivery service with type STEERING is created in Traffic Ops.
-#. Target delivery services are assigned to the steering delivery service using Traffic Ops.
+#. Two target Delivery Services are created in Traffic Ops.  They must both be HTTP Delivery Services part of the same CDN.
+#. A Delivery Service with type STEERING or CLIENT_STEERING is created in Traffic Portal.
+#. Target Delivery Services are assigned to the Steering Delivery Service using Traffic Portal.
 #. A user with the role of Steering is created.
-#. Using the API, the steering user assigns weights to the target delivery services.
-#. If desired, the steering user can create filters for the target delivery services.
+#. The Steering user assigns weights to the target Delivery Services.
+#. If desired, the Steering user can create filters for the target Delivery Services.
 
-For more information see the `steering how-to guide <quick_howto/steering.html>`_.
+For more information see the `Steering how-to guide <quick_howto/steering.html>`_.
 
-HTTPS for Http Type Delivery Services
-=====================================
+HTTPS for HTTP Delivery Services
+================================
 
-Starting with version 1.7 Traffic Router added the ability to allow https traffic between itself and clients on a per http type delivery service basis.
+Starting with version 1.7 Traffic Router added the ability to allow HTTPS traffic between itself and clients on a per-HTTP Delivery Service basis.
 
-.. Note::
-  As of version 3.0 Traffic Router has been integrated with native OpenSSL. This makes establishing HTTPS connections to Traffic Router much less expensive
-  than previous versions. However establishing an HTTPS connection is more computationally demanding than an HTTP connection. Since each client will in turn
-  get redirected to ATS, Traffic Router is most always creating a new HTTPS connection for all HTTPS traffic.
-  It is likely to mean that an existing Traffic Router may have some decrease in performance if you wish to support a lot of HTTPS traffic.
-  As noted for DNSSEC, you may need to plan to scale Traffic Router vertically and/or horizontally to handle the new load
+.. Note:: As of version 3.0 Traffic Router has been integrated with native OpenSSL. This makes establishing HTTPS connections to Traffic Router much less expensive than previous versions. However establishing an HTTPS connection is more computationally demanding than an HTTP connection. Since each client will in turn get redirected to ATS, Traffic Router is most always creating a new HTTPS connection for all HTTPS traffic. It is likely to mean that an existing Traffic Router may have som [...]
 
-The summary for setting up https is to:
+The HTTPS set up process is:
 
-#. Select one of 'https', 'http and https', or 'http to https' for the delivery service
-#. Generate private keys for the delivery service using a wildcard domain such as ``*.my-delivery-service.my-cdn.example.com``
+#. Select one of '1 - HTTPS', '2 - HTTP AND HTTPS', or '3 - HTTP TO HTTPS' for the Delivery Service
+#. Generate private keys for the Delivery Service using a wildcard domain such as ``*.my-delivery-service.my-cdn.example.com``
 #. Obtain and import signed certificate chain
-#. Snapshot CR Config
+#. Snapshot CRConfig
 
-Clients may make HTTPS requests delivery services only after Traffic Router receives the certificate chain from Traffic Ops and the new CR Config.
+Clients may make HTTPS requests to Delivery Services only after Traffic Router receives the certificate chain from Traffic Ops and the new CRConfig.
 
 Protocol Options
 ----------------
 
-*https only*
-  Traffic Router will only redirect (send a 302) to clients communicating with a secure connection, all other clients will receive a 503
-*http and https*
-  Traffic Router will redirect both secure and non-secure clients
-*http to https*
-  Traffic Router will redirect non-secure clients with a 302 and a location that is secure (i.e. starting with 'https' instead of 'http'), secure clients will remain on https
-*http*
-  Any secure client will get an SSL handshake error. Non-secure clients will experience the same behavior as prior to 1.7
+HTTP
+	Any secure client will get an SSL handshake error. Non-secure clients will experience the same behavior as prior to 1.7
+HTTPS
+	Traffic Router will only redirect (send a ``302 Found`` response) to clients communicating with a secure connection, all other clients will receive a ``503 Service Unavailable`` response
+HTTP AND HTTPS
+	Traffic Router will redirect both secure and non-secure clients
+HTTP TO HTTPS
+	Traffic Router will redirect non-secure clients with a ``302 Found`` response and a location that is secure (i.e. an ``https://`` URL instead of an ``http://`` URL), while secure clients will be redirected immediately to an appropriate target or cache server.
 
 Certificate Retrieval
 ---------------------
 
-.. Warning::
-  If you have https delivery services in your CDN, Traffic Router will not accept **any** connections until it is able to
-  fetch certificates from Traffic Ops and load them into memory. Traffic Router does not persist certificates to the java keystore or anywhere else.
+.. Warning:: If you have HTTPS Delivery Services in your CDN, Traffic Router will not accept **any** connections until it is able to fetch certificates from Traffic Ops and load them into memory. Traffic Router does not persist certificates to the Java Keystore or anywhere else.
 
 Traffic Router fetches certificates into memory:
 
 * At startup time
-* When it receives a new CR Config
-* Once an hour from whenever the most recent of the last of the above occurred
+* When it receives a new CRConfig
+* Once an hour starting whenever the most recent of the last of the above occurred
+
+.. Note:: To adjust the frequency at which Traffic Router fetches certificates add the parameter ``certificates.polling.interval`` to CRConfig and set it to the desired duration in milliseconds.
 
-.. Note::
-  To adjust the frequency when Traffic Router fetches certificates add the parameter 'certificates.polling.interval' to CR Config and
-  setting it to the desired time in milliseconds.
+.. Note:: Taking a snapshot of CRConfig may be used at times to avoid waiting the entire polling cycle for a new set of certificates.
 
-.. Note::
-  Taking a snapshot of CR Config may be used at times to avoid waiting the entire polling cycle for a new set of certificates.
+.. Warning:: If a snapshot of CRConfig is made that involves a Delivery Service missing its certificates, Traffic Router will ignore **ALL** changes in that CRConfig until one of the following occurs:
 
-.. Warning::
-  If a snapshot of CR Config is made that involves a delivery service missing its certificates, Traffic Router will ignore **ALL** changes in that CR-Config
-  until one of the following occurs:
-  * It receives certificates for that delivery service
-  * Another snapshot of CR Config is created and the delivery service without certificates is changed so it's HTTP protocol is set to 'http'
+	* It receives certificates for that Delivery Service
+	* Another snapshot of CRConfig is created and the Delivery Service without certificates is changed so its HTTP protocol is set to 'http'
 
 Certificate Chain Ordering
 --------------------------
@@ -543,53 +523,69 @@ The ordering of certificates within the certificate bundle matters. It must be:
 
 #. Primary Certificate (e.g. the one created for ``*.my-delivery-service.my-cdn.example.com``)
 #. Intermediate Certificate(s)
-#. Root Certificate from CA (optional)
+#. Root Certificate from a Certificate Authority (CA) (optional)
 
-.. Warning::
-  If something is wrong with the certificate chain (e.g. the order of the certificates is backwards or for the wrong domain) the
-  client will get an SSL handshake.  Inspection of /opt/tomcat/logs/catalina.log is likely to yield information to reveal this.
+.. Warning:: If something is wrong with the certificate chain (e.g. the order of the certificates is backwards or for the wrong domain) the client will get an SSL handshake. Inspection of ``/opt/tomcat/logs/catalina.log`` is likely to yield information to reveal this.
 
-To see the ordering of certificates you may have to manually split up your certificate chain and use openssl on each individual certificate
+To see the ordering of certificates you may have to manually split up your certificate chain and use ``openssl`` on each individual certificate
 
 Suggested Way of Setting up an HTTPS Delivery Service
 -----------------------------------------------------
 
-Do the following in Traffic Ops:
-
-#. Select one of 'https', 'http and https', or 'http to https' for the protocol field of a delivery service and click 'Save'.
-#. Click 'Manage SSL Keys'.
-#. Click 'Generate New Keys'.
-#. Copy the contents of the Certificate Signing Request field and save it locally.
-#. Click 'Load Keys'.
-#. Select 'http' for the protocol field of the delivery service and click 'Save' (to avoid preventing other CR Config updates from being blocked by Traffic Router)
-#. Follow your standard procedure for obtaining your signed certificate chain from a CA.
-#. After receiving your certificate chain import it into Traffic Ops.
-#. Edit the delivery service.
-#. Restore your original choice for the protocol field and click save.
-#. Click 'Manage SSL Keys'.
-#. Click 'Paste Existing Keys'.
-#. Paste the certificate chain into the CRT field.
-#. Click 'Load Keys'.
-#. Take a new snapshot of CR Config.
-
-Once this is done you should be able to test you are getting correctly redirected by Traffic Router using curl commands to https destinations on your delivery service.
-
-A new testing tool was created for load testing traffic router, it allows you to generate requests from your local box to multiple delivery services of a single cdn.
-You can control which cdn, delivery services, how many transactions per delivery service, and how many concurrent requests.
-During the test it will provide feedback about request latency and transactions per second.
-
-While it is running it is suggested that you monitor your Traffic Router nodes for memory and CPU utilization.
+Assuming you have already created a Delivery Service which you plan to modify to use HTTPS, do the following in Traffic Portal:
+
+#. Select one of '1 - HTTPS', '2 - HTTP AND HTTPS', or '3 - HTTP TO HTTPS' for the protocol field of a Delivery Service and click the 'Update' button
+#. Under the 'More' drop-down menu, click 'Manage SSL Keys'
+#. Again under the 'More' drop-down menu, click 'Generate SSL Keys'
+#. Fill out the form and click on the green 'Generate Keys' button, then confirm that you want to make these changes
+#. Copy the contents of the Certificate Signing Request field and save it locally
+#. Go back and select 'HTTP' for the protocol field of the Delivery Service and click 'Save' (to avoid preventing other CRConfig updates from being blocked by Traffic Router)
+#. Follow your standard procedure for obtaining your signed certificate chain from a CA
+#. After receiving your certificate chain import it into Traffic Ops
+#. Edit the Delivery Service
+#. Restore your original choice for the protocol field and click save
+#. Click 'Manage SSL Keys'
+#. Paste your key information into the appropriate fields
+#. Click the green 'Update Keys' button
+#. Take a new snapshot of CRConfig
+
+Once this is done you should be able to verify that you are being correctly redirected by Traffic Router using e.g. ``curl`` commands to HTTPS destinations on your Delivery Service.
+
+Router Load Testing
+===================
+
+The Traffic Router load testing tool is located in the `Traffic Control repository under ``test/router`` <https://github.com/apache/trafficcontrol/tree/master/test/router>`_. It can be used to simulate a mix of HTTP and HTTPS traffic for a CDN by choosing the number of HTTP Delivery Services and the number HTTPS Delivery Services the test will exercise.
+
+There are 2 parts to the load test:
+
+* A web server that makes the actual requests and takes commands to fetch data from the CDN, start the test, and return current results.
+* A web page that's used to run the test and see the results.
+
+Running the Load Tests
+----------------------
+
+#. First, clone the `Traffic Control repository <https://github.com/apache/trafficcontrol>`_.
+#. You will need to make sure you have a CA file on your machine
+#. The web server is a Go program, set your ``GOPATH`` environment variable appropriately (we suggest ``$HOME/go`` or ``$HOME/src``)
+#. Open a terminal emulator and navigate to the ``test/router/server`` directory inside of the cloned repository
+#. Execute the server binary by running ``go run server.go``
+#. Using your web browser of choice, open the file ``test/router/index.html``
+#. Authenticate against a Traffic Ops host - this should be a nearly instantaneous operation - you can watch the output from ``server.go`` for feedback
+#. Enter the Traffic Ops host in the second form and click the button to get a list of CDN's
+#. Wait for the web page to show a list of CDN's under the above form, this may take several seconds
+#. The List of CDN's will display the number of HTTP- and HTTPS-capable Delivery Services that may be exercised
+#. Choose the CDN you want to exercise from the drop-down menu
+#. Fill out the rest of the form, enter appropriate numbers for each HTTP and HTTPS delivery services
+#. Click Run Test
+#. As the test runs the web page will occasionally report results including running time, latency, and throughput
 
 Tuning Recommendations
 ======================
 
-The following is an example of the command line parameters set in /opt/traffic_router/conf/startup.properties that has been tested on a multi core server running under HTTPS load test requests.
-This is following the general recommendation to use the G1 garbage collector for JVM applications running on multi core machines.
-In addition to using the G1 garbage collector the InitiatingHeapOccupancyPercent was lowered to run garbage collection more frequently which
-improved overall throughput for Traffic Router and reduced 'Stop the World' garbage collection. Note that any environment variable settings in this file will override those
-set in /lib/systemd/system/traffic_router.service.
+The following is an example of the command line parameters set in ``/opt/traffic_router/conf/startup.properties`` that has been tested on a multi-core server running under HTTPS load test requests. This is following the general recommendation to use the G1 garbage collector for JVM applications running on multi-core machines. In addition to using the G1 garbage collector the ``InitiatingHeapOccupancyPercent`` was lowered to run garbage collection more frequently which improved overall th [...]
+set in ``/lib/systemd/system/traffic_router.service``.
 
-  /opt/traffic_router/conf/startup.properties::
+.. code-block:: bash
 
 	CATALINA_OPTS="\
   	-server -Xms2g -Xmx8g \
diff --git a/docs/source/admin/traffic_server.rst b/docs/source/admin/traffic_server.rst
index ce9c4e5..373a559 100644
--- a/docs/source/admin/traffic_server.rst
+++ b/docs/source/admin/traffic_server.rst
@@ -19,36 +19,34 @@ Traffic Server Administration
 Installing Traffic Server
 =========================
 
-#. Build the Traffic Server RPM. The best way to do this is to follow the Traffic Server documents: ::
+#. Build the Traffic Server RPM. The best way to do this is to follow the `Apache Traffic Server documentation <https://docs.trafficserver.apache.org/en/latest/getting-started/index.en.html#installation>`_.
 
-		https://docs.trafficserver.apache.org/en/latest/getting-started/index.en.html#installation
+#. Build the astats RPM using the appropriate version number Sample link: https://github.com/apache/trafficcontrol/tree/master/traffic_server
 
-#. Build the astats RPM using the appropriate version number: ::
+.. note:: The ``astats`` plugin is bundled as a part of Apache Traffic Server as of version 7.2.
 
-		https://github.com/apache/trafficcontrol/tree/<version>/traffic_server
+#. Install Traffic Server and astats
 
-	 Sample link: ::
+	The easiest way to accomplish this is by running this command as the root user (or with ``sudo``):
 
-		 https://github.com/apache/trafficcontrol/tree/master/traffic_server
+	.. code-block:: bash
 
-#. Install Traffic Server and astats: ::
-
-				sudo yum -y install trafficserver-*.rpm astats_over_http*.rpm
+		yum -y install trafficserver-*.rpm astats_over_http*.rpm
 
 #. Add the server using the Traffic Portal UI:
 
-		#. Under 'Configure', select 'Servers'.
-		#. Click on the '+' button at the top of the page.
-		#. Complete the form. Be sure to fill out all fields marked 'Required'
-				* Set 'Interface Name' to the name of the network interface device from which Apache Traffic Server delivers content.
-				* Set 'Type' to 'MID' or 'EDGE'.
-				* If you wish for the server to immediately be polled by the :ref:`health-proto`, set 'Status' to 'REPORTED'.
-		#. Click on the 'Create' button to submit the form.
-		#. Verify that the server status is now listed as **Reported**
+	#. Under 'Configure', select 'Servers'.
+	#. Click on the '+' button at the top of the page.
+	#. Complete the form. Be sure to fill out all fields marked 'Required'
+		* Set 'Interface Name' to the name of the network interface device from which Apache Traffic Server delivers content.
+		* Set 'Type' to 'MID' or 'EDGE'.
+		* If you wish for the server to immediately be polled by the :ref:`health-proto`, set 'Status' to 'REPORTED'.
+	#. Click on the 'Create' button to submit the form.
+	#. Verify that the server status is now listed as **Reported**
 
-#. Install the ORT script and run it in 'BADASS' mode to create the initial configuration, see :ref:`reference-traffic-ops-ort`
+#. Install the ORT script and run it in 'BADASS' mode to create the initial configuration, see :ref:`traffic-ops-ort`
 
-#. Start the service: ``sudo service trafficserver start``
+#. Start the service by running ``systemctl start trafficserver`` as the root user (or with ``sudo``)
 
 #. Configure traffic server to start automatically: ``sudo systemctl enable trafficserver``
 
@@ -59,72 +57,70 @@ Installing Traffic Server
 		#. Assuming a traffic monitor is already installed, browse to it, i.e. http://<trafficmonitorURL>, and verify that the traffic server appears in the "Cache States" table, in white.
 
 
-.. _reference-traffic-ops-ort:
+.. _traffic-ops-ort:
 
 Configuring Traffic Server
 ==========================
 All of the Traffic Server application configuration files are generated by Traffic Ops and installed by way of the traffic_ops_ort.pl script.
 The ``traffic_ops_ort.pl`` file should be installed on all caches (See :ref:`installing-ort`), usually in ``/opt/ort``. It is used to do the initial install of the configuration files when the cache is being deployed, and to keep the confiurationg files up to date when the cache is already in service. The usage message of the script is shown below: ::
 
-		$ sudo /opt/ort/traffic_ops_ort.pl
-		====-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-====
-		Usage: ./traffic_ops_ort.pl <Mode> <Log_Level> <Traffic_Ops_URL> <Traffic_Ops_Login> [optional flags]
-			<Mode> = interactive - asks questions during config process.
-			<Mode> = report - prints config differences and exits.
-			<Mode> = badass - attempts to fix all config differences that it can.
-			<Mode> = syncds - syncs delivery services with what is configured in Traffic Ops.
-			<Mode> = revalidate - checks for updated revalidations in Traffic Ops and applies them. Requires Traffic Ops 2.1.
+	$ sudo /opt/ort/traffic_ops_ort.pl
+	====-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-====
+	Usage: ./traffic_ops_ort.pl <Mode> <Log_Level> <Traffic_Ops_URL> <Traffic_Ops_Login> [optional flags]
+		<Mode> = interactive - asks questions during config process.
+		<Mode> = report - prints config differences and exits.
+		<Mode> = badass - attempts to fix all config differences that it can.
+		<Mode> = syncds - syncs delivery services with what is configured in Traffic Ops.
+		<Mode> = revalidate - checks for updated revalidations in Traffic Ops and applies them. Requires Traffic Ops 2.1.
 
-			<Log_Level> => ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, NONE
+		<Log_Level> => ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, NONE
 
-			<Traffic_Ops_URL> = URL to Traffic Ops host. Example: https://trafficops.company.net
+		<Traffic_Ops_URL> = URL to Traffic Ops host. Example: https://trafficops.company.net
 
-			<Traffic_Ops_Login> => Example: 'username:password'
+		<Traffic_Ops_Login> => Example: 'username:password'
 
-			[optional flags]:
-				dispersion=<time>      => wait a random number between 0 and <time> before starting. Default = 300.
-				login_dispersion=<time>  => wait a random number between 0 and <time> before login. Default = 0.
-				retries=<number>       => retry connection to Traffic Ops URL <number> times. Default = 3.
-				wait_for_parents=<0|1> => do not update if parent_pending = 1 in the update json. Default = 1, wait for parents.
-		====-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-====
-		$
+		[optional flags]:
+			dispersion=<time>      => wait a random number between 0 and <time> before starting. Default = 300.
+			login_dispersion=<time>  => wait a random number between 0 and <time> before login. Default = 0.
+			retries=<number>       => retry connection to Traffic Ops URL <number> times. Default = 3.
+			wait_for_parents=<0|1> => do not update if parent_pending = 1 in the update json. Default = 1, wait for parents.
+	====-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-====
+	$
 
 .. _installing-ort:
 
 Installing the ORT script
 --------------------------
 
-#. Build the ORT script RPM from the Apache Build Server and install it: ::
-
-		https://builds.apache.org/view/S-Z/view/TrafficControl/
+#. Build the ORT script RPM from the `Apache Build Server <https://builds.apache.org/view/S-Z/view/TrafficControl/>`_ and install it. Assuming you've named the file you downloaded ``traffic_ops_ort.rpm``, this can be installed simply by running this command as the root user (or with ``sudo``):
 
-	Sample command (NOTE that the example name used here most likely no longer exists): ::
+	.. code-block:: bash
 
-		sudo wget https://builds.apache.org/job/trafficcontrol-2.1.x-build/lastSuccessfulBuild/artifact/dist/traffic_ops_ort-2.1.0-6807.1dcd512f.el7.x86_64.rpm -O traffic_ops_ort.rpm
-		sudo yum install -y traffic_ops_ort.rpm
+		yum install -y traffic_ops_ort.rpm
 
 #. Install modules required by ORT if needed: ``sudo yum install -y perl-JSON perl-Crypt-SSLeay``
 
 #. For initial configuration or when major changes (like a Profile change) need to be made, run the script in "badass mode". All required rpm packages will be installed, all Traffic Server configuration files will be fetched and installed, and (if needed) the Traffic Server application will be restarted.
 
-	Example run below: ::
+	Example usage: ::
+
+		$ sudo /opt/ort/traffic_ops_ort.pl --dispersion=0 BADASS WARN https://ops.$tcDomain admin:admin123
 
-		$ sudo /opt/ort/traffic_ops_ort.pl --dispersion=0 badass warn https://ops.$tcDomain admin:admin123
+	.. Note:: First run gives a lot of state errors that are expected. The BADASS mode fixes these issue s. Run it a second time, this should be cleaner. Also, note that many ERROR messages emitted by ORT are actually information messages. Do not panic.
 
-	.. Note:: First run gives a lot of state errors that are expected. The "badass" mode fixes these issue s. Run it a second time, this should be cleaner. Also, note that many ERROR messages emitted by ORT are actually information messages. Do not panic.
 
-#. Create a cron entry for running ort in 'syncds' mode every 15 minutes.
-	This makes traffic control check periodically if 'Queue Updates' was run on Traffic Ops, and it so, get the updated configuration.
+#. Create a cron entry for running ORT in 'SYNCDS' mode every 15 minutes. This makes Traffic Control check periodically if 'Queue Updates' was run on Traffic Portal or on Traffic Ops, and if so get the updated configuration.
 
-	Run ``sudo crontab -e`` and add the following line ::
+	This can be done by running ``crontab -e`` as the root user (or with ``sudo``) and adding the following line ::
 
-		*/15 * * * * /opt/ort/traffic_ops_ort.pl syncds warn https://traffops.kabletown.net admin:password --login_dispersion=30 --dispersion=180 > /tmp/ort/syncds.log 2>&1
+		*/15 * * * * /opt/ort/traffic_ops_ort.pl SYNCDS WARN https://traffops.kabletown.net admin:password --login_dispersion=30 --dispersion=180 > /tmp/ort/syncds.log 2>&1
 
 	Changing ``https://traffops.kabletown.net``, ``admin``, and ``password`` to your CDN URL and credentials.
 
-	.. Note:: By default, running ort on an edge traffic server waits for it's parent (mid) servers to download their configuration before it downloads it's own configuration. Because of this, scheduling ORT for running every 15 minutes (with 5 minutes default dispersion) means that it might take up to ~35 minutes for a "Queue Updates" operation to affect all traffic servers. To customize this dispersion time, use the command line option --dispersion=x where x is the number of seconds for t [...]
+	.. Note:: By default, running ORT on an Edge-tier cache server will cause it to first wait for its parents (usually Mid-tier cache servers) to download their configuration before downloading its own configuration. Because of this, scheduling ORT for running every 15 minutes (with 5 minutes default dispersion) means that it might take up to ~35 minutes for a "Queue Updates" operation to affect all cache servers. To customize this dispersion time, use the command line option ``--dispersio [...]
+
+	.. Note:: In SYNCDS mode, the ORT script updates only configurations that might be changed as part of normal operations, such as:
 
-	.. Note:: In ``syncds`` mode, the ORT script updates only configurations that might be changed as part of normal operations, such as:
 		* Delivery Services
 		* SSL certificates
 		* Traffic Monitor IP addresses
@@ -132,8 +128,6 @@ Installing the ORT script
 		* Revalidation requests (By default. If Rapid Revalidate is enabled, this will only be checked by using a separate revalidate command in ORT.)
 
 
-#. If Rapid Revalidate is enabled in Traffic Ops, create a second cron job for revalidation checks. ORT will not check revalidation files if Rapid Revalidate is enabled. This setting allows for a separate check to be performed every 60 seconds to verify if a revalidation update has been made.
-
-	Run ``sudo crontab -e`` and add the following line ::
+#. If Rapid Revalidate is enabled in Traffic Ops, create a second cron job for revalidation checks. ORT will not check revalidation files if Rapid Revalidate is enabled. This setting allows for a separate check to be performed every 60 seconds to verify if a revalidation update has been made. This can be done by running ``crontab -e`` as the root user (or with ``sudo``) and adding the following line ::
 
-		*/1 * * * * /opt/ort/traffic_ops_ort.pl revalidate warn https://traffops.kabletown.net admin:password --login_dispersion=30 > /tmp/ort/syncds.log 2>&1
+	*/1 * * * * /opt/ort/traffic_ops_ort.pl REVALIDATE WARN https://traffops.kabletown.net admin:password --login_dispersion=30 > /tmp/ort/syncds.log 2>&1
diff --git a/docs/source/admin/traffic_stats.rst b/docs/source/admin/traffic_stats.rst
index ee378ed..1e31084 100644
--- a/docs/source/admin/traffic_stats.rst
+++ b/docs/source/admin/traffic_stats.rst
@@ -24,122 +24,126 @@ Installation
 
 Installing Traffic Stats
 ------------------------
-	- See the `downloads <https://trafficcontrol.apache.org/downloads/index.html>`_ page for Traffic Control to get the latest release.
-	- Follow our build `intructions <https://github.com/apache/trafficcontrol/tree/master/build>`_ to generate an RPM.
-	- Copy the RPM to your server
-	- Perform the following command: ``sudo rpm -ivh <traffic_stats rpm>``
+- See the `downloads <https://trafficcontrol.apache.org/downloads/index.html>`_ page for Traffic Control to get the latest release.
+- Follow our build `intructions <https://github.com/apache/trafficcontrol/tree/master/build>`_ to generate an RPM.
+- Copy the RPM to your server
+- Perform the following command: ``sudo rpm -ivh <traffic_stats rpm>``
 
 Installing InfluxDB
 -------------------
-	..  Note::As of Traffic Stats 1.8.0, InfluxDB 1.0.0 or higher is required. For InfluxDB versions less than 1.0.0 use Traffic Stats 1.7.x
+..  Note::As of Traffic Stats 1.8.0, InfluxDB 1.0.0 or higher is required. For InfluxDB versions less than 1.0.0 use Traffic Stats 1.7.x
 
-	In order to store traffic stats data you will need to install `InfluxDB <https://docs.influxdata.com/influxdb/latest/introduction/installation/>`_. While not required, it is recommended to use some sort of high availability option like `Influx enterprise <https://portal.influxdata.com/>`_, `InfluxDB Relay <https://github.com/influxdata/influxdb-relay>`_, or another `high availability option <https://www.influxdata.com/high-availability/>`_.
+In order to store traffic stats data you will need to install `InfluxDB <https://docs.influxdata.com/influxdb/latest/introduction/installation/>`_. While not required, it is recommended to use some sort of high availability option like `Influx enterprise <https://portal.influxdata.com/>`_, `InfluxDB Relay <https://github.com/influxdata/influxdb-relay>`_, or another `high availability option <https://www.influxdata.com/high-availability/>`_.
 
 Installing Grafana
 ------------------
-	Grafana is used to display Traffic Stats/InfluxDB data in Traffic Ops. Grafana is typically run on the same server as Traffic Stats but this is not a requirement. Grafana can be installed on any server that can access InfluxDB and can be accessed by Traffic Ops. Documentation on installing Grafana can be found on the `Grafana website <http://docs.grafana.org/installation/>`__.
+Grafana is used to display Traffic Stats/InfluxDB data in Traffic Ops. Grafana is typically run on the same server as Traffic Stats but this is not a requirement. Grafana can be installed on any server that can access InfluxDB and can be accessed by Traffic Ops. Documentation on installing Grafana can be found on the `Grafana website <http://docs.grafana.org/installation/>`__.
 
 Configuration
 =========================
 
 Configuring Traffic Stats
 -------------------------
-	Traffic Stats' configuration file can be found in ``/opt/traffic_stats/conf/traffic_stats.cfg``.
-	The following values need to be configured:
-
-	toUser
-		The user used to connect to Traffic Ops
-	toPasswd
-		The password to use when connecting to Traffic Ops
-	toUrl
-		The URL of the Traffic Ops server used by Traffic Stats
-	influxUser
-		The user to use when connecting to InfluxDB (if configured on InfluxDB, else leave default)
-	influxPassword
-		That password to use when connecting to InfluxDB (if configured, else leave blank)
-	pollingInterval
-		The interval at which Traffic Monitor is polled and stats are stored in InfluxDB
-	statusToMon
-		The status of Traffic Monitor to poll (poll ONLINE or OFFLINE traffic monitors)
-	seelogConfig
-		The absolute path of the seelong configuration file
-	dailySummaryPollingInterval
-		The interval, in seconds, at which Traffic Stats checks to see if daily stats need to be computed and stored.
-	cacheRetentionPolicy
-		The default retention policy for cache stats
-	dsRetentionPolicy
-		The default retention policy for Delivery Service stats
-	dailySummaryRetentionPolicy
-		The retention policy to be used for the daily stats
-	influxUrls
-		An array of InfluxDB hosts for Traffic Stats to write stats to.
+Traffic Stats' configuration file can be found in ``/opt/traffic_stats/conf/traffic_stats.cfg``.
+The following values need to be configured:
+
+toUser
+	The user used to connect to Traffic Ops
+toPasswd
+	The password to use when connecting to Traffic Ops
+toUrl
+	The URL of the Traffic Ops server used by Traffic Stats
+influxUser
+	The user to use when connecting to InfluxDB (if configured on InfluxDB, else leave default)
+influxPassword
+	That password to use when connecting to InfluxDB (if configured, else leave blank)
+pollingInterval
+	The interval at which Traffic Monitor is polled and stats are stored in InfluxDB
+statusToMon
+	The status of Traffic Monitor to poll (poll ONLINE or OFFLINE traffic monitors)
+seelogConfig
+	The absolute path of the seelong configuration file
+dailySummaryPollingInterval
+	The interval, in seconds, at which Traffic Stats checks to see if daily stats need to be computed and stored.
+cacheRetentionPolicy
+	The default retention policy for cache stats
+dsRetentionPolicy
+	The default retention policy for Delivery Service stats
+dailySummaryRetentionPolicy
+	The retention policy to be used for the daily stats
+influxUrls
+	An array of InfluxDB hosts for Traffic Stats to write stats to.
 
 Configuring InfluxDB
 --------------------
-	As mentioned above, it is recommended that InfluxDB be running in some sort of high availability configuration. There are several ways to achieve high availabilty so it is best to consult the high availability options on the `InfuxDB website <https://www.influxdata.com/high-availability/>`_.
+As mentioned above, it is recommended that InfluxDB be running in some sort of high availability configuration. There are several ways to achieve high availability so it is best to consult the high availability options on the `InfuxDB website <https://www.influxdata.com/high-availability/>`_.
 
-	Once InfluxDB is installed and configured, databases and retention policies need to be created. Traffic Stats writes to three different databases: cache_stats, deliveryservice_stats, and daily_stats. More information about the databases and what data is stored in each can be found on the `overview <../overview/traffic_stats.html>`_ page.
+Once InfluxDB is installed and configured, databases and retention policies need to be created. Traffic Stats writes to three different databases: cache_stats, deliveryservice_stats, and daily_stats. More information about the databases and what data is stored in each can be found on the `overview <../overview/traffic_stats.html>`_ page.
 
-	To easily create databases, retention policies, and continuous queries, run create_ts_databases from the /opt/traffic_stats/influxdb_tools directory on your Traffic Stats server. See the `InfluxDB Tools <traffic_stats.html#influxdb-tools>`_ section below for more information.
+To easily create databases, retention policies, and continuous queries, run create_ts_databases from the ``/opt/traffic_stats/influxdb_tools`` directory on your Traffic Stats server. See the `InfluxDB Tools <traffic_stats.html#influxdb-tools>`_ section below for more information.
 
 Configuring Grafana
 -------------------
-	In Traffic Portal the Other -> Grafana menu item can be configured to display Grafana graphs using InfluxDB data. In order for this to work correctly, you will need two things:
-		1. A parameter with the graph URL (more information below)
-		2. The graphs created in Grafana. See below for how to create some simple graphs in Grafana. These instructions assume that InfluxDB has been configured and that data has been written to it. If this is not true, you will not see any graphs.
+In Traffic Portal the Other -> Grafana menu item can be configured to display Grafana graphs using InfluxDB data. In order for this to work correctly, you will need two things:
 
-	To create a graph in Grafana, you can follow these basic steps:
+#. A parameter with the graph URL (more information below)
+#. The graphs created in Grafana. See below for how to create some simple graphs in Grafana. These instructions assume that InfluxDB has been configured and that data has been written to it. If this is not true, you will not see any graphs.
 
-		1. Login to Grafana as an administrative user at e.g. ``http://grafana_url:3000/login``
-		2. Choose Data Sources and then Add New
-		#. Enter the necessary information to configure your data source
-		#. Click on the 'Home' drop-down menu at the top of the screen and choose 'New' at the bottom
-		#. Click on the green menu bar (with 3 lines) at the top and choose Add Panel -> Graph
-		#. Where it says 'No Title (click here)' click and choose edit
-		#. Choose your data source at the bottom
-		#. You can have Grafana help you create a query, or you can create your own. Here is a sample query:
+To create a graph in Grafana, you can follow these basic steps:
 
-			``SELECT sum(value)*1000 FROM "monthly"."bandwidth.cdn.1min" WHERE $timeFilter GROUP BY time(60s), cdn``
-		#. Once you have the graph the way you want it, click the 'Save Dashboard' button at the top
-		#. You should now have a new saved graph
+#. Login to Grafana as an administrative user at e.g. ``http://grafana_url:3000/login``
+#. Choose Data Sources and then Add New
+#. Enter the necessary information to configure your data source
+#. Click on the 'Home' drop-down menu at the top of the screen and choose 'New' at the bottom
+#. Click on the green menu bar (with 3 lines) at the top and choose Add Panel -> Graph
+#. Where it says 'No Title (click here)' click and choose edit
+#. Choose your data source at the bottom
+#. You can have Grafana help you create a query, or you can create your own. Here is a sample query:
 
-	In order for Traffic Portal users to see Grafana graphs, Grafana will need to allow anonymous access. Information on how to configure anonymous access can be found on the configuration page of the `Grafana Website  <http://docs.grafana.org/installation/configuration/#authanonymous>`_.
+	.. code-block:: postgresql
 
-	Traffic Portal uses custom dashboards to display information about individual Delivery Services or Cache Groups. In order for the custom graphs to display correctly, the `traffic_ops_*.js <https://github.com/apache/trafficcontrol/blob/master/traffic_stats/grafana/>`_ files need to be in the ``/usr/share/grafana/public/dashboards/`` directory on the Grafana server. If your Grafana server is the same as your Traffic Stats server the RPM install process will take care of putting the files  [...]
+		SELECT sum(value)*1000 FROM "monthly"."bandwidth.cdn.1min" GROUP BY time(60s), cdn;
 
-	More information on custom scripted graphs can be found in the `scripted dashboards <http://docs.grafana.org/reference/scripting/>`_ section of the Grafana documentation.
+#. Once you have the graph the way you want it, click the 'Save Dashboard' button at the top
+#. You should now have a new saved graph
+
+In order for Traffic Portal users to see Grafana graphs, Grafana will need to allow anonymous access. Information on how to configure anonymous access can be found on the configuration page of the `Grafana Website  <http://docs.grafana.org/installation/configuration/#authanonymous>`_.
+
+Traffic Portal uses custom dashboards to display information about individual Delivery Services or Cache Groups. In order for the custom graphs to display correctly, the `traffic_ops_*.js <https://github.com/apache/trafficcontrol/blob/master/traffic_stats/grafana/>`_ files need to be in the ``/usr/share/grafana/public/dashboards/`` directory on the Grafana server. If your Grafana server is the same as your Traffic Stats server the RPM install process will take care of putting the files i [...]
+
+More information on custom scripted graphs can be found in the `scripted dashboards <http://docs.grafana.org/reference/scripting/>`_ section of the Grafana documentation.
 
 Configuring Traffic Portal for Traffic Stats
 --------------------------------------------
-	- The InfluxDB servers need to be added to Traffic Portal with profile = InfluxDB. Make sure to use port 8086 in the configuration.
-	- The traffic stats server should be added to Traffic Ops with profile = Traffic Stats.
-	- Parameters for which stats will be collected are added with the release, but any changes can be made via parameters that are assigned to the Traffic Stats profile.
+- The InfluxDB servers need to be added to Traffic Portal with profile = InfluxDB. Make sure to use port 8086 in the configuration.
+- The traffic stats server should be added to Traffic Ops with profile = Traffic Stats.
+- Parameters for which stats will be collected are added with the release, but any changes can be made via parameters that are assigned to the Traffic Stats profile.
 
-	..  Note::The legacy Traffic Ops UI also supports viewing Grafana graphs from its Health -> Graphs tab.
+..  Note::The legacy Traffic Ops UI also supports viewing Grafana graphs from its Health -> Graphs tab.
 
 Configuring Traffic Portal to use Grafana Dashboards
 ----------------------------------------------------
-	To configure Traffic Portal to use Grafana Dashboards, you need to enter the following parameters and assign them to the GLOBAL profile. This assumes you followed the above instructions to install and configure InfluxDB and Grafana. You will need to place 'cdn-stats','deliveryservice-stats', and 'daily-summary' with the name of your dashboards.
-
-	+---------------------------+------------------------------------------------------------------------------------------------+
-	|       parameter name      |                                        parameter value                                         |
-	+===========================+================================================================================================+
-	| all_graph_url             | https://<grafana_url>/dashboard/db/deliveryservice-stats                                       |
-	+---------------------------+------------------------------------------------------------------------------------------------+
-	| cachegroup_graph_url      | https://<grafanaHost>/dashboard/script/traffic_ops_cachegroup.js?which=                        |
-	+---------------------------+------------------------------------------------------------------------------------------------+
-	| deliveryservice_graph_url | https://<grafanaHost>/dashboard/script/traffic_ops_devliveryservice.js?which=                  |
-	+---------------------------+------------------------------------------------------------------------------------------------+
-	| server_graph_url          | https://<grafanaHost>/dashboard/script/traffic_ops_server.js?which=                            |
-	+---------------------------+------------------------------------------------------------------------------------------------+
-	| visual_status_panel_1     | https://<grafanaHost>/dashboard-solo/db/cdn-stats?panelId=2&fullscreen&from=now-24h&to=now-60s |
-	+---------------------------+------------------------------------------------------------------------------------------------+
-	| visual_status_panel_2     | https://<grafanaHost>/dashboard-solo/db/cdn-stats?panelId=1&fullscreen&from=now-24h&to=now-60s |
-	+---------------------------+------------------------------------------------------------------------------------------------+
-	| daily_bw_url              | https://<grafanaHost>/dashboard-solo/db/daily-summary?panelId=1&fullscreen&from=now-3y&to=now  |
-	+---------------------------+------------------------------------------------------------------------------------------------+
-	| daily_served_url          | https://<grafanaHost>/dashboard-solo/db/daily-summary?panelId=2&fullscreen&from=now-3y&to=now  |
-	+---------------------------+------------------------------------------------------------------------------------------------+
+To configure Traffic Portal to use Grafana Dashboards, you need to enter the following parameters and assign them to the GLOBAL profile. This assumes you followed the above instructions to install and configure InfluxDB and Grafana. You will need to place 'cdn-stats','deliveryservice-stats', and 'daily-summary' with the name of your dashboards.
+
++---------------------------+------------------------------------------------------------------------------------------------+
+|       parameter name      |                                        parameter value                                         |
++===========================+================================================================================================+
+| all_graph_url             | https://<grafana_url>/dashboard/db/deliveryservice-stats                                       |
++---------------------------+------------------------------------------------------------------------------------------------+
+| cachegroup_graph_url      | https://<grafanaHost>/dashboard/script/traffic_ops_cachegroup.js?which=                        |
++---------------------------+------------------------------------------------------------------------------------------------+
+| deliveryservice_graph_url | https://<grafanaHost>/dashboard/script/traffic_ops_devliveryservice.js?which=                  |
++---------------------------+------------------------------------------------------------------------------------------------+
+| server_graph_url          | https://<grafanaHost>/dashboard/script/traffic_ops_server.js?which=                            |
++---------------------------+------------------------------------------------------------------------------------------------+
+| visual_status_panel_1     | https://<grafanaHost>/dashboard-solo/db/cdn-stats?panelId=2&fullscreen&from=now-24h&to=now-60s |
++---------------------------+------------------------------------------------------------------------------------------------+
+| visual_status_panel_2     | https://<grafanaHost>/dashboard-solo/db/cdn-stats?panelId=1&fullscreen&from=now-24h&to=now-60s |
++---------------------------+------------------------------------------------------------------------------------------------+
+| daily_bw_url              | https://<grafanaHost>/dashboard-solo/db/daily-summary?panelId=1&fullscreen&from=now-3y&to=now  |
++---------------------------+------------------------------------------------------------------------------------------------+
+| daily_served_url          | https://<grafanaHost>/dashboard-solo/db/daily-summary?panelId=2&fullscreen&from=now-3y&to=now  |
++---------------------------+------------------------------------------------------------------------------------------------+
 
 InfluxDB Tools
 =========================
@@ -149,57 +153,59 @@ They are specific for traffic stats and are not meant to be generic to InfluxDB.
 
 create/create_ts_databases.go
 -----------------------------
-	This script creates all `databases <https://docs.influxdata.com/influxdb/latest/concepts/key_concepts/#database>`_, `retention policies <https://docs.influxdata.com/influxdb/latest/concepts/key_concepts/#retention-policy>`_, and `continuous queries <https://docs.influxdata.com/influxdb/v0.11/query_language/continuous_queries/>`_ required by traffic stats.
+This script creates all `databases <https://docs.influxdata.com/influxdb/latest/concepts/key_concepts/#database>`_, `retention policies <https://docs.influxdata.com/influxdb/latest/concepts/key_concepts/#retention-policy>`_, and `continuous queries <https://docs.influxdata.com/influxdb/v0.11/query_language/continuous_queries/>`_ required by traffic stats.
 
 How to Use ``create_ts_databases``
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-	Pre-Requisites:
+Pre-Requisites:
 
-		1. Go 1.7 or later
-		2. Configured $GOPATH (e.g. export GOPATH=~/go)
+	1. Go 1.7 or later
+	2. Configured $GOPATH (e.g. export GOPATH=~/go)
 
-	Using ``create_ts_databases.go``
+Using ``create_ts_databases.go``
 
-		1. Go to the traffic_stats/influxdb_tools/create directory
-		2. Build it by running ``go build create_ts_databases.go`` or simply ``go build``
-		3. Run it:
-			- ``./create_ts_databases -help`` or ``./create -help``
-			- optional flags:
-				- ``url`` -  The InfluxDB url and port
-				- ``replication`` -  The number of nodes in the cluster
-				- ``user`` - The user to use
-				- ``password`` - The password to use
-			- example: ``./create_ts_databases -url=localhost:8086 -replication=3 -user=joe -password=mysecret`` or ``./create -url=localhost:8086 -replication=3 -user=joe -password=mysecret``
+	1. Go to the traffic_stats/influxdb_tools/create directory
+	2. Build it by running ``go build create_ts_databases.go`` or simply ``go build``
+	3. Run it:
+		- ``./create_ts_databases -help`` or ``./create -help``
+		- optional flags:
+			- ``url`` -  The InfluxDB url and port
+			- ``replication`` -  The number of nodes in the cluster
+			- ``user`` - The user to use
+			- ``password`` - The password to use
+		- example: ``./create_ts_databases -url=localhost:8086 -replication=3 -user=joe -password=mysecret`` or ``./create -url=localhost:8086 -replication=3 -user=joe -password=mysecret``
 
 ``sync_ts_databases``
 ---------------------
-	This script is used to sync one InfluxDB environment to another. Only data from continuous queries is synced as it is downsampled data and much smaller in size than syncing raw data. Possible use cases are syncing from Production to Development or Syncing a new cluster once brought online.
+This script is used to sync one InfluxDB environment to another. Only data from continuous queries is synced as it is downsampled data and much smaller in size than syncing raw data. Possible use cases are syncing from Production to Development or Syncing a new cluster once brought online.
 
 How to Use ``sync_ts_databases``
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Pre-Requisites:
+
+	1. Go 1.7 or later
+	2. Configured ``$GOPATH`` (e.g. ``export GOPATH=~/go``)
+
+Using sync_ts_databases.go:
 
-	Pre-Requisites:
+	1. Go to the traffic_stats/influxdb_tools/create directory
+	2. Build it by running ``go build sync_ts_databases.go`` or simply ``go build``
+	3. Run it
 
-		1. Go 1.7 or later
-		2. Configured ``$GOPATH`` (e.g. ``export GOPATH=~/go``)
+		- ``./sync_ts_databases -help`` or ``./sync -help``
+		- required flags:
 
-	Using sync_ts_databases.go:
+			- ``source-url`` - The URL of the source database
+			- ``target-url`` - The URL of the target database
 
-		1. Go to the traffic_stats/influxdb_tools/create directory
-		2. Build it by running ``go build sync_ts_databases.go`` or simply ``go build``
-		3. Run it
-			- ``./sync_ts_databases -help`` or ``./sync -help``
-			- required flags:
-				- ``source-url`` - The URL of the source database
-				- ``target-url`` - The URL of the target database
+		- optional flags:
 
-			- optional flags:
-				- ``database`` - The database to sync (default = sync all databases)
-				- ``days`` - Days in the past to sync (default = sync all data)
-				- ``source-user`` - The user of the source database
-				- ``source-pass`` - The password for the source database
-				- ``target-user`` - The user of the target database
-				- ``target-pass`` - The password for the target database
+			- ``database`` - The database to sync (default = sync all databases)
+			- ``days`` - Days in the past to sync (default = sync all data)
+			- ``source-user`` - The user of the source database
+			- ``source-pass`` - The password for the source database
+			- ``target-user`` - The user of the target database
+			- ``target-pass`` - The password for the target database
 
-			- example: ``./sync -source-url=http://idb-01.foo.net:8086 -target-url=http://idb-01.foo.net:8086 -database=cache_stats -days=7 -source-user=admin source-pass=mysecret``
+		- example: ``./sync -source-url=http://idb-01.foo.net:8086 -target-url=http://idb-01.foo.net:8086 -database=cache_stats -days=7 -source-user=admin source-pass=mysecret``
 
diff --git a/docs/source/development/traffic_monitor.rst b/docs/source/development/traffic_monitor.rst
index 74ac421..24ba783 100644
--- a/docs/source/development/traffic_monitor.rst
+++ b/docs/source/development/traffic_monitor.rst
@@ -1,17 +1,17 @@
-.. 
-.. 
+..
+..
 .. Licensed under the Apache License, Version 2.0 (the "License");
 .. you may not use this file except in compliance with the License.
 .. You may obtain a copy of the License at
-.. 
+..
 ..     http://www.apache.org/licenses/LICENSE-2.0
-.. 
+..
 .. Unless required by applicable law or agreed to in writing, software
 .. distributed under the License is distributed on an "AS IS" BASIS,
 .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 .. See the License for the specific language governing permissions and
 .. limitations under the License.
-.. 
+..
 
 Traffic Monitor Golang
 **********************
@@ -292,9 +292,9 @@ Tests can be executed by running ``go test ./...`` at the root of the ``traffic_
 API
 ===
 
-:ref:`reference-tm-api`
+:ref:`tm-api`
 
-.. toctree:: 
+.. toctree::
   :hidden:
   :maxdepth: 1
 
diff --git a/docs/source/development/traffic_monitor/traffic_monitor_api.rst b/docs/source/development/traffic_monitor/traffic_monitor_api.rst
index 0240fd4..7287081 100644
--- a/docs/source/development/traffic_monitor/traffic_monitor_api.rst
+++ b/docs/source/development/traffic_monitor/traffic_monitor_api.rst
@@ -1,19 +1,19 @@
-.. 
-.. 
+..
+..
 .. Licensed under the Apache License, Version 2.0 (the "License");
 .. you may not use this file except in compliance with the License.
 .. You may obtain a copy of the License at
-.. 
+..
 ..     http://www.apache.org/licenses/LICENSE-2.0
-.. 
+..
 .. Unless required by applicable law or agreed to in writing, software
 .. distributed under the License is distributed on an "AS IS" BASIS,
 .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 .. See the License for the specific language governing permissions and
 .. limitations under the License.
-.. 
+..
 
-.. _reference-tm-api:
+.. _tm-api:
 
 Traffic Monitor APIs
 ====================
diff --git a/docs/source/development/traffic_ops.rst b/docs/source/development/traffic_ops.rst
index 0eae7d8..91f18f1 100644
--- a/docs/source/development/traffic_ops.rst
+++ b/docs/source/development/traffic_ops.rst
@@ -311,7 +311,7 @@ Currently, the following Check Extensions are available and installed by default
   Checks if the Traffic Ops host (if that is the one running the check) can send and receive 8192 size packets to the ``ip_address`` of the server in the server table.
 
 **Operational Readiness Check - ORT**
-  See :ref:`reference-traffic-ops-ort` for more information on the ort script. The ORT column shows how many changes the traffic_ops_ort.pl script would apply if it was run. The number in this column should be 0.
+  See :ref:`traffic-ops-ort` for more information on the ort script. The ORT column shows how many changes the traffic_ops_ort.pl script would apply if it was run. The number in this column should be 0.
 
 **Ping Check - 10G, ILO, 10G6, FQDN**
   The bin/checks/ToPingCheck.pl is to check basic IP connectivity, and in the default setup it checks IP connectivity to the following:
diff --git a/docs/source/development/traffic_router.rst b/docs/source/development/traffic_router.rst
index 5bdae89..09f7220 100644
--- a/docs/source/development/traffic_router.rst
+++ b/docs/source/development/traffic_router.rst
@@ -1,24 +1,24 @@
-.. 
-.. 
+..
+..
 .. Licensed under the Apache License, Version 2.0 (the "License");
 .. you may not use this file except in compliance with the License.
 .. You may obtain a copy of the License at
-.. 
+..
 ..     http://www.apache.org/licenses/LICENSE-2.0
-.. 
+..
 .. Unless required by applicable law or agreed to in writing, software
 .. distributed under the License is distributed on an "AS IS" BASIS,
 .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 .. See the License for the specific language governing permissions and
 .. limitations under the License.
-.. 
+..
 
 Traffic Router
 **************
 Introduction
 ============
 Traffic Router is a Java Tomcat application that routes clients to the closest available cache on the CDN using both HTTP and DNS.  Cache availability is determined by Traffic Monitor; consequently Traffic Router polls Traffic Monitor for its configuration and cache health state information, and uses this data to make routing decisions.  HTTP routing is performed by localizing the client based on the request's source IP address (IPv4 or IPv6), and issues an HTTP 302 redirect to the neare [...]
-	
+
 * shared - A reusable utility JAR for defining Delivery Service Certificates
 * configuration - A resuable JAR defining the ConfigurationListener interface
 * connector - A JAR that overrides Tomcat's standard Http11Protocol Connector class and allows Traffic Router to delay opening listen sockets until it is in a state suitable for routing traffic
@@ -68,7 +68,7 @@ Traffic Router Project Tree Overview
 
 				* ``var/auto-zones`` - BIND formatted zone files generated by Traffic Router Core during unit testing
 
-Java Formatting Conventions 
+Java Formatting Conventions
 ===========================
 None at this time.  The codebase will eventually be formatted per Java standards.
 
@@ -148,9 +148,9 @@ This will create the traffic_router.rpm and the tomcat.rpm and copy them to the
 API
 ===
 
-:ref:`reference-tr-api`
+:ref:`tr-api`
 
-.. toctree:: 
+.. toctree::
   :hidden:
   :maxdepth: 1
 
diff --git a/docs/source/development/traffic_router/traffic_router_api.rst b/docs/source/development/traffic_router/traffic_router_api.rst
index f56ca2e..e98774d 100644
--- a/docs/source/development/traffic_router/traffic_router_api.rst
+++ b/docs/source/development/traffic_router/traffic_router_api.rst
@@ -13,7 +13,7 @@
 .. limitations under the License.
 ..
 
-.. _reference-tr-api:
+.. _tr-api:
 
 
 Traffic Router API
diff --git a/docs/source/overview/traffic_monitor.rst b/docs/source/overview/traffic_monitor.rst
index f12ec7b..eefb67c 100644
--- a/docs/source/overview/traffic_monitor.rst
+++ b/docs/source/overview/traffic_monitor.rst
@@ -60,7 +60,7 @@ Upon startup or configuration change in Traffic Ops, in addition to caches, Traf
 
 In operation of the health protocol, Traffic Monitor takes all health states from all peers, including the locally known health state, and serves an optimistic outlook to the requesting client. This means that, for example, if three of the four Traffic Monitors see a given cache or Delivery Service as exceeding its thresholds and unavailable, it is still considered available. Only if all Traffic Monitors agree that the given object is unavailable is that state propagated to upstream comp [...]
 
-It is not uncommon for a cache to be marked unavailable by Traffic Monitor - in fact, it is business as usual for many CDNs. Should a widely-requested video asset cause a single cache to get close to its interface capacity, the Health Protocol will "kicks in", and Traffic Monitor marks cache-03 as unavailable. New clients want to see the same asset, and now, Traffic Router will send these customers to another cache (say cache-01) in the same Cache Group. The load is now shared between ca [...]
+It is not uncommon for a cache to be marked unavailable by Traffic Monitor - in fact, it is business as usual for many CDNs. Should a widely requested video asset cause a single cache to get close to its interface capacity, the Health Protocol will "kicks in", and Traffic Monitor marks cache-03 as unavailable. New clients want to see the same asset, and now, Traffic Router will send these customers to another cache (say cache-01) in the same Cache Group. The load is now shared between ca [...]
 
 It is less common for a delivery service to be marked unavailable by Traffic Monitor, the delivery service thresholds are usually used for overflow situations at extreme peaks to protect other delivery services in the CDN from getting impacted.
 
diff --git a/docs/source/overview/traffic_ops.rst b/docs/source/overview/traffic_ops.rst
index 4310cce..9b57d0c 100644
--- a/docs/source/overview/traffic_ops.rst
+++ b/docs/source/overview/traffic_ops.rst
@@ -19,7 +19,7 @@ Traffic Ops
 ===========
 Traffic Ops is the tool for administration (configuration and monitoring) of all components in a Traffic Control CDN. Traffic Portal uses Traffic Ops APIs to manage servers, cache groups, delivery services, etc. In many cases, a configuration change requires propagation to several, or even all, caches and only explicitly after or before the same change propagates to Traffic Router. Traffic Ops takes care of this required consistency between the different components and their configuratio [...]
 
-Traffic Ops uses a PostgreSQL database to store the configuration information, and the `Mojolicious framework <http://mojolicio.us/>`_ and `Go <https://golang.org/>`_ to generate APIs used by the Traffic Portal. Not all configuration data is in this database however; for sensitive data like SSL private keys or token based authentication shared secrets, a separate key-value store is used, allowing the operator to harden the server that runs this key-value store better from a security pers [...]
+Traffic Ops uses a PostgreSQL database to store the configuration information, and the `Mojolicious framework <http://mojolicio.us/>`_ and `Go <https://golang.org/>`_ to generate APIs used by the Traffic Portal. Not all configuration data is in this database however; for sensitive data like SSL private keys or token based authentication shared secrets, a separate key/value store is used, allowing the operator to harden the server that runs this key/value store better from a security pers [...]
 
 Traffic Ops generates all the application specific configuration files for the caches and other servers. The caches and other servers check in with Traffic Ops at a regular interval (default 15 minutes) to see if updated configuration files require application. This is done by the Traffic Ops Operations Readiness Test (ORT) script.
 


Mime
View raw message