Technical Guide
Last updated
Last updated
The table shows the configuration options available in the Support Agent table. It contains settings for the Find Me feature, active location tracking, and custom log file submission. The default values for each setting are laid out. It also provides information on when each configuration was introduced.
Field | Description |
---|---|
The submitLogs table controls the settings for uploading log files from other applications to Splunk or Azure. The table includes settings for enabling or disabling log file submission, specifying the directories to be uploaded, and setting the hours of the day when the log files should be uploaded.
The logdirectories table stores information about the log files that should be submitted to Splunk or Azure. By configuring the settings in the table, you can ensure that the log files are uploaded to the desired destination at the desired time.
In the sample configuration below, you can set when and where the log files are uploaded. If submitLogs is set to true, it will enable log file submission. When log file submission fails, there won't be any notification alert if alarmEnabled is set to false. When the device boots up and sendOnBoot is set to false, log files won't be automatically uploaded. Use the example below as a guide:
The Support Application generates different events, with each event containing specific data points. Some data points are common to all events.
The following details the different events that are supported.
A custom application log used by individual applications to indicate an action has occurred.
Event indicates the usage of an application. The event is generated when the user changes to another application, and will log the details of the previous application.
Example steps:
User is in Launcher, logs in.
User opens an application A (calculator, or any other app). Uses the app for at least a few seconds.
User goes back to Launcher. The agent should generate an appusage event for the application that was previously opened.
This Event provides application usage for a time period range.
The details.message column will contain a JSON object with the begin and end date ranges, and a data array of objects. Each entry in the array will indicate a different application.
Event indicates the battery has cycled.
A battery cycle is calculated during power change. When the battery level goes up, the incrementmental value change is tracked. Once this incremental value equals to 100, it is considered a battery cycle.
Event indicating a change in Bluetooth state or pairing status.
Event showing BLE information for connected Bluetooth Low Energy devices.
Event indicates the device just booted up. Will start tracking the Settings.
Tracks changes in information or state of the device's cellular service
Event indicates an Exception occurred within the Optiko Agent.
Event is fired to let the server know that this device is still active. Occurs every 15-30 minutes (configurable).
Event gives a list of installed user applications. Generated under these conditions:
On initial start of application (silent initialization, device boot), is not connected to power, and installAppsOnBoot is true.
Power connection change, device is discharging, and installAppsUncradled is true.
Event indicates a warning or error with a device license.
This event is generated when the Find Device processing is occuring.
To indicate that battery is getting low. System typically invokes when battery level gets below 15%.
To indicate that memory is getting low. onLowMemory at application level.
This event is generated when one of four locations are over 80% used. This usage is check on device Boot, when an application is installed or removed, on request (via SilentInitActivity), and on a timer.
Event indicates that the Support Application is missing permissions. Introduced in version 5.14.2.
Tracks information of current network connection.
Describes the properties of a network link. A link represents a connection to a network. It may have multiple addresses and multiple gateways, multiple dns servers but only one http proxy and one network interface.
Event indicates a change in SSID / BSSID. Then event is generated when a Connection Change event occurs.
Event indicates the package / application has been Added to the system.
Event indicates the package / application has been removed from the system.
Event indicating the Charging / Discharging. When a device stops charging (removed from Cradle), this event will be generated indicating the duration of the Charge, begining/ ending Charge, and Rate of Charge per hour. Once the device is begins to charge (placed on Cradle), an event will be generate indicating the Discharge of the battery (duration, beginning/ending charge, rate per hour of discharge).
Use "type" field to determine if a "charge" or "discharge" event session.
If any of the Android Settings (USB, Root Access, etc) change from the BOOT of the device, then this event will be sent out.
Indicates a device has shutdown normally.
Event indicates information concerning logs, storage information, device settings, and device information.
Each of the events have the following common data points.
Some events contain additional device details. These details include the following points: Battery, Network, GPS (location), ScreenState, Foreground APP, and Additional Details (optional).
GPS Location information
Field | Description |
---|---|
Field | Description |
---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
Field | Data Type | Description |
---|---|---|
eventUrl
string Url to send event information. By default sends to BlueFletch Enterprise.
eventAuthKey
string Auth token key name, for use with posting events Azure.
eventAuth
string Auth key value, for use with posting events to Azure.
logUrl
string Host URL to be used when submitting device application logs.
loggingLevel
string Internal logging level. info, debug, error, warn. Default is 'info'.
useSplunk
boolean If desired, the events can be sent directly to Splunk. The eventUrl would need to be overwritten to point to Splunk. This will cause Support tool to send events ONLY to Splunk. Default is false.
splunkUrl
string Used for forwarding events to Splunk as well as normal event url. This should be the Host/Port of the Splunk Event Collector.
splunkAuthToken
string Auth token defined within the Splunk Event Collector.
splunkLogAuth
string Splunk auth token used when submitting application logs to Splunk.
splunkSource
string If using Splunk, if desired, use this field to identify the source.
splunkSourceType
string If using Splunk, if desired, use this field to identify the source type.
splunkApiPath
string If using Splunk, if desired, use this field to identify the additional path into API. Example: 'services/collector/raw'.
splunkApiLogPath
string The Splunk collector path used when submitting device logs to Splunk.
ignoreSSLCerts
boolean indicates to ignore SSL Certificate issues during Splunk event posting. Default is false.
loggingConnection
string Connection information on uploading to AZURE blob storage.
loggingContainer
string AZURE Blob Storage Container name.
detailedNetwork
boolean Allows for detailed network reporting. Default is false.
detailedCellularChanges
boolean Allows for detailed cellular change reporting. Determines if a detailed event of cellular information is reported when cellular strength changes.
installAppsUncradled
boolean If the Device is Un-cradled, and this flag is true, will send the Installed Applications event. Default is true.
installAppsOnBoot
boolean During Reboot processing, if the device is un-cradled, and this flag is true, will send the Installed Applications event. Default is true.
heartBeatTimerMinutes
integer Heartbeat event is fired every x minutes. The value of this parameter can not be less than 10 minutes. Default is 20.
samplingTimer
integer Application sampling timer. Timer runs to track which application is in the foreground. Value is represented in seconds. Default is 1800.
lowStorageTimer
integer Alarm setting for low storage checking. The number of seconds before firing the alarm. Default is 14400.
collectTopBandwidthHour
integer The hour of the day when Topbandwidth event should be sent. Default is 3.
collectTopBandwidth
boolean Should the topbandwitdh event be sent. Default is false.
maxReturnedBackgroundProcs
integer Number of background processes to track. Used within UI display processing. Default is 5.
maxDaysToSave
integer Max Days to keep event data. Value is represented in days. Default value is 31.
maxDaysEventsSave
integer Max Days to keep Non-Posted Event data. If no Network or no Org ID for 10 days, the data is thrown away. Default value is 10.
eventProcessPhone
boolean If true, Support Tool generates phone events when phone calls are received.
speedTestUrl
string The URL used for speed test processing.
speedTestPing
string The URL used for PING during Speed test.
orgId
string For reporting purposes, the organization Id that the events belong to.
orgPhone
string Organization support phone number. Displayed within Help Desk UI.
orgTicketUrl
string Organization Support Ticket URL. Used within Help Desk UI.
orgTicketBrowser
string Package name for an alternative browser to override the default browser displaying orgTicketUrl
.
helpAdminHash
string Admin password used for Device actions (factory reset, wifi reapply).
allowPhone
boolean Indicates allow the Help Desk Calling to be used. Default is true.
dateTimeFormat
string A format string for displaying Date / Time. Marshmallow has a bug that does not allow the user to change the format, this is to get around that bug. Default is "yyyy-MM-dd 'at' HH:mm:ss zzz".
findMeAutoEnabled
boolean Auto Find Me enabled. Default is true.
findMePlayMedia
boolean For the Find Me Feature, Play Media (true) or play a Notification Sound (false). Default is true.
findMePlayInternalMedia
boolean If true, will play the internal Media, otherwise uses the information defined in findMeExtenalMedia. Default is true.
findMeTimeToPlay
integer For LONG plays, the number of minutes to play. Default is 10.
findMeTimeToPlayShort
integer For short sound notifications, the number of minutes to play. Short is defined by Low Battery notification or battery notifications under Warning level value. Default is 1.
findMeExternalMedia
string A path to external media to play during the Find Me notification.
findMeBatteryLevelWarning
integer The battery level to start sending Find Me notifications and play a Short sound. This is different than the systems Low Battery action. Default is 10.
findMeLowBatteryExternalMedia
string A path to external media to play during the Low Battery notification. Introduced in 5.15.5.
findMeIgnoreScreenState
boolean Ignore Screen State. If the value is false, Support Agent will NOT play an alert sound when the screen is on (only a visual message is presented to the user). If the value is true, Support Agent will ignore the screen state and will always play the sound. The default state is set to true.
findMeMovementThresholdSeconds
integer Wait for given number of seconds of non-movement before playing, 0 to disable. Default is 0 (disabled).
findMeStopAlertOnMotion
boolean Stop Alerting if Motion. If true and the alert is happening and the device is moving, turn alert off. Default is false.
findMeAlarmVolume
integer This allows for changing the Find Me alarm volume. Is a value from 50 to 100 and represents percentage of max volume. Default is 100. Introduced in 5.15.5.
findMeLowBatteryAlarmVolume
integer This allows for changing the Low Battery alarm volume. Is a value from 50 to 100 and represents percentage of max volume. Default is 100. Introduced in 5.15.5.
activeLocationTracking
boolean Active Location Tracking enabled. Default is true. Introduced in version 5.6.2.
activeLocationIntervalSeconds
integer If activeLocationTracking
is true
, GPS Active Location Tracking will be invoked at this interval (in seconds) if no movement has been detected from the device during that time. Default is 10. Introduced in version 5.6.2.
activeLocationMinDistance
integer Minimum distance change, in meters, for GPS update to occur. Default is 1. Introduced in version 5.6.2.
object Defines custom log file submission. Used if desire to upload log files from other applications to Splunk or Azure Blob Storage.
allowSpeedTestUI
boolean Used to hide or show the Speed Test button in Dashboard. Default state is set to true.
enabled
boolean Are log submission files enabled. Valid values are "true" and "false", defaults to "false".
alarmEnabled
boolean If should upload log files at a certain time interval. Valid values are "true" and "false", defaults to "false".
hourOfDayToSend
integer If alarmEnabled, this indicates the hour of the day to send the log files
sendOnBoot
boolean Should log files be sent on boot of the device. Valid values are "true" and "false", defaults to "false".
object Array of Log Directory objects, that indicate what should be uploaded. NOTE This only works on Android 10 and below, as Support Application will not have access to parts of the file system.
multipleHoursOfDayToSend
string If alarmEnabled, this indicates the hour(s) of the day which logs will be sent between 0 and 23. Based on the device time and repeats daily.
application
string Name of the Application. If sending to splunk will be used as the sourceType.
location
string Path on the device where the log files exist. NOTE This only works on Android 10 and below, as Support Application will not have access to parts of the file system.
files
string Name of the file to upload. This can be represented as a regular expressiion.
extractor
string If a custom extractor is needed to reformat the data. Currently on CSV reformatting is supported.
airplaneMode
Boolean
Indicates whether the device currently has airplane mode enabled.
cellularState
String
Indicates the current state of the device's cellular service (i.e., 'CONNECTED' and 'DISCONNECTED').
network
Object
Collection of wifi information that includes whether or not wifi is enabled.
details.tag
String
Defines a category for the applog event occurring (e.g. "loginStart"
, userReauth
, RemoteSessionInfo
, etc.).
details.message
String
Additional information on the logged event. Often logged JSON data or a brief description such as an error message.
details.package
String
Package name of the application logging the event.
startTime
Date/Time
Calculated start time of the application launch.
endTime
Date/Time
Date/Time when application went into background.
duration
long
Length of time, in seconds, that the application was in the foreground.
screenOnDuration
long
Length of time, in seconds, that the screen was on while application in foreground.
packageName
String
Name of the package representing the application.
packageLabel
String
The display name of an application.
details.message
String
An JSON object with execution time and array of applications.
bluetooth
Object
Collection of events with information on Bluetooth state and paired devices.
details.tag
String
Defines a category for the Bluetooth event occurring: "bluetooth_pairing_request"
, "bluetooth_state_change"
, "bluetooth_connected"
, or "bluetooth_disconnected"
.
details.message
String
Contains a JSON representation of data from the BLE device.
deviceSettings
Object
Collection of Settings information: devMode
, adbEnabled
, usb
, rootAccess
, disabledlockScreen
.
devicedetails
Object
Collection of OS related information: os
, build
, kernel
, type
.
ntpServer
String
IP address of a device's configured NTP server.
airplaneMode
Boolean
Indicates whether the device currently has airplane mode enabled
cellularState
String
Indicates the current state of the device's cellular service (i.e., 'CONNECTED' and 'DISCONNECTED')
cellularNetwork
String
The type of the cellular network that the device is using (e.g., 'LTE')
cellularInfo
String
An array printed as a string that describes the cellular network
lastCellularLevel
int
Signal level of the cellular network
wifiInfo
Object
Collection of wifi information that includes whether or not wifi is enabled
gps
Object
Collection of GPS information that includes whether it's enabled and where the device is
stackTrace
String
The stack trace of the error
airplaneMode
Boolean
Indicates whether the device currently has airplane mode enabled
cellularState
String
Indicates the current state of the device's cellular service (i.e., 'CONNECTED' and 'DISCONNECTED')
network
Object
Collection of wifi information that includes whether or not wifi is enabled
bluetooth
Object
Collection of events with information on Bluetooth state and paired devices.
appdetails
Array List
Array of objects contain "label", "name" and "ver" of packages installed.
details.message
String
An array list of the missing permissions.
dnsServer
List<InetAddress>
List of IP address of DNS servers
domains
String
The DNS domains search path set for this link
proxyHost
String
The host of the proxy
proxyPort
int
The port of the proxy
proxyExclusionList
String[]
List of hosts for which the proxy is ignored
interfaceName
String
Interface name for this link
linkAddresses
ArrayList<LinkInformation>
List of LinkInformation that contains: host InetAddress, host flags, host scope
routes
ArrayList<RouteInformation>
List of information of all routes set to this link
detailedState
String
Reports the current fine-grained state of the network.
extraInfo
String
Report the extra information about the network state, if any was provided by the lower networking layers.
isAvailable
Boolean
Indicates whether network connectivity is possible.
isFailover
Boolean
Indicates whether the current attempt to connect to the network resulted from the ConnectivityManager trying to fail over to this network following a disconnect from another network.
isConnected
Boolean
Indicates whether network connectivity exists and it is possible to establish connections and pass data.
isRoaming
Boolean
Indicates whether the device is currently roaming on this network. When true, it suggests that use of data on this network may incur extra costs.
networkType
Integer
Reports the type of network (mobile, wifi, wimax, ethernet, bluetooth)
state
String
Reports the current coarse-grained state of the network.
subtype
Integer
Return a network-type-specific integer describing the subtype of the network.
subtypeName
String
Return a human-readable name describing the subtype of the network.
typeName
String
Return a human-readable name describe the type of the network, for example "WIFI" or "MOBILE".
reason
String
Report the reason an attempt to establish connectivity failed, if one is available.
connected
Boolean
Indicates whether network connectivity exists and it is possible to establish connections and pass data.
hiddenSSID
Boolean
true
if this network does not broadcast its SSID, so an SSID-specific probe request must be used for scans.
bssid
String
Return the basic service set identifier (BSSID) of the current access point. The BSSID may be null if there is no network currently connected.
linkSpeed
Integer
Returns the current link speed in Mbps.
networkId
Integer
Each configured network has a unique small integer ID, used to identify the network when performing operations on the supplicant.
ssid
String
Returns the service set identifier (SSID) of the current 802.11 network.
roaming
Boolean
Indicates whether the device is currently roaming on this network. When true, it suggests that use of data on this network may incur extra costs.
rssi
Integer
Returns the received signal strength indicator of the current 802.11 network, in dBm.
macAddress
String
Returns device's MAC address.
connectType
String
Type of network connection. Values are "WIFI"
and "MOBILE"
.
connectSubtype
String
Return a human-readable name describing the subtype of the network.
ipAddress
String
Return device's IP address.
frequency
Integer
Returns the current frequency in MHz.
gateway
String
Returns the gateway address.
dns1
String
Domain Name Server name.
dns2
String
Alternate Domain Name Server name.
proxy
String
Defines the http proxy configuration.
savedNetworks
ArrayList<String>
List of SSIDs of saved networks.
startTime
Date/Time
Start Date/time of the connection
endTime
Date/Time
Date/Time when connection lost
duration
long
Duration, in seconds, of the connection
minRssi
long
Minimum Rssi value duration connection
maxRssi
long
Maximum Rssi value duration connection
avgRssi
double
Average Rssi value duration connection
ssid
String
SSID of the Connection
bssid
String
BSSID of the Connection
appdetail
contains package Label, Name and the Version
appdetail
Contains the name of the Package.
type
String
indicates either a CHARGE or DISCHARGE session
startTime
Date/Time
Start Date/Time of session
endTime
Date/Time
Ending Date/Time of session
duration
long
Length, in seconds, of the session
startCharge
long
Charge value at the beginning of session
endCharge
long
Charge value at the end of session
ratePerHour
double
Rate per hour of the charge or discharge
projectedHour
long
Projected number of hours to discharge or charge the device
time
Date
The date/time the event was generated.
orgId
String
The organization ID to which the device belongs.
origin
String
Indicates "handheld".
originModel
String
Device model identifier (e.g. TC21, CT60, etc.).
version
Integer
Support Agent application version number.
event
String
The event name.
deviceId
String
The device serial number.
userSettings
Map<String, String>, converted to JSON Array
Key/value pairs of user application settings. i.e. StoreNumber, User Id, etc.
foregroundApp
String
Package / Application that is currently in the foreground when event generated
screenState
String
Screen ON or OFF
details
Hash Map
Key / value pairs of different data points. Most likely from other applications.
permissionsAppUsage
Boolean
1 or 0 to indicate if the Optiko Agent as permissions to use AppUsage data. If the field does not exist, then device does not support application usage permissions.
activeAdmins
Array List
List of package names that are currently set as Device Administrator applications. Package name strings separated with a comma (e.g. [“com.airwatch.admin.motorolamx”,“com.google.android.gms”]
).
accessPoints
Array List
List of the network access points nearest to a device; the results of a WiFi scan via the Support Agent application.
airplaneMode
Boolean
Indicates whether the device currently has airplane mode enabled
cellularState
String
Indicates the current state of the device's cellular service (i.e., 'CONNECTED' and 'DISCONNECTED')
battery
Object
Battery information. See Battery for details.
gps
Object
GPS information. See GPS for details
network
Object
Network information. See Network for details
technology
String
battery tech, ex: Li-ion
connectionState
String
If charging, how is the battery connected: USB, Wireless, etc
health
String
The health of the battery, as detected by the OS. Good, Bad, etc.
serialNumber
String
The Battery serial Number
status
String
Battery status, charging or discharging
voltage
int
Battery voltage
temperature
double
Current battery temperature
charge
double
Current charge on battery
maxCapacity
double
Maximum charging capacity of device's battery, which registers as fully-charged (e.g.100
, 97
, etc.).
manufactureDate
Date
Battery manufacture date.
partNumber
String
Part number for battery. Prefix is "21-” or “82-” (e.g. "21-xxxxx-01 Rev. X"
).
backupBatteryVoltage
String
Backup battery voltage.
ratedCapacity
String
Rated capacity of the battery.
decommissionStatus
String
Decommission status of the battery.
baseCumulativeCharge
String
Cumulative charge using Zebra charging equipment only.
noOfChargeCycle
String
Number of charge cycles.
totalCumulativeCharge
String
Cumulative charge using any (Zebra or non-Zebra) charging equipment.
secondsSinceFirstUse
String
Number of seconds passed since the battery was placed in a charger/terminal for the first time.
presentCapacity
String
Maximum amount of charge that could be pulled from the battery under the present discharge conditions if the battery is fully charged.
healthPercentage
String
Battery health indicator in percentage (0 to 100).
timeToEmpty
String
Remaining time until the device becomes unusable under current discharge conditions. If the returned value is "65535"
, then timeToEmpty
is considered to be unknown.
timeToFull
String
Time until battery is fully charged under present charging conditions. If the returned value is "65535"
, then timeToFull
is considered to be unknown.
state
String
Bluetooth enabled status; "on"
or "off"
.
device
Array List
Objects consisting of string values for paired devices' deviceName
, connectionStatus
, macAddress
, category
, and subCategory
.
gpsEnabled
boolean
Is GPS Location enabled
netEnabled
boolean
Is Network Location enabled
passiveEnabled
boolean
Is Passive Location enabled
gpsLat
String
Latitude according to GPS Location
gpsLong
String
Longitude according to GPS Location
netLat
String
Latitude according to Network Location
netLong
String
Longitude according to Network Location
passiveLat
String
Latitude according to Passive Location
passiveLong
String
Longitude according to Passive Location
connectionSubType
String
battery tech, ex: Li-ion
connectType
String
Type of network connection. Values are "WIFI"
and "MOBILE"
.
connected
boolean
connected (1) or not connected (0)
ssid
String
Current SSID
ipAddress
String
AP Ip Address
linkSpeed
int
Link Speed
networkId
Int
Network ID
isRoaming
boolean
Is the device roaming.
rssi
int
RSSI value, indicates Signal Strength
hiddenSSID
boolean
Is the SSID Hidden