Overview
This article specifies what data is shared with Ubiquiti via the automatic stability issues reporting.
Table of Contents
Introduction
Ubiquiti’s goal is to improve products intelligently, by tracking and prioritizing the most common errors and analyzing device usage scenarios. Issue Reporting enables the team to fix issues quickly and improve product design by having a better understanding of real customers’ use cases. With that in mind, the data shared with the developer team is limited to information and configuration which doesn’t have personal character. That is why all IP addresses, MAC addresses, SSIDs and any unnecessary information is omitted from the reported data. No sensitive configuration files nor memory content that could contain private data is disclosed during the crash report. Please see an example of a real set of reported data in the section below.
Reporting of the stability issues is always disabled by default. When enabled, it can be turned off at any time in the Device Reporting section of the System Settings.
Sample Data Export
The crash report example below is from a real case and is shown unencrypted to reveal the data that is being sent. Please note that in reality, all this data is sent encrypted.
0000: POST /api/v1/core-dump HTTP/1.1
0021: Host: crash.ubncloud.com
003b: User-Agent: curl/7.56.1
0054: Accept: text/plain
0068: Content-Length: 6735
007e: Content-Type: multipart/form-data; boundary=--------------------
00be: ----0b766c39e0874750
00d4: Expect: 100-continue
00ea:
<= Recv SSL data, 5 bytes (0x5)
0000: ....1
<= Recv header, 23 bytes (0x17)
0000: HTTP/1.1 100 Continue
=> Send SSL data, 5 bytes (0x5)
0000: ....g
=> Send data, 6735 bytes (0x1a4f)
0000: --------------------------0b766c39e0874750
002c: Content-Disposition: form-data; name="device_id"
005e:
0060: 2ceea556604004d5cc7889f934e63ca6
0082: --------------------------0b766c39e0874750
00ae: Content-Disposition: form-data; name="bomrev"
00dd:
00df: 13-02639-07
00ec: --------------------------0b766c39e0874750
0118: Content-Disposition: form-data; name="model"
0146:
0148: EPX-24V-72W
0155: --------------------------0b766c39e0874750
0181: Content-Disposition: form-data; name="version"
01b1:
01b3: v1.8.0-alpha.e755e6.200506.0144
01d4: --------------------------0b766c39e0874750
0200: Content-Disposition: form-data; name="system_time"
0234:
0236: 2020-05-06T11:47:41
024b: --------------------------0b766c39e0874750
0277: Content-Disposition: form-data; name="kernel_version"
02ae:
02b0: 4.9.58
02b8: --------------------------0b766c39e0874750
02e4: Content-Disposition: form-data; name="architecture"
0319:
031b: mips
0321: --------------------------0b766c39e0874750
034d: Content-Disposition: form-data; name="load_average"
0382:
0384: 0.21 0.39 0.24
0394: --------------------------0b766c39e0874750
03c0: Content-Disposition: form-data; name="df"
03eb:
03ed: Filesystem 1K-blocks Used Available Use% Mounted
042d: on./dev/root 5376 5376 0 100% /.tmp
046d: fs 9216 428 8788 5% /var.dev
04ad: 30000 0 30000 0% /dev
04e5: --------------------------0b766c39e0874750
0511: Content-Disposition: form-data; name="free"
053e:
0540: total used free shared buffers cached.Mem
0580: : 60004 20588 39416 428 1316
05c0: 8288.-/+ buffers/cache: 10984 49020.Swap:
0600: 0 0 0
061a: --------------------------0b766c39e0874750
0646: Content-Disposition: form-data; name="ps"
0671:
0673: PID USER VSZ STAT COMMAND. 1 ubnt 1356 S /sbin/
06b3: init. 2 ubnt 0 SW [kthreadd]. 3 ubnt 0 S
06f3: W [ksoftirqd/0]. 4 ubnt 0 SW [kworker/0:0]. 5
0733: ubnt 0 SW< [kworker/0:0H]. 6 ubnt 0 SW [kw
0773: orker/u2:0]. 7 ubnt 0 SW< [lru-add-drain]. 78 ubnt
07b3: 0 SW [oom_reaper]. 79 ubnt 0 SW< [writebac
07f3: k]. 81 ubnt 0 SW< [crypto]. 82 ubnt 0 SW<
0833: [bioset]. 84 ubnt 0 SW< [kblockd]. 124 ubnt
0873: 0 SW [kswapd0]. 183 ubnt 0 SW [spi0]. 208 ubnt
08b3: 0 SW< [bioset]. 213 ubnt 0 SW< [bioset]. 218 ub
08f3: nt 0 SW< [bioset]. 223 ubnt 0 SW< [bioset].
0933: 228 ubnt 0 SW< [bioset]. 233 ubnt 0 SW< [bios
0973: et]. 288 ubnt 0 SW [kworker/u2:2]. 319 ubnt
09b3: 0 SW< [ipv6_addrconf]. 327 ubnt 0 SW< [kworker/0:1H].
09f3: 409 ubnt 1356 S /bin/watchdog -t 1 /dev/watchdog. 599
0a33: ubnt 920 S thd --triggers /usr/etc/triggerhappy/trigge
0a73: rs.d/ /de. 600 ubnt 5240 S /bin/lvmonitor. 601 ubnt
0ab3: 5252 S /bin/psu-monitord. 605 ubnt 1356 S {dhcpre
0af3: new.sh} /bin/sh /bin/dhcprenew.sh. 608 ubnt 5240 S /bin
0b33: /ulogger. 609 ubnt 4408 S /bin/udapi-bridge -w -g -k -p
0b73: 61780. 610 ubnt 1600 S /bin/udapi-server -g. 611 ubnt
0bb3: 5240 S /bin/pingwd. 612 ubnt 1356 S -sh. 624
0bf3: ubnt 920 S script -q -c ip monitor link | grep 'state U
0c33: P group . 625 ubnt 1356 S {dhcprenew.sh} /bin/sh /bin/d
0c73: hcprenew.sh. 626 ubnt 1356 S sh -c ip monitor link | gr
0cb3: ep 'state UP group default. 628 ubnt 1384 S ip monitor
0cf3: link. 629 ubnt 1356 S grep state UP group default. 678
0d33: ubnt 5324 S {exe} /bin/udapi-bridge -w -g -k -p 61780.
0d73: 2309 ubnt 0 SW [kworker/0:3].23098 ubnt 0 SW
0db3: [kworker/0:1].23174 ubnt 5376 S /bin/infctld.23175 ubnt
0df3: 1360 S /bin/syslogd -n -S -O /var/log/messages.internal
0e33: .23176 ubnt 1356 S /sbin/udhcpc -f -i br0 -s /etc/udhcpc
0e73: /udhcpc -p /var.23177 ubnt 1064 S /bin/dropbear -F -r /e
0eb3: tc/persistent/dropbear_rsa_hos.23203 ubnt 3788 S /bin/li
0ef3: ghttpd -D -f /etc/lighttpd.conf.23258 ubnt 1360 S /bin/c
0f33: rond -f.23297 ubnt 1132 S /bin/dropbear -F -r /etc/persi
0f73: stent/dropbear_rsa_hos.23303 ubnt 1360 S -sh.23400 ubnt
0fb3: 0 SW [kworker/u2:1].23773 ubnt 1356 S sleep 10
0ff3: 00.23776 ubnt 1372 S {crash-handler.s} /bin/sh /bin/cras
1033: h-report/crash-ha.23796 ubnt 0 Z [status.cgi].23811 u
1073: bnt 1356 R ps
108a: --------------------------0b766c39e0874750
10b6: Content-Disposition: form-data; name="uptime"
10e5:
10e7: 25429.46
10f1: --------------------------0b766c39e0874750
111d: Content-Disposition: form-data; name="cmd"
1149:
114b: sleep
1152: --------------------------0b766c39e0874750
117e: Content-Disposition: form-data; name="cmd_fullpath"
11b3:
11b5: !bin!busybox
11c3: --------------------------0b766c39e0874750
11ef: Content-Disposition: form-data; name="cmd_envvars"
1223:
1225: SSH_CLIENT=censored-ipv4 36268 22.USER=ubnt.SHLVL=1.OLDPWD=/var/
1265: etc/persistent.HOME=/etc/persistent.SSH_TTY=/dev/pts/1.PS1=EPX.v
12a5: 1.8.0-alpha.e755e6.200506.0144# .LOGNAME=ubnt.TERM=xterm-256colo
12e5: r.PATH=/usr/bin:/bin:/usr/sbin:/sbin.SHELL=/bin/sh.PWD=/tmp.SSH_
1325: CONNECTION=censored-ipv4 36268 censored-ipv4 22
1356: --------------------------0b766c39e0874750
1382: Content-Disposition: form-data; name="cmdline_params"
13b9:
13bb: sleep 1000
13c7: --------------------------0b766c39e0874750
13f3: Content-Disposition: form-data; name="signal"
1422:
1424: 11
1428: --------------------------0b766c39e0874750
1454: Content-Disposition: form-data; name="file_descriptors"
148d:
148f: dr-x------ 2 ubnt admin 0 May 6 11:47 ..dr-xr
14cf: -xr-x 8 ubnt admin 0 May 6 11:47 ...lrwx-----
150f: - 1 ubnt admin 64 May 6 11:47 0 -> /dev/pts/1.
154f: lrwx------ 1 ubnt admin 64 May 6 11:47 1 -> /d
158f: ev/pts/1.lrwx------ 1 ubnt admin 64 May 6 11:4
15cf: 7 2 -> /dev/pts/1
15e2: --------------------------0b766c39e0874750
160e: Content-Disposition: form-data; name="memory_map"
1641:
1643: 00400000-0044f000 r-xp 00000000 1f:03 372 /bin/busybox.00
1683: 45e000-0045f000 r-xp 0004e000 1f:03 372 /bin/busybox.0045
16c3: f000-00460000 rwxp 0004f000 1f:03 372 /bin/busybox.76f780
1703: 00-76f9a000 r-xp 00000000 1f:03 244 /lib/libgcc_s.so.1.76
1743: f9a000-76f9b000 rwxp 00012000 1f:03 244 /lib/libgcc_s.so.
1783: 1.76f9c000-76fbe000 r-xp 00000000 1f:03 271 /lib/librpc.s
17c3: o.76fbe000-76fbf000 r-xp 00012000 1f:03 271 /lib/librpc.s
1803: o.76fbf000-76fc0000 rwxp 00013000 1f:03 271 /lib/librpc.s
1843: o.76fc0000-77053000 r-xp 00000000 1f:03 246 /lib/libc.so.
1883: 77060000-77061000 r--p 00000000 00:00 0 [vvar].77061000
18c3: -77062000 r-xp 00000000 00:00 0 [vdso].77062000-7706400
1903: 0 rwxp 00092000 1f:03 246 /lib/libc.so.77064000-77066000
1943: rwxp 00000000 00:00 0 .7fd88000-7fda9000 rw-p 00000000 00:00 0
1983: [stack].7ffff000-80000000 rwxp 00000000 00:00 0
19bc: --------------------------0b766c39e0874750
19e8: Content-Disposition: form-data; name="crash_log"
1a1a:
1a1c: xxx
1a21: --------------------------0b766c39e0874750--
<= Recv SSL data, 5 bytes (0x5)
0000: .....
<= Recv header, 17 bytes (0x11)
0000: HTTP/1.1 200 OK
<= Recv header, 31 bytes (0x1f)
0000: Server: nginx/1.14.0 (Ubuntu)
<= Recv header, 37 bytes (0x25)
0000: Date: Wed, 06 May 2020 09:48:40 GMT
<= Recv header, 41 bytes (0x29)
0000: Content-Type: text/plain; charset=utf-8
<= Recv header, 19 bytes (0x13)
0000: Content-Length: 2
<= Recv header, 24 bytes (0x18)
0000: Connection: keep-alive
<= Recv header, 25 bytes (0x19)
0000: cache-control: no-cache
<= Recv header, 2 bytes (0x2)
0000:
<= Recv data, 2 bytes (0x2)
0000: OK
Apart from the crash reports, devices also report their basic feature usage statistics and system health metrics periodically. Just like the crash reports, no sensitive information is present in these reports. See an example of such report content below:
{
"coredumps": {
"total": 0
},
"device": {
"identifier": "d7306e5c8bc062e57f2752641f30dc5f",
"bom": "13-02640-07",
"family": "ep",
"fwVersion": "1.7.0",
"fwMeta": "EPX.ar933x.v1.7.0.a3f341.200428.1143",
"fwStage": "release",
"model": "EP-54V-72W"
},
"interfaces": {
"link": {
"connectedCount": 2,
"interfaces10M": 0,
"interfaces100M": 2,
"interfaces1G": 0,
"interfaces10G": 0
},
"poe": {
"count": 2,
"enabledCount": 0,
"enabled54V": 0
},
"sfp": {
"count": 0,
"insertedCount": 0
},
"count": 2
},
"network": {
"config": {
"ipv6Enabled": false
},
"routing": {
"routesV4": 0,
"routesV6": 0
},
"switching": {
"vlanCount": 0
}
},
"reporter": {
"schema": "0.1.0",
"version": "0.1.0"
},
"services": {
"cdpEnabled": false,
"discoveryEnabled": true,
"httpEnabled": true,
"httpsEnabled": true,
"ntpEnabled": false,
"snmpEnabled": false,
"sshEnabled": true,
"syslogEnabled": false,
"syslogRemoteEnabled": false,
"unmsConnected": false,
"unmsEnabled": false
},
"system": {
"loadAvg15": 0.18000000715255737,
"memUsedKB": 11200,
"memUsage": 18,
"rebootReason": "user",
"uptime": 882
},
"meta": {
"reason": null
}
}