You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by ne...@apache.org on 2017/04/03 18:22:24 UTC
[3/4] incubator-trafficcontrol git commit: minor improvements to
Traffic Monitor administrator manual
minor improvements to Traffic Monitor administrator manual
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/278c01a5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/278c01a5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/278c01a5
Branch: refs/heads/master
Commit: 278c01a51f7eac328b4d6c0e5ea083a24722acb5
Parents: 566577c
Author: Oren Shemesh <or...@qwilt.com>
Authored: Mon Jan 30 09:23:13 2017 +0200
Committer: Dave Neuman <ne...@apache.org>
Committed: Mon Apr 3 12:22:34 2017 -0600
----------------------------------------------------------------------
docs/source/admin/traffic_monitor.rst | 205 ++++++++++++++++-------------
docs/source/index.rst | 4 +-
2 files changed, 118 insertions(+), 91 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/278c01a5/docs/source/admin/traffic_monitor.rst
----------------------------------------------------------------------
diff --git a/docs/source/admin/traffic_monitor.rst b/docs/source/admin/traffic_monitor.rst
index 3a06e78..4b3d205 100644
--- a/docs/source/admin/traffic_monitor.rst
+++ b/docs/source/admin/traffic_monitor.rst
@@ -30,94 +30,111 @@ The following are requirements to ensure an accurate set up:
* perl-JSON
* perl-WWW-Curl
-1. Enter the Traffic Monitor server into Traffic Ops
-2. Make sure the FQDN of the Traffic Monitor is resolvable in DNS.
-3. Install Traffic Monitor and Perl mods: ``sudo yum -y install traffic_monitor perl-JSON perl-WWW-Curl``
-4. Take the config from Traffic Ops - run : ``sudo /opt/traffic_monitor/bin/traffic_monitor_config.pl``
-
- Sample output: ::
-
- traffic_mon # /opt/traffic_monitor/bin/traffic_monitor_config.pl https://traffic-ops.cdn.kabletown.net admin:password prompt
- DEBUG: traffic_ops selected: https://traffic-ops.cdn.kabletown.net
- DEBUG: traffic_ops login: admin:kl0tevax
- DEBUG: Config write mode: prompt
- DEBUG: Found profile from traffic_ops: RASCAL_CDN
- DEBUG: Found CDN name from traffic_ops: kabletown_cdn
- DEBUG: Found location for rascal-config.txt from traffic_ops: /opt/traffic_monitor/conf
- WARN: Param not in traffic_ops: allow.config.edit description: Allow the running configuration to be edited through the UI Using default value of: false
- WARN: Param not in traffic_ops: default.accessControlAllowOrigin description: The value for the header: Access-Control-Allow-Origin for published jsons... should be narrowed down to TMs Using default value of: *
- WARN: Param not in traffic_ops: default.connection.timeout description: Default connection time for all queries (cache, peers, TM) Using default value of: 2000
- WARN: Param not in traffic_ops: hack.forceSystemExit description: Call System.exit on shutdown Using default value of: false
- WARN: Param not in traffic_ops: hack.peerOptimistic description: The assumption of a caches availability when unknown by peers Using default value of: true
- WARN: Param not in traffic_ops: hack.publishDsStates description: If true, the delivery service states will be included in the CrStates.json Using default value of: true
- WARN: Param not in traffic_ops: health.ds.interval description: The polling frequency for calculating the deliveryService states Using default value of: 1000
- WARN: Param not in traffic_ops: health.ds.leniency description: The amount of time before the deliveryService disregards the last update from a non-responsive cache Using default value of: 30000
- WARN: Param not in traffic_ops: health.event-count description: The number of historical events that will be kept Using default value of: 200
- WARN: Param not in traffic_ops: health.polling.interval description: The polling frequency for getting the states from caches Using default value of: 5000
- WARN: Param not in traffic_ops: health.startupMinCycles description: The number of query cycles that must be completed before this Traffic Monitor will start reporting Using default value of: 2
- WARN: Param not in traffic_ops: health.timepad description: A delay between each separate cache query Using default value of: 10
- WARN: Param not in traffic_ops: peers.polling.interval description: Polling frequency for getting states from peer monitors Using default value of: 5000
- WARN: Param not in traffic_ops: peers.polling.url description: The url for current, unfiltered states from peer monitors Using default value of: http://${hostname}/publish/CrStates?raw
- WARN: Param not in traffic_ops: peers.threadPool description: The number of threads given to the pool for querying peers Using default value of: 1
- WARN: Param not in traffic_ops: tm.auth.url description: The url for the authentication form Using default value of: https://${tmHostname}/login
- WARN: Param not in traffic_ops: tm.crConfig.json.polling.url description: Url for the cr-config (json) Using default value of: https://${tmHostname}/CRConfig-Snapshots/${cdnName}/CRConfig.json
- WARN: Param not in traffic_ops: tm.healthParams.polling.url description: The url for the heath params (json) Using default value of: https://${tmHostname}/health/${cdnName}
- WARN: Param not in traffic_ops: tm.polling.interval description: The polling frequency for getting updates from TM Using default value of: 10000
- DEBUG: allow.config.edit needed in config, but does not exist in config on disk.
- DEBUG: cdnName value on disk () does not match value needed in config (kabletown_cdn).
- DEBUG: default.accessControlAllowOrigin needed in config, but does not exist in config on disk.
- DEBUG: default.connection.timeout needed in config, but does not exist in config on disk.
- DEBUG: hack.forceSystemExit needed in config, but does not exist in config on disk.
- DEBUG: hack.peerOptimistic needed in config, but does not exist in config on disk.
- DEBUG: hack.publishDsStates needed in config, but does not exist in config on disk.
- DEBUG: health.ds.interval needed in config, but does not exist in config on disk.
- DEBUG: health.ds.leniency needed in config, but does not exist in config on disk.
- DEBUG: health.startupMinCycles needed in config, but does not exist in config on disk.
- DEBUG: health.timepad value on disk (20) does not match value needed in config (10).
- DEBUG: peers.polling.interval needed in config, but does not exist in config on disk.
- DEBUG: peers.threadPool needed in config, but does not exist in config on disk.
- DEBUG: tm.auth.password value on disk () does not match value needed in config (kl0tevax).
- DEBUG: tm.auth.username value on disk () does not match value needed in config (admin).
- DEBUG: tm.hostname value on disk () does not match value needed in config (traffic-ops.cdn.kabletown.net).
- DEBUG: Proposed traffic_monitor_config:
- {
- "traffic_monitor_config":{
- "default.accessControlAllowOrigin":"*",
- "health.startupMinCycles":"2",
- "tm.auth.password":"kl0tevax",
- "tm.auth.url":"https://${tmHostname}/login",
- "tm.healthParams.polling.url":"https://${tmHostname}/health/${cdnName}",
- "allow.config.edit":"false",
- "tm.crConfig.json.polling.url":"https://${tmHostname}/CRConfig-Snapshots/${cdnName}/CRConfig.json",
- "tm.auth.username":"admin",
- "peers.polling.url":"http://${hostname}/publish/CrStates?raw",
- "health.timepad":"10",
- "hack.publishDsStates":"true",
- "default.connection.timeout":"2000",
- "health.ds.interval":"1000",
- "peers.polling.interval":"5000",
- "hack.forceSystemExit":"false",
- "health.ds.leniency":"30000",
- "cdnName":"kabletown_cdn",
- "peers.threadPool":"1",
- "tm.polling.interval":"10000",
- "health.polling.interval":"5000",
- "health.event-count":"200",
- "hack.peerOptimistic":"true",
- "tm.hostname":"traffic-ops.cdn.kabletown.net"
- }
- }
- ----------------------------------------------
- ----OK to write this config to disk? (Y/n) [n]y
- ----------------------------------------------
- ----------------------------------------------
- ----OK to write this config to disk? (Y/n) [n]Y
- ----------------------------------------------
- DEBUG: Writing /opt/traffic_monitor/conf/traffic_monitor_config.js
- traffic_mon #
-
-5. Start Tomcat: ``sudo service tomcat start`` ::
+#. Enter the Traffic Monitor server into Traffic Ops. Set the 'Type' field to 'RASCAL'.
+#. Make sure the FQDN of the Traffic Monitor is resolvable in DNS.
+
+#. Get the Traffic Monitor RPM.
+
+ Sample command: ::
+
+ wget http://traffic-control-cdn.net/downloads/1.7.0/RELEASE-1.7.0/traffic_monitor-1.7.0-3908.5b77f60f.el6.x86_64.rpm
+
+#. Install Traffic Monitor and Perl modules: ::
+
+ sudo yum -y install traffic_monitor-*.rpm perl-JSON perl-WWW-Curl
+
+#. Take the config from Traffic Ops: ::
+
+ sudo /opt/traffic_monitor/bin/traffic_monitor_config.pl https://<traffic-ops-URL> <traffic-ops-user>:<traffic-ops-password> prompt
+
+ Sample session: ::
+
+ traffic_mon # /opt/traffic_monitor/bin/traffic_monitor_config.pl https://traffic-ops.cdn.kabletown.net admin:kl0tevax prompt
+ DEBUG: traffic_ops selected: https://traffic-ops.cdn.kabletown.net
+ DEBUG: traffic_ops login: admin:kl0tevax
+ DEBUG: Config write mode: prompt
+ DEBUG: Found profile from traffic_ops: RASCAL_CDN
+ DEBUG: Found CDN name from traffic_ops: kabletown_cdn
+ DEBUG: Found location for rascal-config.txt from traffic_ops: /opt/traffic_monitor/conf
+ WARN: Param not in traffic_ops: allow.config.edit description: Allow the running configuration to be edited through the UI Using default value of: false
+ WARN: Param not in traffic_ops: default.accessControlAllowOrigin description: The value for the header: Access-Control-Allow-Origin for published jsons... should be narrowed down to TMs Using default value of: *
+ WARN: Param not in traffic_ops: default.connection.timeout description: Default connection time for all queries (cache, peers, TM) Using default value of: 2000
+ WARN: Param not in traffic_ops: hack.forceSystemExit description: Call System.exit on shutdown Using default value of: false
+ WARN: Param not in traffic_ops: hack.peerOptimistic description: The assumption of a caches availability when unknown by peers Using default value of: true
+ WARN: Param not in traffic_ops: hack.publishDsStates description: If true, the delivery service states will be included in the CrStates.json Using default value of: true
+ WARN: Param not in traffic_ops: health.ds.interval description: The polling frequency for calculating the deliveryService states Using default value of: 1000
+ WARN: Param not in traffic_ops: health.ds.leniency description: The amount of time before the deliveryService disregards the last update from a non-responsive cache Using default value of: 30000
+ WARN: Param not in traffic_ops: health.event-count description: The number of historical events that will be kept Using default value of: 200
+ WARN: Param not in traffic_ops: health.polling.interval description: The polling frequency for getting the states from caches Using default value of: 5000
+ WARN: Param not in traffic_ops: health.startupMinCycles description: The number of query cycles that must be completed before this Traffic Monitor will start reporting Using default value of: 2
+ WARN: Param not in traffic_ops: health.timepad description: A delay between each separate cache query Using default value of: 10
+ WARN: Param not in traffic_ops: peers.polling.interval description: Polling frequency for getting states from peer monitors Using default value of: 5000
+ WARN: Param not in traffic_ops: peers.polling.url description: The url for current, unfiltered states from peer monitors Using default value of: http://${hostname}/publish/CrStates?raw
+ WARN: Param not in traffic_ops: peers.threadPool description: The number of threads given to the pool for querying peers Using default value of: 1
+ WARN: Param not in traffic_ops: tm.auth.url description: The url for the authentication form Using default value of: https://${tmHostname}/login
+ WARN: Param not in traffic_ops: tm.crConfig.json.polling.url description: Url for the cr-config (json) Using default value of: https://${tmHostname}/CRConfig-Snapshots/${cdnName}/CRConfig.json
+ WARN: Param not in traffic_ops: tm.healthParams.polling.url description: The url for the heath params (json) Using default value of: https://${tmHostname}/health/${cdnName}
+ WARN: Param not in traffic_ops: tm.polling.interval description: The polling frequency for getting updates from TM Using default value of: 10000
+ DEBUG: allow.config.edit needed in config, but does not exist in config on disk.
+ DEBUG: cdnName value on disk () does not match value needed in config (kabletown_cdn).
+ DEBUG: default.accessControlAllowOrigin needed in config, but does not exist in config on disk.
+ DEBUG: default.connection.timeout needed in config, but does not exist in config on disk.
+ DEBUG: hack.forceSystemExit needed in config, but does not exist in config on disk.
+ DEBUG: hack.peerOptimistic needed in config, but does not exist in config on disk.
+ DEBUG: hack.publishDsStates needed in config, but does not exist in config on disk.
+ DEBUG: health.ds.interval needed in config, but does not exist in config on disk.
+ DEBUG: health.ds.leniency needed in config, but does not exist in config on disk.
+ DEBUG: health.startupMinCycles needed in config, but does not exist in config on disk.
+ DEBUG: health.timepad value on disk (20) does not match value needed in config (10).
+ DEBUG: peers.polling.interval needed in config, but does not exist in config on disk.
+ DEBUG: peers.threadPool needed in config, but does not exist in config on disk.
+ DEBUG: tm.auth.password value on disk () does not match value needed in config (kl0tevax).
+ DEBUG: tm.auth.username value on disk () does not match value needed in config (admin).
+ DEBUG: tm.hostname value on disk () does not match value needed in config (traffic-ops.cdn.kabletown.net).
+ DEBUG: Proposed traffic_monitor_config:
+ {
+ "traffic_monitor_config":{
+ "default.accessControlAllowOrigin":"*",
+ "health.startupMinCycles":"2",
+ "tm.auth.password":"kl0tevax",
+ "tm.auth.url":"https://${tmHostname}/login",
+ "tm.healthParams.polling.url":"https://${tmHostname}/health/${cdnName}",
+ "allow.config.edit":"false",
+ "tm.crConfig.json.polling.url":"https://${tmHostname}/CRConfig-Snapshots/${cdnName}/CRConfig.json",
+ "tm.auth.username":"admin",
+ "peers.polling.url":"http://${hostname}/publish/CrStates?raw",
+ "health.timepad":"10",
+ "hack.publishDsStates":"true",
+ "default.connection.timeout":"2000",
+ "health.ds.interval":"1000",
+ "peers.polling.interval":"5000",
+ "hack.forceSystemExit":"false",
+ "health.ds.leniency":"30000",
+ "cdnName":"kabletown_cdn",
+ "peers.threadPool":"1",
+ "tm.polling.interval":"10000",
+ "health.polling.interval":"5000",
+ "health.event-count":"200",
+ "hack.peerOptimistic":"true",
+ "tm.hostname":"traffic-ops.cdn.kabletown.net"
+ }
+ }
+ ----------------------------------------------
+ ----OK to write this config to disk? (Y/n) [n]y
+ ----------------------------------------------
+ ----------------------------------------------
+ ----OK to write this config to disk? (Y/n) [n]Y
+ ----------------------------------------------
+ DEBUG: Writing /opt/traffic_monitor/conf/traffic_monitor_config.js
+ traffic_mon #
+
+#. Update the 'allow_ip' and 'allow_ip6' parameters in the profiles of all caches defined in traffic ops, both edge and mid,
+ with the address of the traffic monitor being installed, so that the traffic servers will allow this Traffic Monitor
+ to access the astats plugin.
+ For details see :ref:`rl-param-prof` in the *Configuring Traffic Ops* section.
+
+#. Start Tomcat: ``sudo service tomcat start`` ::
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
@@ -127,14 +144,24 @@ The following are requirements to ensure an accurate set up:
Using CATALINA_PID:/var/run/tomcat/tomcat.pid
Starting tomcat [ OK ]
-6. Verify Traffic Monitor is running by pointing your browser to port 80 on the Traffic Monitor host.
+#. Configure tomcat to start automatically: ``sudo chkconfig tomcat on``
+
+#. Verify Traffic Monitor is running by pointing your browser to port 80 on the Traffic Monitor host.
+
+#. In Traffic Ops servers table, click 'Edit' for this server, then click 'Online'.
+
Configuring Traffic Monitor
===========================
Configuration Overview
----------------------
-Traffic Monitor is configured using its JSON configuration file, ``traffic_monitor_config.js``. Specify the URL, username, password, and CDN name for the instance of Traffic Ops for which this Traffic Monitor is a member, and start the software. Once started with the correct configuration, Traffic Monitor downloads its configuration from Traffic Ops and begins polling caches. Once a configurable number of polling cycles completes, health protocol state is available via RESTful JSON endpoints.
+Traffic Monitor is configured using its JSON configuration file, ``/opt/traffic_monitor/conf/traffic_monitor_config.js``.
+This file is created by ``traffic_monitor_config.pl`` script, and among other things, it contains the Traffic Ops URL and the user:password
+specified during the invocation of that script.
+
+When started, Traffic Monitor uses this basic configuration to downloads its configuration from Traffic Ops, and begins polling caches.
+Once a configurable number of polling cycles completes, health protocol state is available via RESTful JSON endpoints.
Troubleshooting and log files
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/278c01a5/docs/source/index.rst
----------------------------------------------------------------------
diff --git a/docs/source/index.rst b/docs/source/index.rst
index 2a12096..50b604b 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -23,7 +23,7 @@ Traffic Control is an Open Source implementation of a Content Delivery Network.
The following documentation sections are available:
-CDN Basics
+CDN Basics
==========
A review of the basic functionality of a Content Delivery Network.
@@ -53,7 +53,7 @@ How to deploy and manage a Traffic Control CDN.
Developer's Guide
==================
-A guide to the various internal and external APIs, and a introduction for the Traffic Control developer.
+A guide to the various internal and external APIs, and an introduction for the Traffic Control developer.
.. toctree::
:maxdepth: 3