Traffic Portal - Using

Traffic Portal is the official Traffic Control UI. Traffic Portal typically runs on a different machine than Traffic Ops, and works by using the Traffic Ops API. The following high-level items are available in the Traffic Portal menu.

The Traffic Portal Landing Page

Fig. 2 Traffic Portal Start Page

Change Logs

At the top-right of every page is a bubble icon and badge count indicating the number of changes made to the CDN since the last viewing. Clicking on this expands a short list, with an option to See All Change Logs. Clicking on this will navigate to the “Changelog” page.

The changelog dialog

Fig. 3 The Changelog Dialog

The 'full' change logs page

Fig. 4 The Full Change Logs Page

Dashboard

The Dashboard is the default landing page for Traffic Portal. It provides a real-time view into the main performance indicators of the CDNs managed by Traffic Control. It also displays various statistics about the overall health of your CDN.

Current Bandwidth
The current bandwidth of all of your CDNs.
Current Connections
The current number of connections to all of your CDNs.
Healthy Caches
Displays the number of healthy cache servers across all CDNs. Click the link to view the healthy caches on the cache stats page.
Unhealthy Caches
Displays the number of unhealthy cache servers across all CDNs. Click the link to view the unhealthy caches on the cache stats page.
Online Caches
Displays the number of cache servers with ONLINE Status. Traffic Monitor will not monitor the state of ONLINE servers.
Reported Caches
Displays the number of cache servers with REPORTED Status.
Offline Caches
Displays the number of cache servers with OFFLINE Status.
Admin Down Caches
Displays the number of caches with ADMIN_DOWN Status.

Each component of this view is updated on the intervals defined in the traffic_portal/app/src/traffic_portal_properties.json configuration file.

CDNs

A table of CDNs with the following columns:

Name:The name of the CDN
Domain:The CDN’s TLD
DNSSEC Enabled:‘true’ if DNSSEC is enabled on this CDN, ‘false’ otherwise.

CDN management includes the ability to (where applicable):

Monitor

The Monitor section of Traffic Portal is used to display statistics regarding the various cache servers within all CDNs visible to the user. It retrieves this information through the Traffic Ops API from Traffic Monitor instances.

The Traffic Portal 'Monitor' Menu

Fig. 9 The ‘Monitor’ Menu

Cache Checks

A real-time view into the status of each cache server. The Monitor ‣ Cache Checks page is intended to give an overview of the caches managed by Traffic Control as well as their status.

Warning

Several of these columns may be empty by default - particularly in the CDN in a Box environment - and require Traffic Ops Extensions to be installed/enabled/configured in order to work.

Hostname:

The (short) hostname of the cache server

Profile:

The Name of the Profile used by the cache server

Status:

The Status of the cache server

See also

Health Protocol

UPD:

Displays whether or not this cache server has configuration updates pending

RVL:

Displays whether or not this cache server (or one or more of its parents) has content invalidation requests pending

ILO:

Indicates the status of an iLO interface for this cache server

10G:

Indicates whether or not the IPv4 address of this cache server is reachable via ICMP “pings”

FQDN:

DNS check that matches what the DNS servers respond with compared to what Traffic Ops has configured

DSCP:

Checks the DSCP value of packets received from this cache server

10G6:

Indicates whether or not the IPv6 address of this cache server is reachable via ICMP “pings”

MTU:

Checks the MTU by sending ICMP “pings” from the Traffic Ops server

RTR:

Checks the reachability of the cache server from the CDN’s configured Traffic Routers

CHR:

Cache-Hit Ratio (percent)

CDU:

Total Cache-Disk Usage (percent)

ORT:

Uses the ORT script on the cache server to determine if the configuration in Traffic Ops matches the configuration on cache server itself. The user as whom this script runs must have an SSH key on each server.

Cache Stats

A table showing the results of the periodic Check Extensions that are run. These can be grouped by Cache Group and/or Profile.

Profile:

Name of the Profile applied to the Edge-tier or Mid-tier cache server, or the special name “ALL” indicating that this row is a group of all cache servers within a single Cache Group

Host:

‘ALL’ for entries grouped by Cache Group, or the hostname of a particular cache server

Cache Group:

Name of the Cache Group to which this server belongs, or the name of the Cache Group that is grouped for entries grouped by Cache Group, or the special name “ALL” indicating that this row is an aggregate across all Cache Groups

Healthy:

True/False as determined by Traffic Monitor

See also

Health Protocol

Status:

Status of the cache server or Cache Group

Connections:

Number of currently open connections to this cache server or Cache Group

MbpsOut:

Data flow rate outward from the CDN (toward client) in Megabits per second

Services

Services groups the functionality to modify Delivery Services - for those users with the necessary permissions - or make Delivery Service Requests for such changes - for users without necessary permissions.

The Traffic Portal 'Services' Menu

Fig. 10 The ‘Services’ Menu

Delivery Services

This page contains a table displaying all Delivery Services visible to the user as determined by their Tenant.

An example table of Delivery Services

Fig. 11 Table of Delivery Services

Use the Select Columns menu to select the delivery service columns to view and search. Columns can also be rearranged using drag-and-drop. Available delivery service columns include:

Delivery Service management includes the ability to (where applicable):

Delivery Service Requests

If enabled in the traffic_portal_properties.json configuration file, all Delivery Service changes (create, update and delete) are captured as a Delivery Service Request and must be reviewed before fulfillment/deployment.

An example table of Delivery Service Requests

Fig. 12 Table of Delivery Service Requests

Delivery Service: A unique string that identifies the Delivery Service with which the request is associated. This unique string is also known (and ofter referred to within documentation and source code) as a Delivery Service key’ or ‘XML ID’/’xml_id’/’xmlid’ :Type: The type of Delivery Service Request: ‘create’, ‘update’, or ‘delete’ according to what was requested :Status: The status of the Delivery Service Request. Has the following possible values:

draft
The Delivery Service Request is not ready for review and fulfillment
submitted
The Delivery Service Request is ready for review and fulfillment
rejected
The Delivery Service Request has been rejected and cannot be modified
pending
The Delivery Service Request has been fulfilled but the changes have yet to be deployed
complete
The Delivery Service Request has been fulfilled and the changes have been deployed
Author:

The user responsible for creating the Delivery Service Request

Assignee:

The user responsible for fulfilling the Delivery Service Request. Currently, the operations role or above is required to assign Delivery Service Requests

Last Edited By:

The last user to edit the Delivery Service Request

Created:

Relative time indicating when the Delivery Service Request was created

Actions:

Actions that can be performed on a Delivery Service Request. The following actions are provided:

fulfill

Implement the changes captured in the Delivery Service Request

reject

Reject the changes captured in the Delivery Service Request

delete

Delete the Delivery Service Request

Delivery Service Request management includes the ability to (where applicable):

  • create a new Delivery Service Request
  • update an existing Delivery Service Request
  • delete an existing Delivery Service Request
  • update the status of a Delivery Service Request
  • assign a Delivery Service Request
  • reject a Delivery Service Request
  • fulfill a Delivery Service Request
  • complete a Delivery Service Request

Configure

Interfaces for managing the various components of Traffic Control and how they interact are grouped under Configure.

The 'Configure' Menu

Fig. 13 The ‘Configure’ Menu

Servers

A configurable table of all servers (of all kinds) across all Delivery Services and CDNs visible to the user.

An example table of Servers

Fig. 14 Table of Servers

Use the Select Columns menu to select the server columns to view and search. Columns can also be rearranged using drag-and-drop. Available server columns include:

Cache Group:

[Visible by default] The name of the Cache Group to which this server belongs

CDN:

[Visible by default] The name of the CDN to which the server belongs

Domain:

[Visible by default] The domain part of the server’s FQDN

Host:

[Visible by default] The (short) hostname of the server

HTTPS Port:

The port on which the server listens for incoming HTTPS connections/requests

ID:

An integral, unique identifier for this server

ILO IP Address:

[Visible by default] The IPv4 address of the server’s ILO service

ILO IP Gateway:

The IPv4 gateway address of the server’s ILO service

ILO IP Netmask:

The IPv4 subnet mask of the server’s ILO service

ILO Username:

The user name for the server’s ILO service

Interface Name:

The name of the primary network interface used by the server

IPv6 Address:

[Visible by default] The IPv6 address and subnet mask of interfaceName

IPv6 Gateway:

The IPv6 address of the gateway used by interfaceName

Last Updated:

The date and time at which this server description was last modified

Mgmt IP Address:
 

The IPv4 address of some network interface on the server used for ‘management’

Mgmt IP Gateway:
 

The IPv4 address of a gateway used by some network interface on the server used for ‘management’

Mgmt IP Netmask:
 

The IPv4 subnet mask used by some network interface on the server used for ‘management’

Network Gateway:
 

The IPv4 address of the gateway used by interfaceName

Network IP:

[Visible by default] The IPv4 address of interfaceName

Network MTU:

The Maximum Transmission Unit (MTU) to configured on interfaceName

Network Subnet:

The IPv4 subnet mask used by interfaceName

Offline Reason:

A user-entered reason why the server is in ADMIN_DOWN or OFFLINE status

Phys Location:

[Visible by default] The name of the physical location where the server resides

Profile:

[Visible by default] The Name of the Profile used by this server

Rack:

A string indicating “server rack” location

Reval Pending:

[Visible by default] A boolean value represented as a clock (content invalidation/revalidation is pending) or green check mark (content invalidation/revalidation is not pending)

Router Hostname:
 

The human-readable name of the router responsible for reaching this server

Router Port Name:
 

The human-readable name of the port used by the router responsible for reaching this server

Status:

[Visible by default] The Status of the server

See also

Health Protocol

TCP Port:

The port on which this server listens for incoming TCP connections

Type:

[Visible by default] The name of the Type of this server

Update Pending:

[Visible by default] A boolean value represented as a clock (updates are pending) or green check mark (updates are not pending), typically to be acted upon by Traffic Ops ORT

Server management includes the ability to (where applicable):

Origins

A table of all origins. These are automatically created for the origins served by Delivery Services throughout all CDNs, but additional ones can be created at will. The table has the following columns:

Name:

The name of the origin. If this origin was created automatically for a Delivery Service, this will be the xml_id of that Delivery Service.

Tenant:

The name of the Tenant that owns this origin - this is not necessarily the same as the Tenant that owns the Delivery Service to which this origin belongs.

Primary:

Either true to indicate that this is the “primary” origin for the Delivery Service to which it is assigned, or false otherwise.

Delivery Service:
 

The xml_id of the Delivery Service to which this origin is assigned.

FQDN:

The FQDN of the origin server.

IPv4 Address:

The origin’s IPv4 address, if configured.

IPv6 Address:

The origin’s IPv6 address, if configured.

Protocol:

The protocol this origin uses to serve content. One of

  • http
  • https
Port:

The port on which the origin server listens for incoming HTTP(S) requests.

Note

If this field appears blank in the table, it means that a default was chosen for the origin based on its Protocol - 80 for “http”, 443 for “https”.

Coordinate:

The name of the geographic coordinate pair that defines the physical location of this origin server. Origins created for Delivery Services automatically will not have associated Coordinates. This can be rectified on the details pages for said origins

Cachegroup:

The name of the Cache Group to which this origin belongs, if any.

Profile:

The Name of a Profile used by this origin.

Origin management includes the ability to (where applicable):

Profiles

A table of all Profiles. From here you can see Parameters, servers and Delivery Services assigned to each Profile. Each entry in the table has these fields:

Name:The Name of the Profile
Type:The Type of this Profile, which indicates the kinds of objects to which the Profile may be assigned
Routing Disabled:
 The Routing Disabled setting of this Profile
Description:This Profile’s Description
CDN:The CDN to which this Profile is restricted. To use the same Profile across multiple CDNs, clone the Profile and change the clone’s CDN field.

Profile management includes the ability to (where applicable):

Parameters

This page displays a table of Parameters from all Profiles with the following columns:

Name:The Name of the Parameter
Config File:The Config File to which the Parameter belongs.
Value:The Value of the Parameter.
Secure:Whether or not the Parameter is Secure
Profiles:The number of Profiles currently using this Parameter

Parameter management includes the ability to (where applicable):

Types

Types group Delivery Services, servers and Cache Groups for various purposes. Each entry in the table shown on this page has the following fields:

Name:The name of the Type
Use In Table:States the use of this Type, e.g. server indicates this is a Type assigned to servers
Description:A short, usually user-defined, description of the Type

Type management includes the ability to (where applicable):

Statuses

This page shows a table of Statuses with the following columns:

Name:The name of this Status
Description:A short, usually user-defined, description of this Status

Status management includes the ability to (where applicable):

Topology

Topology groups views and functionality that deal with how CDNs and their Traffic Control components are grouped and distributed, both on a logical level as well as a physical level.

../../_images/tp_menu_topology.png

Fig. 15 ‘Topology’ Menu

Cache Groups

This page is a table of Cache Groups, each entry of which has the following fields:

Name:The full name of this Cache Group
Short Name:A shorter, more human-friendly name for this Cache Group
Type:The Type of this Cache Group
Latitude:A geographic latitude assigned to this Cache Group
Longitude:A geographic longitude assigned to this Cache Group

Cache Group management includes the ability to (where applicable):

Coordinates

Topology ‣ Coordinates allows a label to be given to a set of geographic coordinates for ease of use. Each entry in the table on this page has the following fields:

Name:The name of this coordinate pair
Latitude:The geographic latitude part of the coordinate pair
Longitude:The geographic longitude part of the coordinate pair

Coordination management includes the ability to (where applicable):

  • create a new coordinate pair
  • update an existing coordinate pair
  • delete an existing coordinate pair

Phys Locations

A table of Physical Locations which may be assigned to servers and Cache Groups, typically for the purpose of optimizing client routing. Each entry has the following columns:

Name:The full name of the Physical Location
Short Name:A shorter, more human-friendly name for this Physical Location
Address:The Physical Location’s street address (street number and name)
City:The city within which the Physical Location resides
State:The state within which the Physical Location’s city lies
Region:The Region to which this Physical Location has been assigned

Physical Location management includes the ability to (where applicable):

Divisions

Each entry in the table of Divisions on this page has the following fields:

Name:The name of the Division

Division management includes the ability to (where applicable):

Regions

Each entry in the table of Regions on this page has the following fields:

Name:The name of this Region
Division:The Division to which this Region is assigned

Region management includes the ability to (where applicable):

ASNs

Manage ASNs. Each entry in the table on this page has the following fields:

ASN:The actual ASN
Cache Group:The Cache Group to which this ASN is assigned

ASN management includes the ability to (where applicable):

  • create a new ASN
  • update an existing ASN
  • delete an existing ASN

Tools

Tools contains various tools that don’t directly relate to manipulating Traffic Control components or their groupings.

The 'Tools' Menu

Fig. 16 The ‘Tools’ Menu

Invalidate Content

Here, specific assets can be invalidated in all caches of a Delivery Service, forcing content to be updated from the origin. Specifically, this doesn’t mean that cache server s will immediately remove items from their caches, but rather will fetch new copies whenever a request is made matching the ‘Asset URL’ regular expression. This behavior persists until the Invalidate Content Job’s TTL expires. Each entry in the table on this page has the following fields:

Delivery Service: The Delivery Service to which to apply this Invalidate Content Job :Asset URL: A URL or regular expression which describes the asset(s) to be invalidated :Parameters: So far, the only use for this is setting a TTL over which the Invalidate Content Job shall remain active :Start: An effective start time until which the job is delayed :Created By: The user name of the person who created this Invalidate Content Job

Invalidate content includes the ability to (where applicable):

  • create a new invalidate content job

Generate ISO

Generates a boot-able system image for any of the servers in the Servers table (or any server for that matter). Currently it only supports CentOS 7, but if you’re brave and pure of heart you MIGHT be able to get it to work with other Unix-like Operating Systems. The interface is mostly self-explanatory, but here is a short explanation of the fields in that form.

Copy Server Attributes From
Optional. This option lets the user choose a server from the Traffic Ops database and will auto-fill the other fields as much as possible based on that server’s properties
OS Version
This list is populated by modifying the osversions.cfg file on the Traffic Ops server. This file maps OS names to the name of a directory under app/public/iso/ directory within the Traffic Ops install directory
Hostname
The desired hostname of the resultant system
Domain
The desired domain name of the resultant system
DHCP

If this is ‘no’ the IP settings of the system must be specified, and the following extra fields will appear:

IP Address
The resultant system’s IPv4 address
IPv6 Address
The resultant system’s IPv6 address
Network Subnet
The system’s network subnet mask
Network Gateway
The system’s network gateway’s IPv4 address
IPv6 Gateway
The system’s network gateway’s IPv6 address
Management IP Address
An optional IP address (IPv4 or IPv6) of a “management” server for the resultant system (e.g. for ILO)
Management IP Netmask
The subnet mask (IPv4 or IPv6) used by a “management” server for the resultant system (e.g. for ILO) - only needed if the Management IP Address is provided
Management IP Gateway
The IP address (IPv4 or IPv6) of the network gateway used by a “management” server for the resultant system (e.g. for ILO) - only needed if the Management IP Address is provided
Management Interface
The network interface used by a “management” server for the resultant system (e.g. for ILO) - only needed if the Management IP Address is provided. Must not be the same as “Interface Name”.
Network MTU

The system’s network’s MTU. Despite being a text field, this can only be 1500 or 9000 - it should almost always be 1500

Disk for OS Install
The disk on which to install the base system. A reasonable default is sda (the /dev/ prefix is not necessary)
Root Password
The password to be used for the root user. Input is hashed using MD5 before being written to disk
Confirm Root Password
Repeat the ‘Root Password’ to be sure it’s right
Interface Name

Optional. The name of the resultant system’s network interface. Typical values are bond0, eth4, etc. If bond0 is entered, a Link Aggregation Control Protocol bonding configuration will be written

Stream ISO
If this is ‘yes’, then the download will start immediately as the ISO is written directly to the socket connection to Traffic Ops. If this is ‘no’, then the download will begin only after the ISO has finished being generated. For almost all use cases, this should be ‘yes’.

Implementation Detail

Traffic Ops uses Red Hat’s Kickstart <https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/installation_guide/chap-kickstart-installations> to create these ISOs, so many configuration options not available here can be tweaked in the Kickstart configuration file.

User Admin

This section offers administrative functionality for users and their permissions.

The 'User Admin' Menu

Fig. 17 The ‘User Admin’ Menu

User

This page lists all the users that are visible to the user (so, for ‘admin’ users, all users will appear here). Each entry in the table on this page has the following fields:

Full Name:The user’s full, real name
Username:The user’s username
Email:The user’s email address
Tenant:The user’s Tenant
Role:The user’s Role

User management includes the ability to (where applicable):

  • register a new user
  • create a new user
  • update an existing user
  • view Delivery Services visible to a user

Note

If OAuth is enabled, the username must exist both here as well as with the OAuth provider. A user’s rights are defined by the role assigned to the user in Traffic Ops. Creating/deleting a user here will update the user’s role but the user needs to be created/deleted with the OAuth provider as well.

Tenants

Each entry in the table of Tenants on this page has the following entries:

Name:The name of the Tenant
Active:If ‘true’ users of this Tenant group are allowed to login and have active Delivery Services
Parent:The parent of this Tenant. The default is the ‘root’ Tenant, which has no users.

Tenant management includes the ability to (where applicable):

Roles

Each entry in the table of Roles on this page has the following fields:

Name:The name of the Role
Privilege Level:
 The privilege level of this Role. This is a whole number that actually controls what a user is allowed to do. Higher numbers correspond to higher permission levels
Description:A short description of the Role and what it is allowed to do

Role management includes the ability to (where applicable):

Note

Roles cannot be deleted through the Traffic Portal UI

Other

Custom menu items. By default, this contains only a link to the Traffic Control documentation.

The 'Other' Menu

Fig. 18 The ‘Other’ Menu

Docs

This is just a link to the Traffic Control Documentation.

Custom Menu Items

This section is configurable in the traffic_portal_properties.json configuration file, in the customMenu section.