ThousandEyes

dpodgors
Contributor

Anyone in JAMFnation use it? Pros Cons? How bad is it to implement and have you seen any degradation on the Mac's?

Thanks in advance.

8 REPLIES 8

DMH2000
Contributor

Newby here, so want to apologize if I tread on any toes... ThousandEyes has barely any documentation for Enterprise Deployment. They want you to install and use Munki to make a package. Kind of ridiculous since I have done all of the company installs through Composer and MacAdmins packages. I just imported their package into Jamf and thanks to Jamf users, I got the extensions pushed via Configuration Profiles. Here is the borrowed script and my pictures for Google Chrome.
You would load ddnennmeinlkhkmajmmfaojcnpddnpgb into Extension ID 1

{ "title": "Google Chrome Extensions (com.google.Chrome)", "description": "Install extensions in Google Chrome", "properties": { "ExtensionInstallForcelist": { "title": "Extension Install Forcelist", "description": "Add extension IDs. Paste the extension ID in front of the default text.", "property_order": 5, "type": "array", "items": { "title": "Extension ID", "default": "<paste extension ID here>;https://clients2.google.com/service/update2/crx", "type": "string" } } } }

853ea10da9624f86890cf8f63e941b95
dafb9012dc0b481cb5c45434d994eeb7

DMH2000
Contributor

Here's another one for Microsoft Edge for Chromium. Just jostled the script for com.microsoft.Edge:
You would load obdencanbejmhpbikpcgkdflkffifoof into Extension ID 1

{ "title": "Microsoft Edge Extensions (com.microsoft.Edge)", "description": "Install extensions in Microsoft Edge", "properties": { "ExtensionInstallForcelist": { "title": "Extension Install Forcelist", "description": "Add extension IDs. Paste the extension ID in front of the default text.", "property_order": 5, "type": "array", "items": { "title": "Extension ID", "default": "<paste extension ID here>;https://edge.microsoft.com/extensionwebstorebase/v1/crx", "type": "string" } } } } 1f00070079d748fe9a9f53b39fea7508

DMH2000
Contributor

I would think you could also just do a straight Plist. This is for Google Chrome extension: Preference Domain: com.google.Chrome

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ExtensionInstallForcelist</key> <array> <string>ddnennmeinlkhkmajmmfaojcnpddnpgb;https://clients2.google.com/service/update2/crx</string> </array> </dict> </plist>

This one for the MS Edge for Chromium extension: Preference Domain: com.microsoft.Edge

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>ExtensionInstallForcelist</key> <array> <string>obdencanbejmhpbikpcgkdflkffifoof;https://edge.microsoft.com/extensionwebstorebase/v1/crx</string> </array> </dict> </plist>

DMH2000
Contributor

Here is a walk through of how to install the configuration file after the app has been installed, using Composer:

  1. Download agent from your ThousandEyes Portal      

DMH2000_0-1644009315247.jpeg

  1. Download zip file (will be in Downloads Folder)            

DMH2000_1-1644009315249.jpeg

  1. Open zip file, you will see the folder and 2 files:          

DMH2000_2-1644009315253.jpeg

  1. Install the application from the package.
  2. Open Composer - Add 'ThousandEyes Endpoint Agent.app' 
  3. Copy 'installation-config.te-endpoint-agent' file (from the opened zip folder) to root of app, in Composer:

DMH2000_3-1644009315258.png

  1. Add PostInstall Script: "/Applications/ThousandEyes Endpoint Agent.app/Contents/MacOS/te-agent" --applyconfig "/Applications/ThousandEyes Endpoint Agent.app/installation-config.te-endpoint-agent"

DMH2000_4-1644009315263.png

  1. Then change permissions
  2. Select 'Build as PKG' and upload it to JAMF.
  3. Deploy to Test computer(s)

agent23tv
New Contributor II

When I tried it this way it crashes with the message "ThousandEyes Endpoint Agent" is damaged and can't be opened. You should move it to the Trash. It still installs even though this message is displayed and then another pop-up stating it can't be moved to the trash.

jimmy-swings
Contributor II

I tend to simply processes such as these so that an update can be managed by junior members of the team. In my case, I've created an installation script (below), and the team follow the following steps to upload updates:

  1.  Download and open zip file 
  2. Upload the package "Endpoint Agent -x64-<version>.pkg" to a distribution share
  3. Update Jamf Policy "ThousandEyes Agent Installer" with new package version
  4. Test deployment

 

Installation Script (abridged to include only relevant steps)

 

#!/usr/bin/env zsh

# Script Name:  Application - ThousandEyes - Install.zsh
# Description:  Activates the application to vendor specifications
# Author:       james.stracey@mac.com

APPLICATION_PATH="/Applications/ThousandEyes Endpoint Agent.app"
JAMF_BINARY="/usr/local/bin/jamf"
TE_CONFIGURATION_KEY="xxx"

# Step 1: Install application
    if [ ! -f "${APPLICATION_PATH}/Contents/Info.plist" ]; then
        write_log "Executing installation..."
        "$JAMF_BINARY" policy -event thousandeyes-install -forceNoRecon
    fi

# Step 2: Create configuration file
    # setup temp folder
    TMP_PATH=$(mktemp -d -t ci)  || exit 1
    write_log "TMP_PATH: ${TMP_PATH}"

    # write out configuration file
    echo "${TE_CONFIGURATION_KEY}" > "${TMP_PATH}/te-endpoint-agent"

# Step 3: Configure the application
    if [ ! -f "${APPLICATION_PATH}/Contents/MacOS/te-agent" ]; then
        write_log "Installation failed..."
        ERROR_CODE=1
    else
        write_log "Applying configuration..."
        "${APPLICATION_PATH}/Contents/MacOS/te-agent" --applyconfig "${TMP_PATH}/te-endpoint-agent"
    fi

# Step 4: Remove working files
    # remove temp folder
    if [ -d "${TMP_PATH}" ]; then
        write_log "Removing temp folder..."
        rm -rf "${TMP_PATH}"
    fi

exit ${ERROR_CODE}

 

thank you...but this doesnt seem to register the agent to the portal. 

when deploying in the policy, it says that the script was not found.

jimmy-swings
Contributor II

With recent versions you can now simply use the --register flag and pass in your connection string.

"${APPLICATION_PATH}/Contents/MacOS/te-agent" --register "${CONNECTION_STRING}"